This file is part of Byte Power September 1986
. Download the collection to get this file.
Content
Source Code
1 CLS : IF PEEK 23681=0 THEN CLS : LIST 9999: STOP
3 PRINT AT 9,10;"PHONE BOOK";AT 11,3;"COPYRIGHT BYTE POWER 1986";AT 13,2;"WRITTEN BY KRISTIAN BOISVERT"
4 PAUSE 600
5 POKE 23658,8: LET FILE=1
10 DIM a$(250,120)
45 LET NU=0
50 CLS : PRINT AT 0,13;"MENU"
60 PRINT ''"1- ENTER NAME"''"2- DISPLAY A NAME ON SCREEN"''"3- CHANGE A NAME"''"4- LOAD NAMES FROM TAPE"''"5- SAVE NAMES ON TAPE"''"6- BEGIN A NEW FILE"''"7- QUIT PROGRAM"
70 LET Q$=INKEY$: IF Q$<"1" OR Q$>"7" THEN GO TO 70
75 IF Q$="6" THEN GO TO 4000
80 IF Q$="1" THEN GO TO 1000
85 IF Q$="2" AND NU<>0 THEN GO TO 2000
86 IF Q$="3" AND NU<>0 THEN GO TO 5000
87 IF Q$="4" THEN GO TO 6000
90 IF Q$="5" AND NU<>0 THEN GO TO 7000
95 IF Q$="7" THEN GO TO 8500
96 GO TO 70
1000 LET NU=NU+1: CLS : PRINT AT 0,10;"ENTER NAME"
1001 IF NU=251 THEN LET NU=250: PRINT '"WARNING: FILE FULL!"''"SAVE THIS FILE AND BEGIN A NEW ONE?": INPUT LINE T$: IF T$="Y" THEN GO SUB 7000: LET FILE=FILE+1: LET NU=0: GO TO 50
1005 LET F=NU
1010 INPUT "NAME:"; LINE A$(NU,1 TO 25): IF A$(NU,1 TO 25)=" " THEN LET NU=NU-1: GO TO 50
1020 INPUT "ADDRESS:"; LINE A$(NU,26 TO 58)
1030 INPUT "CITY:"; LINE A$(NU,59 TO 74)
1040 INPUT "STATE:"; LINE A$(NU,75 TO 100)
1050 INPUT "ZIP CODE:"; LINE A$(NU,101 TO 107)
1060 INPUT "PHONE NUMBER:"; LINE A$(NU,108 TO 120)
1090 GO SUB 2090
1100 INPUT "IS THIS CORRECT? (Y/N) "; LINE Q$
1110 IF Q$="N" THEN GO TO 1001
1115 INPUT "ANOTHER? (Y/N) "; LINE Q$
1116 IF Q$="N" THEN GO TO 50
1120 GO TO 1000
2000 CLS : PRINT AT 0,8;"DISPLAY A NAME": GO SUB 5010
2005 IF Q=1 THEN GO TO 50
2080 CLS : PRINT AT 0,8;"DISPLAY A NAME"
2081 GO SUB 2090: PAUSE 0: GO TO 50
2090 CLS : PRINT "FILE:";FILE;" #";F: PRINT AT 2,0;"NAME:";A$(F, TO 25)
2100 PRINT AT 4,0;"ADD.:";A$(F,26 TO 58)
2110 PRINT AT 6,0;"CITY:";A$(F,59 TO 74)
2120 PRINT AT 8,0;"STATE:";A$(F,75 TO 100)
2140 PRINT AT 10,0;"ZIP:";A$(F,101 TO 107)
2150 PRINT AT 12,0;"PHONE:";A$(F,108 TO 120)
2210 RETURN
4000 CLS : PRINT "ARE YOU SURE?"
4010 LET Q$=INKEY$
4020 IF Q$="Y" THEN LET FILE=FILE+1: GO TO 10
4030 IF Q$<>"N" THEN GO TO 4010
4040 GO TO 50
5000 CLS : PRINT AT 0,9;"CHANGE A NAME": GO SUB 5010: IF Q=0 THEN GO TO 5080
5005 IF Q=1 THEN GO TO 50
5010 LET Q=0: INPUT "NAME:"; LINE Q$
5020 IF Q$="" THEN LET Q=1: RETURN
5021 PRINT AT 2,0;"SEARCHING ";Q$;" "
5022 FOR F=1 TO NU
5023 IF LEN Q$<>25 THEN FOR G=1 TO 25-LEN Q$: LET Q$=Q$+" ": NEXT G
5024 IF Q$=A$(F, TO 25) THEN RETURN
5025 NEXT F
5026 PRINT "NAME NOT IN CURRENT FILE"
5060 PAUSE 600: CLS : GO TO 5000
5080 GO SUB 2090: INPUT "NEW NAME:"; LINE Q$: IF Q$="" THEN GO TO 5082
5081 LET A$(F, TO 25)=Q$
5082 INPUT "NEW ADDRESS:"; LINE Q$: IF Q$="" THEN GO TO 5084
5083 LET A$(F,26 TO 58)=Q$
5084 INPUT "NEW CITY:"; LINE Q$: IF Q$="" THEN GO TO 5086
5085 LET A$(F,59 TO 74)=Q$
5086 INPUT "NEW STATE:"; LINE Q$: IF Q$="" THEN GO TO 5088
5087 LET A$(F,75 TO 100)=Q$
5088 INPUT "NEW ZIP CODE:"; LINE Q$: IF Q$="" THEN GO TO 5090
5089 LET A$(F,101 TO 107)=Q$
5090 INPUT "NEW PHONE NUMBER:"; LINE Q$: IF Q$="" THEN GO TO 5092
5091 LET A$(F,108 TO 120)=Q$
5095 GO SUB 2090
5100 INPUT "IS THIS CORRECT? (Y/N) "; LINE Q$
5110 IF Q$="N" THEN GO TO 5080
5120 INPUT "ANOTHER? (Y/N) "; LINE Q$
5130 IF Q$="N" THEN GO TO 50
5140 GO TO 5000
6000 REM LOAD
6003 CLS : INPUT "LOAD FILE#";FI
6010 LOAD "FILE#"+STR$ FILE DATA A$()
6020 LOAD "#NAMESFILE"CODE 65534
6070 GO TO 50
7000 REM SAVE
7001 CLS
7002 PRINT "SAVE FILE#";FILE
7003 POKE 65534,FILE: POKE 65535,NU: SAVE "FILE#"+STR$ FILE DATA A$(): POKE 23736,181: SAVE "#NAMESFILE"CODE 65534,2
7010 INPUT "VERIFY? "; LINE Q$
7020 IF Q$="Y" THEN VERIFY "FILE#"+STR$ FILE DATA A$(): VERIFY "#NAMESFILE"CODE 65534
7070 GO TO 50
8000 CLS : PRINT AT 10,5;"ERROR- COMMAND ABORTED"
8010 PAUSE 0: GO TO 50
8500 CLS : PRINT AT 10,0;"ARE YOU SURE?"
8510 LET Q$=INKEY$
8515 IF Q$="Y" THEN NEW
8520 IF Q$="N" THEN GO TO 50
8530 GO TO 8510
9999 SAVE "PHONE BOOK" LINE 1: VERIFY "PHONE BOOK"
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

