10 REM Hard copy By C.J.Richardson for SYSTEMS FILE SERVER By Duncan Webster 20 DEFFNS="PRINT" 30 ONERROR IF ERR=17 AND INKEY-1=0 GOTO60 ELSE CLOSE#FILE:MODE128:REPORT:PRINTERL:END 40 MODE7:VDU23;8202;0;0;0; 50 PA%=0:DIM P%(14):FORL%=1TO11:P%(L%)=1:NEXT:M%=0:FILE=OPENIN"PROGFLE" 60 PROCchoose:PROCr:PROCprin:REPEAT:PROCkey:PROCr:PROCprin:UNTILFALSE:END 70 DEFPROCkey:*FX21 80 M$=GET$ 90 IF M$="Z"M%=M%-220 100 IF M$="X"M%=M%+220 110 IF M$="."M%=M%+2200 120 IF M$=","M%=M%-2200 130 IF M$="O" PROCchoose 140 IF M%>EXT #FILE-220 M%=0 150 IF M%<0 M%=EXT #FILE-220 160 ENDPROC 170 DEFPROCr:PTR#FILE=M%:INPUT #FILE,A$,B$,C$,D$,E$,F$,G$,H$,I%,J$,K$,L%:ENDPROC 180 DEFPROCprin:CLS:PRINTTAB(0,0) 190 IF P%(12)=1:VDU2 200 IF P%(10)=1PRINTSTR$I%;". "; 210 IF P%(1)=1PRINTA$ 220 IF P%(2)=1PRINTB$ 230 IF P%(3)=1PRINTC$ 240 IF P%(4)=1PRINT"Surface: ";D$ 250 IF P%(5)=1PRINT"Disc: ";E$ 260 IF P%(6)=1PRINT"Owner: ";F$ 270 IF P%(7)=1PRINT"Filename: ";G$ 280 IF P%(8)=1PRINT"Pathname: ";H$ 290 IF P%(9)=1PRINT"Flag: ";L% 300 IF P%(11)=1PRINT"Info:"'J$'K$ 310 VDU3 320 ENDPROC 330 DEFPROCdisp:CLS:PRINT"ƒ File Server DISPLAY OPTIONS MENU" 340 PRINT" A. Program title"'" B. Type"'" C. Loading method"'" D. Surface"'" E. Disc Title"'" F. Owner"'" G. File Name"'" H. Pathname"'" I. Flag"'" J. Number"'" K. Notes" 350 PRINT" L. Printer "'"ƒM. Specific Search"'"ƒN. Manual Search"''"Press a letter to toggle ‚On‡/Off"''"ƒX = Forward through data"'"ƒZ = Backward through data"'"ƒ> = Forward ten"'"ƒ< = Backward ten"'"ƒEscape = Back to here" 360 FORL%=1TO12:IF P%(L%)=1 VDU31,0,L%,130:NEXT ELSE VDU31,0,L%,129:NEXT 370 ENDPROC 380 DEFPROCchoose:PROCdisp 390 REPEAT:REPEAT:A%=GET-64:UNTILA%>0AND A%<15 400 VDU31,0,A%:IF P%(A%)=1:P%(A%)=0:VDU129 ELSE P%(A%)=1:VDU130 410 IF A%=13PROCsearch:PROCdisp 420 UNTILA%=14:ENDPROC 430 DEFPROCsearch:CLS 440 PRINT" ƒSEARCH OPTIONS MENU"'"†Search by:" 450 PRINT"ƒA.†Program title"'"ƒB.†Type"'"ƒC.†Loading method"'"ƒD.†Surface"'"ƒE.†Disc Title"'"ƒF.†Owner"'"ƒG.†File Name"'"ƒH.†Pathname"'"ƒI.†Number"'"ƒJ.†Notes"'"ƒK.†Flag"''"ƒL. Pause ";:IF PA%=0 PRINT"Off" ELSE PRINT"‚On " 460 PRINT"ƒRETURN for complete list"'"Press a letter to choose search field" 470 REPEAT:A%=GET:IF A%=76 IF PA%=1 PA%=0:PRINTTAB(10,14)"Off" ELSE IF A%=76 PA%=1:PRINTTAB(10,14)"‚On " 480 UNTILA%>64AND A%<76 OR A%=13 490 IF A%<>13 INPUTTAB(0,18)"Enter search string Exactly"''SR$ ELSE SR$="" 500 PRINT'"ˆSearching...":MOLD%=M%:M%=0:REPEAT:PROCr 510 IF A%=13 PR$=SR$ 520 IF A%=65 PR$=A$ 530 IF A%=66 PR$=B$ 540 IF A%=67 PR$=C$ 550 IF A%=68 PR$=D$ 560 IF A%=69 PR$=E$ 570 IF A%=70 PR$=F$ 580 IF A%=71 PR$=G$ 590 IF A%=72 PR$=H$ 600 IF A%=73 PR$=STR$ I% 610 IF A%=74 PR$=J$+K$ 620 IF A%=75 PR$=STR$ L% 630 IF SR$=PR$:PROCprin:IF PA%=1:REPEATUNTILGET 640 M%=M%+220 650 UNTILM%>EXT #FILE-220 660 M%=MOLD%:ENDPROC