home *** CD-ROM | disk | FTP | other *** search
- REM PROGRAM TO REMOVE DUPLICATE FILES FROM MAST.CAT PRINTING
- PRINT " BY MIKE HOBBY (03) 435-2016 4DEC86 "
- PRINT
- PRINT "THIS PROGRAM IS DESIGNED TO WORK WITH MAST.CAT, WHICH IS A"
- PRINT "CATALOG OF CP/M FILES PRODUCED BY CATM.COM "
- PRINT "ITS PURPOSE IS TO ONLY LIST A FILE ONCE & NOTE HOW MANY "
- PRINT "OTHER COPIES EXIST, IT PRINTS TWO COLUMNS PER PAGE "
-
- ON ERROR GOTO BLUE
- LNS=0
- BLANK$=" "
- LINE$ ="###############################################################"
- N%=4
- DISCFLAG=0
- PAGENO=1
- BLANK$=" "
- TOPOF$=CHR$(12)
- INPUT "INPUT COMPUTOR LOCATION ";CPU$
- INPUT "INPUT TO DAY`S DATE";DATE$
- PRINT
- INPUT "ENTER 1 IF YOU WANT DISK NAMES LISTED,ELSE 0 ";DISCFLAG
- DEF HEADG
- PRINT "CATALOG OF FILES ON COMPUTER AT "; CPU$ + BLANK$ + DATE$ +\
- BLANK$;"PAGE ";PAGENO
- PRINT LINE$
- FEND
-
- DEF NEWPAGE
- PRINT TOPOF$
- LNS=0
- PAGENO=PAGENO+1
- CALL HEADG
- FEND
- LPRINTER
- CALL HEADG
- OPEN "MAST.CAT" AS 7
- PRNTFLAG=-1
- COUNT=0
- FIRSTREAD: READ #7; T$ :
- PRINT T$ :LNS=LNS+2
- IF RIGHT$(T$,1) = ")" THEN GOTO SECONDREAD ELSE GOTO FIRSTREAD
- SECONDREAD:
- READ #7; T$,S$
- IF LEFT$(T$,2) = "++" THEN IF DISCFLAG =1 THEN GOTO DISCFILE
- IF LEFT$(T$,2) = "++" THEN GOTO SECONDREAD
- PRINT :LNS=LNS+2
- GETNEXT: READ #7; Z$,V$ : IF END #7 THEN THEEND
- IF Z$=T$ THEN LET COUNT = COUNT + 1 : GOTO GETNEXT
- EXTLOCATE:
- PACKT:
- L = MATCH(".",T$,1)
- L=L-1
- U$=LEFT$(T$,L) : W$=RIGHT$(T$,N%)
- FOR J=1 TO 8 - L : U$=U$+" " : NEXT J
- P$=U$ + W$
- PACKS:
- L = MATCH(".",S$,1)
- L=L-1
- U$=LEFT$(S$,L) : W$=RIGHT$(S$,N%)
- FOR J=1 TO 8 - L : U$=U$+" " : NEXT J
- Q$=U$ + W$:GOTO PRESS
- DISCFILE:
- U$=LEFT$(T$,10) :W$=RIGHT$(S$,4)
- L=MATCH(".",S$,1)
- L=L-1
- M$=LEFT$(S$,L)
- FOR J=1 TO 8-L:M$=M$+" ":NEXT J
- P$=U$+"E"+BLANK$+M$+W$
- PRINT P$
- LNS=LNS+1
- IF LNS GE 110 THEN CALL NEWPAGE
- GOTO SECONDREAD
- PRESS:
- IF COUNT GE 1 THEN LET P3$=" +" + STR$(COUNT) + " MORE" ELSE LET P3$=""
- IF PRNTFLAG = 1 THEN LET COLUMN = 40 ELSE LET COLUMN = 1
- PRINT TAB(COLUMN);P$+" "+Q$+P3$; : IF PRNTFLAG = 1 THEN PRINT
- PRNTFLAG = PRNTFLAG * (-1)
- LNS=LNS+1
- IF LNS GE 110 THEN CALL NEWPAGE
- COUNT = 0 : T$=Z$ : S$=V$
- IF LAST THEN RETURN
- REM IF LEFT$(T$,2) = "++" THEN GOTO SECONDREAD
-
- GOTO GETNEXT
-
- THEEND:
- LAST = -1
- GOSUB EXTLOCATE
- CLOSE 7
- PRINT TOPOF$
- CONSOLE
- PRINT " DONE , COMPLETE , ALL IS FINISHED "
- STOP
- BLUE: PRINT
- PRINT "ERROR :-" ;ERR : PRINT " ON LINE :-" ;ERRL
- END
-
-