Appears on
Assembled by Tim Ward from many sources. Contains programs 10001 – 10050.
Related Articles
The user of the Timex-Sinclair computer can store and work with data files, even though some commands for handling data are missing. This program can be easily adapted for other kinds of data management, too.
Source Code
1 REM "ADDFILE" 2 REM GEORGE W. MILLER 3 REM COMPUTE MAG. MAR. 1983 4 REM 5 REM START PROGRAM BY ENTERING GOTO 35 6 REM 10 DIM L(1) 11 DIM S$(1,30) 12 DIM T$(1,30) 13 DIM N$(100,30) 14 DIM A$(100,30) 15 DIM C$(100,25) 16 DIM P$(100,12) 17 DIM Z$(100,5) 25 LET L=0 30 LET N=0 35 GOTO 5000 40 LET CHANGE=500 42 LET ENTER=1000 44 LET LIST=1500 46 LET SEARCH=2000 47 LET N=L 49 CLS 50 PRINT AT 0,10;":FUNCTION:" 52 PRINT 54 PRINT TAB 5;"ENTER %C FOR CHANGE MODE" 55 PRINT 56 PRINT TAB 5;"ENTER %E FOR ENTRY MODE" 57 PRINT 59 PRINT TAB 5;"ENTER %L FOR LIST MODE" 60 PRINT 61 PRINT TAB 5;"ENTER %S FOR SEARCH MODE" 62 PRINT 63 PRINT TAB 5;"ENTER STOP...TO STOP" 65 INPUT B$ 67 IF B$="C" THEN GOTO CHANGE 68 IF B$="E" THEN GOTO ENTER 69 IF B$="L" THEN GOTO LIST 70 IF B$="S" THEN GOTO SEARCH 71 IF B$="STOP" THEN STOP 75 GOTO 49 113 PRINT 500 CLS 510 PRINT AT 0,12;"CHANGE MODE" 512 PRINT 513 PRINT TAB 5;"ENTER NUMBER TO CHANGE" 514 INPUT C 515 CLS 516 PRINT N$(C,1 TO 30) 517 PRINT A$(C,1 TO 30) 518 PRINT C$(C,1 TO 25) 519 PRINT Z$(C,1 TO 5) 520 PRINT P$(C,1 TO 12) 524 PRINT AT 10,5;"ENTER CORRECT NAME" 525 INPUT Y$ 530 LET N$(C,1 TO 30)=Y$ 535 PRINT AT 10,5;"ENTER CORRECT ADDRESS" 540 INPUT H$ 545 LET A$(C,1 TO 30)=H$ 550 PRINT AT 10,5;"ENTER CORRECT CITY" 555 INPUT G$ 560 LET C$(C,1 TO 25)=G$ 562 PRINT AT 10,5;"ENTER CORRECT ZIP CODE" 563 INPUT Z$(C) 564 PRINT AT 10,5;"ENTER CORRECT PHONE NUMBER" 565 INPUT P$(C) 570 GOTO 49 1000 CLS 1010 FOR X=N+1 TO 100 1015 IF X=100 THEN GOTO 1142 1020 LET L=X 1030 CLS 1040 PRINT AT 0,10;" ENTRY MODE" 1050 PRINT AT 2,10;"LAST ENTRY WAS : ";X-1 1052 PRINT 1055 PRINT "ENTER NAME" 1060 INPUT N$(X) 1070 PRINT 1075 PRINT "ENTER ADDRESS" 1080 INPUT A$(X) 1090 PRINT 1095 PRINT "ENTER CITY" 1100 INPUT C$(X) 1105 PRINT 1107 PRINT "ENTER ZIP CODE" 1108 INPUT Z$(X) 1109 PRINT 1110 PRINT "ENTER PHONE NUMBER" 1111 INPUT P$(X) 1112 PRINT 1115 PRINT "ANOTHER ENTRY?? (Y/N)" 1130 INPUT F$ 1138 IF F$<>"Y" THEN GOTO 47 1140 NEXT X 1142 PRINT 1145 PRINT " LIST FILLED" 1147 PAUSE 200 1150 GOTO 47 1500 CLS 1505 PRINT AT 20,12;"LIST MODE" 1510 FOR V=1 TO L 1515 SCROLL 1520 PRINT N$(V);V 1521 SCROLL 1522 PRINT A$(V) 1523 SCROLL 1524 PRINT C$(V) 1525 SCROLL 1526 PRINT Z$(V) 1527 SCROLL 1528 PRINT P$(V) 1529 SCROLL 1530 PRINT 1532 NEXT V 1540 PAUSE 200 1550 GOTO 49 2000 CLS 2020 PRINT AT 0,12;"SEARCH MODE" 2021 PRINT 2022 PRINT "SEARCH NAME(N) OR CITY(C)??" 2023 INPUT V$ 2033 FAST 2034 IF V$="N" THEN GOTO 2050 2036 PRINT "ENTER CITY AND STATE" 2037 PRINT "NOTE: SPELLING MUST BE EXACT" 2038 INPUT T$(1,1 TO 25) 2039 FOR S=1 TO L 2040 IF C$(S,1 TO 25)=T$(1,1 TO 25) THEN GOTO 2160 2041 NEXT S 2042 SLOW 2043 PRINT TAB 5;" END OF LIST" 2044 PAUSE 30000 2045 GOTO 47 2047 PRINT 2050 PRINT "ENTER NAME FOR SEARCH" 2055 PRINT 2060 INPUT S$(1,1 TO 30) 2062 FAST 2063 FOR S=1 TO L 2065 IF N$(S,1 TO 30)=S$(1,1 TO 30) THEN GOTO 2160 2070 NEXT S 2100 PRINT 2110 PRINT ,"NAME NOT FOUND" 2115 PAUSE 30000 2117 SLOW 2120 GOTO 47 2140 PRINT N$(S) 2141 PRINT A$(S) 2142 PRINT C$(S) 2143 PRINT Z$(S) 2144 PRINT P$(S) 2145 SLOW 2146 PAUSE 30000 2150 GOTO 47 2160 PRINT N$(S) 2161 PRINT A$(S) 2162 PRINT C$(S) 2163 PRINT Z$(S) 2164 PRINT P$(S) 2165 GOTO 2041 5000 PRINT "********************************" 5005 PRINT "* *" 5006 PRINT "* *" 5007 PRINT "* *" 5008 PRINT "* *" 5009 PRINT "* *" 5010 PRINT "* *" 5011 PRINT "* *" 5012 PRINT "********************************" 5013 REM FILE NAME 5015 PRINT AT 4,5;" ADDRESS FILE" 5020 PAUSE 300 5021 CLS 5022 PRINT "THIS PROGRAM WILL STORE UP TO" 5023 PRINT 5024 PRINT "100 NAMES, ADDRESSES AND PHONE" 5025 PRINT 5026 PRINT "NUMBERS, AND WILL SEARCH BY NAME" 5027 PRINT 5028 PRINT "OR CITY" 5029 PAUSE 500 5030 GOTO 38 5035 CLEAR 5040 SAVE "1000%6" 5050 RUN