Listing of file='PRTFIL.BAS;01' on disk='vmedia/catalog_32-sector.ccvf'
100 REM PRTFIL 32 2/9/81 110 PLOT 12:CLEAR 2000 120 PLOT 6,48,14,3,12,0:PRINT " F I L E N A M E L I S T E R ":PLOT 6,2,15,3,0,5 121 INPUT "DO YOU REQUIRE A SELECTIVE PRINT Y/N? ";YN$:PRINT 122 IF YN$= "Y"THEN 840 130 TM= PEEK (32940)+ PEEK (32941)* 256:DR= PEEK (TM+ 1):DR$= MID$ (STR$ (DR),2)+ ":":PR= PEEK (TM+ 2) 140 FILE "T",610 150 FILE "R",1,"INDEX.INF",1:GET 1,1,9;N1,N2,DMY 160 M= INT (DMY/ 3200):D= INT ((DMY- M* 3200)/ 100):Y= DMY- (INT (DMY/ 100)* 100) 170 FILE "R",2,"FILER",1:GET 2,2304;S1$[1],S2$[1]:F1= ASC (S1$)+ ASC (S2$)* 256 190 R1= 1:R2= 1:T= - 1:F3= F1+ 1 200 PRINT "INDEX CONTAINS "F1" FILES.":PRINT 270 IF PR= 0THEN 380 280 INPUT "OUTPUT TO SCREEN OR PRINTER? ";YN$:PRINT 290 IF YN$= "S"THEN 380 300 IF YN$< > "P"THEN 280 310 PP= 1:INPUT "VERTICAL OR HORIZONTAL FORMAT? ";YN$:PRINT 320 IF YN$= "V"THEN 370 330 IF YN$< > "H"THEN 310 340 INPUT "NUMBER OF COLUMNS AVAILABLE ON PRINTER? ";N:PRINT 350 IF N< 0OR N> 132THEN 340 360 CD= INT (N/ 22):POKE 33289,N 362 INPUT "LINES PER PAGE? ";N:PRINT :N= N- 4 370 INPUT "PRESS ENTER WHEN PRINTER ALIGNED TO TOP OF FORM. ";YN$:PRINT :PLOT 27,13:SL= 5 380 PRINT :PRINT "ALPHABETIZED LISTING OF INDEXED FILES AT "D"/"M"/"Y"":PRINT 420 FOR I= 1TO F1 430 GET 2,I;NA$[6],TY$[3],VE$[1],RN$[1] 460 REM INSERT SELECTIVE PRINT OPTIONS INTO LINES 461-469 463 REM AND SEND DISCARDS TO LINE 560 464 REM YOU MAY SELECT ON NA$,TY$,VE$,OR RN$ 465 REM E.G. 466IFTY$<>"BAS"THEN560 470 Z= ASC (VE$):GOSUB 780:IF LEN (B$)= 1THEN B$= "0"+ B$ 480 EN$= NA$+ "."+ TY$+ ";"+ B$ 490 DN= ASC (RN$):AL= INT ((DN- 1)/ 20):AL$= CHR$ (65+ AL):NN= DN- 20* AL:NU= INT ((NN- 1)/ 2):DS= NN- 2* NU 500 IF DS= 1THEN S$= "F":GOTO 520 510 S$= "B" 520 DI$= ""+ AL$+ MID$ (STR$ (NU),2)+ " "+ S$+ "" 530 IF PP= 0AND SL= 24THEN SL= 0:PRINT :INPUT "PRESS ENTER FOR NEXT PAGE. ";YN$:PRINT :GOTO 550 540 IF CD< > 0THEN GOSUB 730:GOTO 555 550 GOSUB 770 555 IF PP= 1AND SL= NTHEN PRINT :PRINT :PRINT :PRINT :PRINT :PRINT :SL= 1 560 NEXT I 570 PRINT :PRINT :IF PP= 1THEN POKE 33265,0 580 INPUT "ANOTHER PRINTING Y/N? ";YN$:PRINT 590 IF YN$= "Y"THEN 190 600 FILE "C",1,2:POKE 33289,64:PLOT 1 610 PRINT "FILE ERROR! ":PRINT :GOTO 600 620 IF PP= 0THEN 650 630 POKE 33265,0:INPUT "PRESS ENTER WHEN PRINTER ALIGNED FOR SECOND LIST. ";YN$ 640 PLOT 27,13 730 T= T+ 1:IF T= CDTHEN T= 0 740 TT= 22* T 750 PRINT TAB( TT)EN$TAB( TT+ 15)DI$;:IF T= CD- 1THEN SL= SL+ 1:PRINT 760 RETURN 770 PRINT EN$TAB( 15)DI$:SL= SL+ 1:RETURN 780 B$= "":Z2= Z 790 Z1= Z2- INT (Z2/ 16)* 16:Z2= INT (Z2/ 16) 800 IF Z1< 10THEN B$= CHR$ (48+ Z1)+ B$ 810 IF Z1> 9THEN B$= CHR$ (55+ Z1)+ B$ 820 IF Z2= 0THEN RETURN 830 GOTO 790 840 PRINT "SELECTIVE PRINT LOGIC MUST BE ENTERED AS PROGRAM LINES FROM" 850 PRINT :PRINT "LINE 461 TO 469. THE PARAMETERS YOU MAY COMPARE ARE:-":PRINT 860 PRINT "FILE NAME - NA$ - A SIX CHR STRING;" 870 PRINT "FILE TYPE - TY$ - A THREE CHR STRING;" 880 PRINT "VERSION - ASC(VE$) - A ONE BYTE INTEGER;" 890 PRINT "DISC NUMBER - ASC(RN$) - (1-200).":PRINT 900 PRINT "UNWANTED FILES ARE SKIPPED BY 'GOTO 560' .":PRINT 910 PRINT "AN EXAMPLE IS SHOWN IN REM LINE 465":PRINT 920 PRINT "AFTER ENTERING THE LINE(S), TYPE RUN 130 <ENTER>." 930 PRINT :END