Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
Assembled by Tim Ward from many sources. Contains programs 10176 – 10210.
Related Products
Related Articles
Related Content
Image Gallery
Source Code
1 REM \65\78\AE\7B\00\00\00\25\DE\7A\3E\08\0E\00\21\82\40\71\23\3D\FE\00\20\F9\2A\10\40\7E\FE\C6\28\03\23\18\F8\23\7E\FE\15\28\03\23\18\EF\3E\07\23\3D\FE\00\20\FA\22\84\40\3A\86\40\2A\84\40\01\C8\00\FE\00\28\05\ED\4A\3D\18\F7\22\84\40\3A\87\40\2A\84\40\FE\00\28\04\23\3D\18\F8\22\84\40\2A\0C\40\01\A6\00\ED\4A\22\82\40\CD\BB\02\7C\C6\02\38\09\44\4D\CD\BD\07\06\00\4E\79\32\89\40\01\00\06\0B\78\B1\20\FB\3A\89\40\FE\23\20\0E\3A\86\40\FE\28\28\07\3A\86\40\3C\32\86\40\3A\89\40\FE\22\20\0E\3A\86\40\FE\00\28\07\3A\86\40\3D\32\86\40\3A\87\40\FE\00\28\0E\3A\89\40\FE\24\20\07\3A\87\40\3D\32\87\40\3A\87\40\FE\A8\28\0E\3A\89\40\FE\21\20\07\3A\87\40\3C\32\87\40\3E\0A\32\88\40\2A\10\40\7E\FE\D9\28\03\23\18\F8\23\7E\FE\CB\28\03\23\18\EF\23\23\23\23\23\3A\87\40\FE\00\28\04\23\3D\18\F8\22\8A\40\2A\0C\40\01\64\00\ED\4A\ED\5B\8A\40\0E\21\1A\77\0D\79\3D\23\13\FE\00\28\02\18\F3\2A\82\40\ED\5B\84\40\0E\21\3A\88\40\FE\0A\20\05\1A\C6\80\18\01\1A\77\0D\79\3D\23\13\FE\00\28\02\18\E7\23\3E\A8\13\3D\FE\00\20\FA\3A\88\40\3D\32\88\40\FE\00\C2\A8\41\3A\89\40\FE\25\28\07\FE\28\28\03\C3\9A\40\C9\1B\1B\1B\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1D\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E\1E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
1000 PRINT AT 6,0;C$(1)
1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
1020 GOSUB 9000
1050 IF I$="N" THEN GOTO 950
1060 LET A$(I,A(X) TO B(X))=C$(1)
1070 NEXT X
1071 FOR X=1 TO 30
1072 NEXT X
1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
1090 PRINT AT 19,11;"(Y OR N)"
1100 GOSUB 9000
1130 IF I$="Y" THEN NEXT I
1140 RETURN
1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
1160 FOR I=1 TO RECORDNBR
1170 CLS
1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
1200 PRINT AT 3,11;"(Y OR N)",,,,,
1210 FOR X=1 TO 3
1220 PRINT B$(X)
1230 PRINT A$(I,A(X) TO B(X))
1240 NEXT X
1250 GOSUB 9000
1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
1288 FOR X=1 TO 30
1289 NEXT X
1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
1300 PRINT AT 19,11;"(Y OR N)"
1310 GOSUB 9000
1340 IF I$="Y" THEN NEXT I
1350 RETURN
1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1370 CLS
1380 FOR X=1 TO 14
1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
1410 PRINT AT 3,11;"(Y OR N)"
1420 PRINT AT 6,0;B$(X)
1430 GOSUB 9000
1460 IF I$="Y" THEN GOTO 1470
1462 NEXT X
1465 GOTO 1380
1470 FAST
1480 LET D=X
1490 FOR X=1 TO MAXRECORDS-1
1500 FOR S=X+1 TO MAXRECORDS
1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
1520 LET S$=A$(X)
1530 LET A$(X)=A$(S)
1540 LET A$(S)=S$
1550 NEXT S
1560 NEXT X
1561 LET TOTALRECORDS=0
1562 FOR X=1 TO MAXRECORDS
1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
1564 NEXT X
1565 LET RECORDNBR=TOTALRECORDS+1
1570 SLOW
1580 CLS
1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
1600 PRINT AT 19,11;"(Y OR N)"
1610 GOSUB 9000
1640 IF I$="Y" THEN GOTO 1360
1650 GOTO 200
1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
1670 CLS
1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
1690 PRINT AT 1,9;"""SPREADSHEET"""
1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
1710 RAND USR 16524
1720 RETURN
1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
1740 FAST
1750 FOR X=1 TO RECORDNBR-1
1760 IF A$(X,1)="%Z" THEN GOTO 1830
1770 LPRINT "--------------------------------"
1780 LPRINT
1790 LPRINT A$(X,1 TO 27),,,
1800 LPRINT A$(X,28 TO 60)
1810 LPRINT A$(X,61 TO 93)
1830 NEXT X
1840 SLOW
1850 RETURN
1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
1870 FOR X=1 TO RECORDNBR-1
1880 CLS
1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
1910 PRINT AT 3,11;"(Y OR N)"
1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
1930 PRINT AT 7,0;A$(X,1 TO 27)
1940 GOSUB 9000
1970 IF I$="N" THEN GOTO 2200
1980 CLS
1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2000 PRINT AT 2,0;"PLEASE ENTER..."
2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
2020 INPUT A$(X,181 TO 185)
2030 PRINT AT 6,0;A$(X,181 TO 185)
2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
2050 GOSUB 9000
2080 IF I$="N" THEN GOTO 1980
2090 CLS
2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
2110 PRINT AT 2,0;"PLEASE ENTER..."
2120 PRINT AT 4,0;"AMOUNT PAID. ";
2121 INPUT P
2122 PRINT P
2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
2124 GOSUB 9000
2125 IF I$="N" THEN GOTO 2090
2126 GOSUB 9040
2200 NEXT X
2240 CLS
2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
2260 GOSUB 9000
2270 IF I$="N" THEN RETURN
2280 CLS
2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
2295 DIM C$(1,5)
2300 INPUT C$(1)
2301 FAST
2302 FOR X=1 TO RECORDNBR-1
2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
2380 NEXT X
2390 RETURN
2400 LPRINT "--------------------------------"
2410 LPRINT
2420 LPRINT TAB 27;C$(1)
2430 LPRINT
2440 LPRINT "DEAR ";A$(X, TO 27)
2450 LPRINT
2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2490 GOTO 2380
2500 LPRINT "--------------------------------"
2510 LPRINT
2520 LPRINT TAB 27;C$(1)
2530 LPRINT
2540 LPRINT "DEAR ";A$(X, TO 27)
2550 LPRINT
2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2590 GOTO 2380
2600 LPRINT "--------------------------------"
2610 LPRINT
2620 LPRINT TAB 27;C$(1)
2630 LPRINT
2640 LPRINT "DEAR ";A$(X, TO 27)
2650 LPRINT
2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2680 GOTO 2380
2700 LPRINT "--------------------------------"
2710 LPRINT
2720 LPRINT TAB 27;C$(1)
2730 LPRINT
2740 LPRINT "DEAR ";A$(X, TO 27)
2750 LPRINT
2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
2780 GOTO 2380
2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
2810 LET TOTALRECORDS=TOTALRECORDS-1
2820 GOTO 2380
2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
2840 CLS
2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
2870 INPUT L$
2880 FAST
2890 DIM C$(240,80)
2900 LET PAGE=1
2910 LET LINE=1
2920 LET C$(LINE)=""
2930 LET C$(LINE+1)=""
2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
2960 LET C$(LINE+4)=""
2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
2980 LET C$(LINE+6)=""
2990 LET C$(LINE+7)=""
3000 LET LINE=LINE+8
3010 FOR X=PAGE TO PAGE+17 STEP 2
3020 IF A$(X,1)="%Z" THEN GOTO 3370
3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3060 LET LINE=LINE+1
3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3100 LET LINE=LINE+1
3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3140 LET LINE=LINE+1
3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3180 LET LINE=LINE+1
3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3220 LET LINE=LINE+1
3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3260 LET LINE=LINE+1
3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
3300 LET LINE=LINE+2
3310 NEXT X
3320 LET LINE=LINE+1
3330 LET C$(LINE)="--------------------------------------------------------------------------------"
3340 LET LINE=LINE+1
3350 LET PAGE=PAGE+18
3360 GOTO 2920
3370 FOR X=1 TO LINE
3380 LPRINT "% % % % % % % ";C$(X, TO 24)
3390 NEXT X
3400 LPRINT "--------------------------------"
3410 FOR X=1 TO LINE
3420 LPRINT C$(X,25 TO 56)
3430 NEXT X
3440 LPRINT "--------------------------------"
3450 FOR X=1 TO LINE
3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
3470 NEXT X
3480 LPRINT "--------------------------------"
3490 SLOW
3495 DIM C$(1,1)
3500 RETURN
3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
3520 FAST
3530 FOR X=1 TO RECORDNBR
3540 LPRINT A$(X)
3550 LPRINT
3560 LPRINT "--------------------------------"
3570 LPRINT
3580 NEXT X
3590 SLOW
3600 REM
3610 REM
3620 REM
3630 REM
3640 REM
3650 REM
3660 REM
3670 REM
3680 REM
3690 RETURN
3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
3705 CLS
3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
3720 INPUT I$
3730 SAVE "SPREADSHEET64%K"
3740 GOTO 200
8999 STOP
9000 IF INKEY$="" THEN GOTO 9000
9010 LET I$=INKEY$
9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
9030 RETURN
9040 IF P<12 THEN LET PD=P/2.5
9045 IF P>=12 THEN LET PD=P/2
9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
9070 IF Q<13 THEN RETURN
9080 LET A$(X,187 TO 188)=STR$ (Q-12)
9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
9095 RETURN
9100 SAVE "1019%0"
9110 LIST 5
\C2\A8A\FE\FE\C3A\C9 itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"B itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"B itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"B itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"D itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E itemtype='https://schema.org/Blog' itemscope='itemscope' class="wp-singular computer_media-template-default single single-computer_media postid-57342 wp-custom-logo wp-theme-astra wp-child-theme-astra-child ast-desktop ast-separate-container ast-left-sidebar astra-4.10.0 group-blog ast-blog-single-style-1 ast-custom-post-type ast-single-post ast-inherit-site-logo-transparent ast-hfb-header ast-full-width-primary-header ast-box-layout ast-normal-title-enabled astra-addon-4.10.0"E
5 FAST
10 DIM T$(200)
20 DIM A$(50,200)
30 LET T$="FIRST NAME/LAST NAME /ADDRESS /CITY-STATE-ZIP CODE /HOME PHONE NBR/WORK PHONE NBR/PROFESSION /COMP1/COMP2/COMP3/M-YJG/M-YDP/MYDPT/PC "
35 FOR X=1 TO 200
40 LET A$(1,X)="%Z"
45 NEXT X
50 FOR X=2 TO 50
55 LET A$(X)=A$(X-1)
60 NEXT X
70 LET MAXRECORDS=50
80 LET TOTALRECORDS=0
90 LET RECORDNBR=1
95 DIM B$(14,32)
100 DIM A(14)
105 DIM B(14)
110 DIM C(14)
115 SLOW
120 FOR X=1 TO 14
125 PRINT AT 12,0;"ENTER FIELD TITLE (32 POS)"
130 INPUT B$(X)
135 PRINT AT 12,0;"ENTER STARTING POSITION OF FIELD"
140 INPUT A(X)
145 PRINT AT 12,0;"ENTER ENDING POSITION OF FIELD "
150 INPUT B(X)
155 LET C(X)=B(X)-A(X)+1
160 NEXT X
170 REM VARI
180 REM VARI
190 REM VARI
200 REM %M%E%N%U% % % % % % % % % % % % % % % % % % %
210 CLS
215 POKE 16418,0
220 SLOW
230 PRINT AT 0,3;"TIMEX/SINCLAIR USERS GROUP"
240 PRINT AT 1,8;"FORT WORTH TEXAS"
250 PRINT AT 4,3;"<--ENTER A RECORD";AT 6,3;"<--CHANGE A RECORD";AT 8,3;"<--DELETE A RECORD";AT 10,3;"<--SORT THE RECORDS";AT 12,3;"<--VIEW THE RECORDS";AT 14,3;"<--PRINT MAILING LABELS";AT 16,3;"<--UPDATE MEMBERSHIP DUES";AT 18,3;"<--PRINT MEMBERSHIP LISTING";AT 20,3;"<--SPECIAL FILE MANIPULATION";AT 22,3;"<--SAVE ""SPREADSHEET64K"""
260 LET CURSOR=PEEK 16396+256*PEEK 16397+135
270 POKE CURSOR,0
280 LET CURSOR=CURSOR-(66 AND INKEY$="7")+(66 AND INKEY$="6")
290 IF CURSOR<PEEK 16396+256*PEEK 16397+135 OR CURSOR>PEEK 16396+256*PEEK 16397+729 THEN GOTO 260
300 POKE CURSOR,128
310 IF INKEY$<>"9" THEN GOTO 270
320 POKE 16418,2
330 IF CURSOR=PEEK 16396+256*PEEK 16397+135 THEN GOSUB 430
340 IF CURSOR=PEEK 16396+256*PEEK 16397+201 THEN GOSUB 700
350 IF CURSOR=PEEK 16396+256*PEEK 16397+267 THEN GOSUB 1150
360 IF CURSOR=PEEK 16396+256*PEEK 16397+333 THEN GOSUB 1360
370 IF CURSOR=PEEK 16396+256*PEEK 16397+399 THEN GOSUB 1660
380 IF CURSOR=PEEK 16396+256*PEEK 16397+465 THEN GOSUB 1730
390 IF CURSOR=PEEK 16396+256*PEEK 16397+531 THEN GOSUB 1860
400 IF CURSOR=PEEK 16396+256*PEEK 16397+597 THEN GOSUB 2830
410 IF CURSOR=PEEK 16396+256*PEEK 16397+663 THEN GOSUB 3510
420 IF CURSOR=PEEK 16396+256*PEEK 16397+729 THEN GOTO 3700
425 GOTO 200
430 REM %E%N%T%E%R% %A% %R%E%C%O%R%D% % % % % % % % %
450 FOR X=1 TO 14
460 DIM C$(1,C(X))
470 CLS
480 PRINT AT 0,8;"%E%N%T%E%R% %A% %R%E%C%O%R%D"
490 PRINT AT 2,0;"PLEASE ENTER..."
500 PRINT AT 4,0;B$(X)
510 INPUT C$(1)
520 PRINT AT 6,0;C$(1)
530 PRINT AT 8,0;"IS THIS CORRECT (Y OR N)"
540 GOSUB 9000
570 IF I$="N" THEN GOTO 460
580 LET A$(RECORDNBR,A(X) TO B(X))=C$(1)
590 NEXT X
600 LET RECORDNBR=RECORDNBR+1
605 LET TOTALRECORDS=TOTALRECORDS+1
610 CLS
620 PRINT AT 12,0;"DO YOU WISH TO ADD MORE RECORDS?"
630 PRINT AT 13,14;"Y OR N"
640 GOSUB 9000
660 IF I$="Y" THEN GOTO 450
670 IF I$="N" THEN RETURN
700 REM %C%H%A%N%G%E% %A% %R%E%C%O%R%D% % % % % % % %
710 FOR I=1 TO RECORDNBR
720 CLS
730 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
740 PRINT AT 2,0;"DO YOU WISH TO CHANGE THIS RCD?"
750 PRINT AT 3,11;"(Y OR N)",,,,,
760 FOR X=1 TO 2
770 PRINT B$(X)
780 PRINT A$(I,A(X) TO B(X))
790 NEXT X
800 GOSUB 9000
830 IF I$="N" THEN GOTO 1080
840 FOR X=1 TO 14
850 CLS
860 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
870 PRINT AT 2,0;"CHANGE THIS FIELD? (Y OR N)"
880 PRINT AT 4,0;B$(X)
890 PRINT A$(I,A(X) TO B(X))
900 GOSUB 9000
930 IF I$="N" THEN NEXT X
935 IF I$="N" THEN GOTO 1080
940 DIM C$(1,C(X))
950 CLS
960 PRINT AT 0,8;"%C%H%A%N%G%E% %A% %R%E%C%O%R%D"
970 PRINT AT 2,0;"PLEASE ENTER..."
980 PRINT AT 4,0;B$(X)
990 INPUT C$(1)
\n1000 PRINT AT 6,0;C$(1)
\n1010 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
\n1020 GOSUB 9000
\n1050 IF I$="N" THEN GOTO 950
\n1060 LET A$(I,A(X) TO B(X))=C$(1)
\n1070 NEXT X
\n1071 FOR X=1 TO 30
\n1072 NEXT X
\n1080 PRINT AT 18,0;"DO YOU WISH TO CHANGE MORE RCDS?"
\n1090 PRINT AT 19,11;"(Y OR N)"
\n1100 GOSUB 9000
\n1130 IF I$="Y" THEN NEXT I
\n1140 RETURN
\n1150 REM %D%E%L%E%T%E% %A% %R%E%C%O%R%D% % % % % % % %
\n1160 FOR I=1 TO RECORDNBR
\n1170 CLS
\n1180 PRINT AT 0,8;"%D%E%L%E%T%E% %A% %R%E%C%O%R%D"
\n1190 PRINT AT 2,0;"DO YOU WISH TO DELETE THIS RCD?"
\n1200 PRINT AT 3,11;"(Y OR N)",,,,,
\n1210 FOR X=1 TO 3
\n1220 PRINT B$(X)
\n1230 PRINT A$(I,A(X) TO B(X))
\n1240 NEXT X
\n1250 GOSUB 9000
\n1280 IF I$="Y" THEN LET A$(I)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
\n1285 IF I$="Y" THEN LET TOTALRECORDS=TOTALRECORDS-1
\n1288 FOR X=1 TO 30
\n1289 NEXT X
\n1290 PRINT AT 18,0;"DO YOU WISH TO DELETE MORE RCDS?"
\n1300 PRINT AT 19,11;"(Y OR N)"
\n1310 GOSUB 9000
\n1340 IF I$="Y" THEN NEXT I
\n1350 RETURN
\n1360 REM %S%O%R%T% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
\n1370 CLS
\n1380 FOR X=1 TO 14
\n1390 PRINT AT 0,8;"%S%O%R%T% %T%H%E% %R%E%C%O%R%D%S"
\n1400 PRINT AT 2,0;"DO YOU WISH TO SORT THIS FIELD?"
\n1410 PRINT AT 3,11;"(Y OR N)"
\n1420 PRINT AT 6,0;B$(X)
\n1430 GOSUB 9000
\n1460 IF I$="Y" THEN GOTO 1470
\n1462 NEXT X
\n1465 GOTO 1380
\n1470 FAST
\n1480 LET D=X
\n1490 FOR X=1 TO MAXRECORDS-1
\n1500 FOR S=X+1 TO MAXRECORDS
\n1510 IF A$(X,A(D) TO B(D))<A$(S,A(D) TO B(D)) THEN GOTO 1550
\n1520 LET S$=A$(X)
\n1530 LET A$(X)=A$(S)
\n1540 LET A$(S)=S$
\n1550 NEXT S
\n1560 NEXT X
\n1561 LET TOTALRECORDS=0
\n1562 FOR X=1 TO MAXRECORDS
\n1563 IF A$(X,1)<>"%Z" THEN LET TOTALRECORDS=TOTALRECORDS+1
\n1564 NEXT X
\n1565 LET RECORDNBR=TOTALRECORDS+1
\n1570 SLOW
\n1580 CLS
\n1590 PRINT AT 18,0;"DO YOU WISH TO SORT ANOTHER FLD?"
\n1600 PRINT AT 19,11;"(Y OR N)"
\n1610 GOSUB 9000
\n1640 IF I$="Y" THEN GOTO 1360
\n1650 GOTO 200
\n1660 REM %V%I%E%W% %T%H%E% %R%E%C%O%R%D%S% % % % % % %
\n1670 CLS
\n1680 PRINT AT 0,0;" TIMEX/SINCLAIR USERS GROUP "
\n1690 PRINT AT 1,9;"""SPREADSHEET"""
\n1700 PRINT AT 16,0;"USE CURSOR KEYS TO MOVE THE SPREADSHEET UP,DOWN,LEFT,RIGHT. PRESS ""9"" TO RETURN TO MENU."
\n1710 RAND USR 16524
\n1720 RETURN
\n1730 REM %P%R%I%N%T% %M%A%I%L%I%N%G% %L%A%B%E%L%S% % %
\n1740 FAST
\n1750 FOR X=1 TO RECORDNBR-1
\n1760 IF A$(X,1)="%Z" THEN GOTO 1830
\n1770 LPRINT "--------------------------------"
\n1780 LPRINT
\n1790 LPRINT A$(X,1 TO 27),,,
\n1800 LPRINT A$(X,28 TO 60)
\n1810 LPRINT A$(X,61 TO 93)
\n1830 NEXT X
\n1840 SLOW
\n1850 RETURN
\n1860 REM %U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S%
\n1870 FOR X=1 TO RECORDNBR-1
\n1880 CLS
\n1890 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
\n1900 PRINT AT 2,0;"DO YOU WISH TO UPDATE THIS RCD?"
\n1910 PRINT AT 3,11;"(Y OR N)"
\n1920 PRINT AT 5,0;"FIRST NAME LAST NAME"
\n1930 PRINT AT 7,0;A$(X,1 TO 27)
\n1940 GOSUB 9000
\n1970 IF I$="N" THEN GOTO 2200
\n1980 CLS
\n1990 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
\n2000 PRINT AT 2,0;"PLEASE ENTER..."
\n2010 PRINT AT 4,0;"MONTH-YEAR DUES PAID"
\n2020 INPUT A$(X,181 TO 185)
\n2030 PRINT AT 6,0;A$(X,181 TO 185)
\n2040 PRINT AT 8,0;"IS THIS CORRECT? (Y OR N)"
\n2050 GOSUB 9000
\n2080 IF I$="N" THEN GOTO 1980
\n2090 CLS
\n2100 PRINT AT 0,6;"%U%P%D%A%T%E% %M%E%M%B%E%R%S%H%I%P% %D%U%E%S"
\n2110 PRINT AT 2,0;"PLEASE ENTER..."
\n2120 PRINT AT 4,0;"AMOUNT PAID. ";
\n2121 INPUT P
\n2122 PRINT P
\n2123 PRINT AT 6,0;"IS THIS CORRECT? (Y OR N)"
\n2124 GOSUB 9000
\n2125 IF I$="N" THEN GOTO 2090
\n2126 GOSUB 9040
\n2200 NEXT X
\n2240 CLS
\n2250 PRINT AT 11,0;"DO YOU WISH TO PRINT BILLING NOTES AT THIS TIME? (Y OR N)"
\n2260 GOSUB 9000
\n2270 IF I$="N" THEN RETURN
\n2280 CLS
\n2290 PRINT AT 11,0;"PLEASE ENTER THE CURRENT MONTH- YEAR FOR BILLING IE 07-84"
\n2295 DIM C$(1,5)
\n2300 INPUT C$(1)
\n2301 FAST
\n2302 FOR X=1 TO RECORDNBR-1
\n2303 IF A$(X,190 TO 191)>C$(1,4 TO 5) THEN GOTO 2400
\n2310 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-1 THEN GOTO 2600
\n2311 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-2 THEN GOTO 2700
\n2312 IF A$(X,190 TO 191)<C$(1,4 TO 5) AND (VAL A$(X,187 TO 188)-12)-(VAL C$(1,1 TO 2))=-3 THEN GOTO 2800
\n2330 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))>0 THEN GOTO 2400
\n2340 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=0 THEN GOTO 2500
\n2350 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-1 THEN GOTO 2600
\n2360 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-2 THEN GOTO 2700
\n2370 IF (VAL A$(X,187 TO 188))-(VAL C$(1, TO 2))=-3 THEN GOTO 2800
\n2380 NEXT X
\n2390 RETURN
\n2400 LPRINT "--------------------------------"
\n2410 LPRINT
\n2420 LPRINT TAB 27;C$(1)
\n2430 LPRINT
\n2440 LPRINT "DEAR ";A$(X, TO 27)
\n2450 LPRINT
\n2460 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES IN ADVANCE MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
\n2470 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
\n2480 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
\n2490 GOTO 2380
\n2500 LPRINT "--------------------------------"
\n2510 LPRINT
\n2520 LPRINT TAB 27;C$(1)
\n2530 LPRINT
\n2540 LPRINT "DEAR ";A$(X, TO 27)
\n2550 LPRINT
\n2560 LPRINT " JUST A SHORT NOTE TO SAY THANK-YOU FOR PAYING YOUR DUES ON TIME. MY RECORDS SHOW THAT YOUR DUES ARE PAID THRU ";A$(X,187 TO 192)
\n2570 LPRINT "AGAIN ""THANK-YOU"" THE GROUP NEEDS MORE MEMBERS LIKE YOU."
\n2580 LPRINT "SINCERELY",,,,,,"TIM L. WARD ACTING TREASURER",,,
\n2590 GOTO 2380
\n2600 LPRINT "--------------------------------"
\n2610 LPRINT
\n2620 LPRINT TAB 27;C$(1)
\n2630 LPRINT
\n2640 LPRINT "DEAR ";A$(X, TO 27)
\n2650 LPRINT
\n2660 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT I HAVE NOT RECIVIED YOUR DUES FOR THIS MONTH. IF YOU HAVE ALREADY PAID THEM PLEASE DISREGARD THIS NOTE. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
\n2670 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
\n2680 GOTO 2380
\n2700 LPRINT "--------------------------------"
\n2710 LPRINT
\n2720 LPRINT TAB 27;C$(1)
\n2730 LPRINT
\n2740 LPRINT "DEAR ";A$(X, TO 27)
\n2750 LPRINT
\n2760 LPRINT " JUST A SHORT NOTE TO LET YOU KNOW THAT THIS IS THE LAST NEWSLETTER YOU WILL RECIVIE UNLESS I RECIVIE THE TWO MONTHS DUES YOU PRESENTLY OWE. YOUR NAME WILL BE DROPPED FROM THE MEMBERSHIP UNLESS YOU PAY BY THENEXT MEETING. IF YOU HAVE ANY QUESTIONS PLEASE CALL ME."
\n2770 LPRINT "RESPECTFULLY",,,,,,"TIM L. WARD ACTING TREASURER",,,
\n2780 GOTO 2380
\n2800 LET A$(X)="%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z%Z"
\n2810 LET TOTALRECORDS=TOTALRECORDS-1
\n2820 GOTO 2380
\n2830 REM %P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T% %
\n2840 CLS
\n2850 PRINT AT 0,5;"%P%R%I%N%T% %M%E%M%B%E%R%S%H%I%P% %L%I%S%T"
\n2860 PRINT AT 10,0;"PLEASE ENTER DATE OF LISTING"
\n2870 INPUT L$
\n2880 FAST
\n2890 DIM C$(240,80)
\n2900 LET PAGE=1
\n2910 LET LINE=1
\n2920 LET C$(LINE)=""
\n2930 LET C$(LINE+1)=""
\n2940 LET C$(LINE+2,28 TO 53)="TIMEX/SINCLAIR USERS GROUP"
\n2950 LET C$(LINE+3,31 TO 50)="OF FORT WORTH, TEXAS"
\n2960 LET C$(LINE+4)=""
\n2970 LET C$(LINE+5,28 TO 53)="MEMBERSHIP AS OF "+L$
\n2980 LET C$(LINE+6)=""
\n2990 LET C$(LINE+7)=""
\n3000 LET LINE=LINE+8
\n3010 FOR X=PAGE TO PAGE+17 STEP 2
\n3020 IF A$(X,1)="%Z" THEN GOTO 3370
\n3030 LET C$(LINE,7 TO 38)=A$(X, TO 27)
\n3040 LET C$(LINE,44 TO 75)=A$(X+1, TO 27)
\n3050 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
\n3060 LET LINE=LINE+1
\n3070 LET C$(LINE,7 TO 38)=A$(X,28 TO 59)
\n3080 LET C$(LINE,44 TO 75)=A$(X+1,28 TO 59)
\n3090 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
\n3100 LET LINE=LINE+1
\n3110 LET C$(LINE,7 TO 38)=A$(X,61 TO 92)
\n3120 LET C$(LINE,44 TO 75)=A$(X+1,61 TO 92)
\n3130 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
\n3140 LET LINE=LINE+1
\n3150 LET C$(LINE,7 TO 38)="HOME PHONE NBR. "+A$(X,94 TO 107)
\n3160 LET C$(LINE,44 TO 75)="HOME PHONE NBR. "+A$(X+1,94 TO 107)
\n3170 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
\n3180 LET LINE=LINE+1
\n3190 LET C$(LINE,7 TO 38)="WORK PHONE NBR. "+A$(X,109 TO 122)
\n3200 LET C$(LINE,44 TO 75)="WORK PHONE NBR. "+A$(X+1,109 TO 122)
\n3210 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
\n3220 LET LINE=LINE+1
\n3230 LET C$(LINE,7 TO 38)=A$(X,124 TO 155)
\n3240 LET C$(LINE,44 TO 75)=A$(X+1,124 TO 155)
\n3250 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
\n3260 LET LINE=LINE+1
\n3270 LET C$(LINE,7 TO 38)="TYPE COMPUTERS "+A$(X,157 TO 161)+","+A$(X,163 TO 167)+","+A$(X,169 TO 173)
\n3280 LET C$(LINE,44 TO 75)="TYPE COMPUTERS "+A$(X+1,157 TO 161)+","+A$(X+1,163 TO 167)+","+A$(X+1,169 TO 173)
\n3290 IF A$(X+1,1)="%Z" THEN LET C$(LINE,44 TO 75)=""
\n3300 LET LINE=LINE+2
\n3310 NEXT X
\n3320 LET LINE=LINE+1
\n3330 LET C$(LINE)="--------------------------------------------------------------------------------"
\n3340 LET LINE=LINE+1
\n3350 LET PAGE=PAGE+18
\n3360 GOTO 2920
\n3370 FOR X=1 TO LINE
\n3380 LPRINT "% % % % % % % ";C$(X, TO 24)
\n3390 NEXT X
\n3400 LPRINT "--------------------------------"
\n3410 FOR X=1 TO LINE
\n3420 LPRINT C$(X,25 TO 56)
\n3430 NEXT X
\n3440 LPRINT "--------------------------------"
\n3450 FOR X=1 TO LINE
\n3460 LPRINT C$(X,57 TO 80);"% % % % % % % "
\n3470 NEXT X
\n3480 LPRINT "--------------------------------"
\n3490 SLOW
\n3495 DIM C$(1,1)
\n3500 RETURN
\n3510 REM %F%I%L%E% %M%A%N%I%P%U%L%A%T%I%O%N% % % % % %
\n3520 FAST
\n3530 FOR X=1 TO RECORDNBR
\n3540 LPRINT A$(X)
\n3550 LPRINT
\n3560 LPRINT "--------------------------------"
\n3570 LPRINT
\n3580 NEXT X
\n3590 SLOW
\n3600 REM
\n3610 REM
\n3620 REM
\n3630 REM
\n3640 REM
\n3650 REM
\n3660 REM
\n3670 REM
\n3680 REM
\n3690 RETURN
\n3700 REM %S%A%V%E% %S%P%R%E%A%D%S%H%E%E%T%6%4%K% % % %
\n3705 CLS
\n3710 PRINT AT 10,0;"START TAPE RCORDER, PRESS ENTER."
\n3720 INPUT I$
\n3730 SAVE "SPREADSHEET64%K"
\n3740 GOTO 200
\n8999 STOP
\n9000 IF INKEY$="" THEN GOTO 9000
\n9010 LET I$=INKEY$
\n9020 IF I$<>"Y" AND I$<>"N" THEN GOTO 9000
\n9030 RETURN
\n9040 IF P<12 THEN LET PD=P/2.5
\n9045 IF P>=12 THEN LET PD=P/2
\n9050 LET Q=INT (VAL A$(X,187 TO 188)+PD)
\n9060 IF Q<13 THEN LET A$(X,187 TO 188)=STR$ Q
\n9070 IF Q<13 THEN RETURN
\n9080 LET A$(X,187 TO 188)=STR$ (Q-12)
\n9090 LET A$(X,190 TO 191)=STR$ (VAL A$(X,190 TO 191)+1)
\n9095 RETURN
\n9100 SAVE "1019%0"
\n9110 LIST 5