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