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