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