100 ON ERROR GOTO 910 110 OPEN "I",#1,"PUBCAT.DAT" 120 WHILE NOT EOF(1) 130 LINE INPUT #1,A$ 140 IF LEFT$(A$,3)="299" THEN 160 150 IF LEFT$(A$,3)="999" THEN 180 160 CLS$=CLS$+CHR$(VAL(A$)) 170 WEND 180 CLOSE 190 EX1$="A14":EX2$="G00" 200 LOGO$="PUBTOOL v1 [OLCat]"'<---- INIT ----> 07 AUG 87 @ 14:47 210 CPRT$="(c) AB17 Remote Systems" 220 DEAD$=" will Abort Program" 230 MODL$="Processing DISK.DIR" 240 TYPE$="Your System Name" 250 PRINT CLS$:PRINT LOGO$:PRINT CPRT$:PRINT DEAD$; 260 PRINT TAB(30);MODL$;TAB(63);TYPE$ 270 PRINT:PRINT:PRINT 280 OPEN "I",#1,"DISK.DIR" 290 OPEN "O",#2,"TEMP.DIR" 300 IF EOF(1) THEN 470 310 IF INKEY$=CHR$(27) THEN CLOSE:END 320 LINE INPUT#1,A$ 330 IF MID$(A$,10,5)="Drive" THEN GOSUB 430 340 IF DU$=EX1$ OR DU$=EX2$ THEN 470 350 IF MID$(A$,10,5)="Drive" THEN 320 360 V1$=LEFT$(A$,17):V2$=MID$(A$,21,17):V3$=MID$(A$,41,17):V4$=MID$(A$,61,17) 370 IF V1$="" THEN 410 ELSE PRINT#2,V1$+" "+DU$ 380 IF V2$="" THEN 410 ELSE PRINT#2,V2$+" "+DU$ 390 IF V3$="" THEN 410 ELSE PRINT#2,V3$+" "+DU$ 400 IF V4$="" THEN 410 ELSE PRINT#2,V4$+" "+DU$ 410 PRINT"Scanning => ";DU$;:PRINT CHR$(13); 420 GOTO 300 430 DU$=MID$(A$,16,3) 440 IF RIGHT$(DU$,1)=" " THEN 450 ELSE DU$=DU$+":":GOTO 460 450 IF RIGHT$(DU$,1)=" " THEN DU$=LEFT$(DU$,1)+"0"+MID$(DU$,2,1)+":" 460 RETURN 470 CLOSE 480 MODUL$="Generating On-Line Catalog" 490 PRINT CLS$:PRINT LOGO$:PRINT CPRT$:PRINT DEAD$;TAB(30);MODUL$;TAB(63);TYPE$ 500 PRINT:PRINT:PRINT 510 OPEN "I",#1,"MAST.LST" 520 IF EOF(1) THEN 570 530 LINE INPUT#1,A$ 540 SF=SF+1 550 PRINT"Records count => ";SF;:PRINT CHR$(13); 560 GOTO 520 570 CLOSE 580 OPEN "I",#1,"MAST.LST":OPEN "O",#3,"OLCAT.DAT" 590 PRINT"Match ";TAB(11)"So Far";TAB(20)"To Go";TAB(30)"Output"; 600 PRINT TAB(63)"Records => ";:PRINT USING"#####";SF 610 WHILE NOT EOF(1) 620 IF INKEY$=CHR$(27) THEN 750 630 LINE INPUT#1,A$ 640 TN=TN+1:SF=SF-1 650 REC$=LEFT$(A$,12):CEK$=RIGHT$(REC$,3) 660 IF CEK$="LBR" OR CEK$="ARK" OR CEK$="ARC" THEN 830 ELSE 740 670 IF LEFT$(V$,12)=REC$ THEN M=M+1:PRINT LEFT$(REC$,8); 680 PRINT TAB(11);USING"######";TN; 690 PRINT TAB(20);USING"#####";SF; 700 PRINT TAB(30);USING"######";M;:PRINT CHR$(13); 710 IF LEFT$(V$,12)<>REC$ THEN 730 720 PRINT#3,LEFT$(A$,12)+" - "+RIGHT$(A$,3)+" Now on line! => "+DU$:GOTO 740 730 PRINT#3,LEFT$(A$,12)+" - "+RIGHT$(A$,3) 740 WEND 750 CLOSE 760 PRINT"[ EOF ] "; 770 PRINT TAB(11);USING"#####";TN; 780 PRINT TAB(20);USING"#####";SF; 790 PRINT TAB(30);USING"######";M 800 PRINT:PRINT:PRINT 810 INPUT"Kill TEMP.DIR file [y/n] ? ",Y$ 820 IF Y$="Y" OR Y$="y" THEN KILL"TEMP.DIR":GOTO 920 ELSE GOTO 920 830 OPEN "I",#2,"TEMP.DIR" 840 WHILE NOT EOF(2) 850 LINE INPUT#2,V$ 860 DU$=RIGHT$(V$,4) 870 IF LEFT$(V$,12)=REC$ THEN 890 880 WEND 890 CLOSE#2 900 GOTO 670 910 IF ERR=53 THEN PRINT"Missing file! Check DIR! Aborting Program!":RESUME 920 920 PRINT:PRINT"End-of-Run => On-Line Catalog Program":END