10 REM*Phonebook* 20 REM*Andy Weston* 30 REM*August 1993* 40 REM************* 50 MODE7 60 GOSUB650 70 PROCin 80 PROCmen 90 IF Y%=5 THEN PROCent:GOTO80 100 IFY%=6 THEN PROCfind:GOTO80 110 IFY%=7 THEN PROCsave:GOTO80 120 IFY%=8 THEN PROCload:GOTO80 130 IF Y%=9 THEN PROClist:GOTO80 140 END 150 DEF PROCent 160 CLS 170 GOSUB650 180 *FX15,0 190 REPEAT 200 INPUTLINE"NAME:"B$ 210 A$(A%,0)=B$ 220 INPUT"NUMBER",C$ 230 A$(A%,1)=C$ 240 A%=A%+1 250 PRINT'"‚ to finish, continue" 260 G=GET 270 IFG=32 THEN 290 280 IFG=70THEN ENDPROC 290 UNTILFALSE 300 ENDPROC 310 DEF PROCfind 320 CLS:GOSUB650 330 *FX15,0 340 REPEAT 350 INPUT"NAME"F$ 360 FOR R%=0TO200 370 IFA$(R%,0)=F$ THEN PRINT A$(R%,1):GOTO400 380 NEXTR% 390 PRINT"NOT FOUND" 400 PRINT'"‚ to finish, continue" 410 G=GET:IFG=32THENGOTO430 420 IFG=70THEN ENDPROC 430 UNTILFALSE 440 ENDPROC 450 DEF PROCin 460 A%=0 470 VDU23;8202;0;0;0; 480 DIMA$(200,1) 490 DIMO$(5) 500 Y%=5 510 RESTORE 640 520 FORRO%=1TO 5:READ O$(RO%):NEXT RO% 530 ENDPROC 540 DEF PROCmen 550 CLS 560 REPEAT 570 TY%=5 580 FORPO%=1TO5:PRINTTAB(2,TY%);CHR$135;;O$(PO%):TY%=TY%+1:NEXTPO% 590 IFINKEY(-58)AND Y%>5THEN Y%=Y%-1:PRINTTAB(0,Y%+1);STRING$(20," ") 600 IFINKEY(-42)AND Y%<9THEN Y%=Y%+1:PRINTTAB(0,Y%-1);STRING$(20," ") 610 PRINTTAB(0,Y%);CHR$130;CHR$157 620 IFINKEY(-74)THENENDPROC 630 UNTILFALSE 640 DATA Make entry,Find number,Save numbers,Load numbers,List numbers 650 VDU26 660 PRINTTAB(0,0);CHR$129;CHR$157;CHR$131;CHR$141;"Phonebook by A.J.W.":PRINTTAB(0);CHR$129;CHR$157;CHR$131;CHR$141;"Phonebook by A.J.W." 670 VDU28,0,12,39,2 680 RETURN 690 DEF PROCsave 700 GOSUB650 710 CLS 720 *FX15,0 730 INPUT"‚Filename",F$ 740 X=OPENOUT F$ 750 FOR SF%=0 TO A% 760 PRINT#X,A$(SF%,0) 770 PRINT#X,A$(SF%,1) 780 NEXTSF% 790 CLOSE#X 800 ENDPROC 810 DEF PROCload 820 GOSUB650:CLS:*FX15,0 830 INPUT"‚Filename",F$ 840 INPUT"Entries on file",E% 850 X=OPENIN F$ 860 FOR in=0 TO (E%-1) 870 INPUT #X,A$(in,0) 880 INPUT #X,A$(in,1) 890 NEXT in 900 ENDPROC 910 DEF PROClist 920 GOSUB650 930 CLS 940 *FX15,0 950 VDU14 960 FOR G=0 TO 200 970 IF A$(G,0)=""THEN GOTO 1000 980 PRINTA$(G,0),A$(G,1) 990 NEXT G 1000 VDU15 1010 G$=GET$ 1020 ENDPROC