Explore the CATS membership database, as of late 1987.
Related Content
- Capital Area Timex Sinclair Users Group (usergroup)
Source Code
0 LET D$(J,D)="5": PRINT AT L,D-L;D$(J,D): LET D$(J, TO 5)=I$: PRINT AT L,16;D$(J, TO 5): RETURN 1 INPUT "PAYMENT STATUS ";D$(J,D): PRINT AT L,D-L;D$(J,D): RETURN 2 RETURN 3 INPUT "NAME ";N$(J): PRINT AT 3,D;N$(J): RETURN 4 INPUT "STREET ";R$(J): PRINT AT 4,D;R$(J): RETURN 5 INPUT "CITY ";C$(J): PRINT AT 5,D;C$(J): RETURN 6 INPUT "STATE ";S$(J): PRINT AT 6,D;S$(J): RETURN 7 INPUT "ZIP CODE ";Z$(J): PRINT AT 7,D;Z$(J): RETURN 8 RETURN 9 INPUT "HOME PHONE ";H$(J): PRINT AT D-L,D;H$(J): RETURN 10 INPUT "OFFICE PHONE ";P$(J): PRINT AT D,D;P$(J): RETURN 11 RETURN 12 INPUT "JOB ";O$(J): PRINT AT 12,D;O$(J): RETURN 13 GO SUB 50: INPUT "EQUIPMENT";E$(J): PRINT AT 13,D;E$(J) 14 RETURN 50 PRINT AT 17,O;"A.TS1000 F.E-PROM K.FLOPPY " 52 PRINT "B.TS1500 G.16KRAM L.STRNGY " 54 PRINT "C.TS2068 H.32KRAM M. " 56 PRINT "D.PRINTER I.64KRAM N. " 58 PRINT "E.MODEM J.DISK O. " 62 RETURN 90 REM FOR I=16 TO D+D+L 92 REM PRINT AT I,O;" " 94 REM NEXT I 96 RETURN 100 PRINT "NAME :"';"STREET :"';"CITY :"';"STATE :"';"ZIP CODE :" 120 PRINT W$ 130 PRINT "H-PHONE :"'"O-PHONE :"'"FAMILY :"'"JOB :"'"EQUIP. :" 140 PRINT W$ 150 RETURN 999 STOP 1000 LET Q=VAL I$( TO L+L)+12*VAL I$(4 TO 5)-12 1006 POKE 64256,L: POKE 64260,O 1010 CLS 1020 PRINT ''"******* MEMBERSHIP FILES ******* by Ned Beeler 1983 revised by M. Fisher '85 " 1025 PRINT " TODAY'S DATE """;I$;"""" 1030 PRINT '"1. ADD NEW NAME"''"2. OR """"; UPDATE/DELETE RECORD"''"3. LIST RECORDS"'' 1050 PRINT "4. LPRINT LABELS"''"5. LPRINT ROSTER"''"6. LPRINT ZIP LIST "'' 1075 PRINT "7. SORT: curr. by ";X$''"8. SAVE program" 1090 INPUT "SELECT YOUR CHOICE";J$ 1095 CLS 1151 IF LEN J$<L THEN LET J$="2" 1160 IF CODE J$<49 OR CODE J$>58 THEN GO TO G 1200 GO SUB VAL J$*500+G 1499 GO TO G 1500 IF N>=214 THEN PRINT "FILE FULL": PAUSE D*D: RETURN 1505 LET N=N+L: LET K=K+L: LET J=N 1510 CLS 1520 PRINT "FILE NO. ";N,"MEMBSHP NO. ";K 1525 PRINT "----PAID ------------DATE -----" 1530 PRINT W$ 1535 GO SUB D*D 1546 LET D$(N,6 TO D-L)=STR$ K: PRINT AT M,28;D$(N,6 TO D-L) 1550 FOR I=O TO 13: GO SUB I: NEXT I 1655 GO SUB D*D-D 1680 INPUT "IS ALL CORRECT (Y/N) ";J$ 1700 IF J$="N" THEN GO SUB 2100 1720 CLS 1730 INPUT "ANY MORE NAMES? (Y/N) ";J$ 1750 IF J$="Y" THEN GO TO 1500 1999 RETURN 2010 CLS 2020 INPUT "SEARCH NAME ? ";J$ 2030 FOR J=L TO N 2040 IF J$=N$(J, TO LEN J$) THEN GO TO 2100 2050 NEXT J 2055 CLS 2060 INPUT " NO NAME-PRESS ENTER TO RETURN ";J$ 2070 RETURN 2100 LET Q=15 2105 CLS 2110 PRINT "FILE NO. ";J;" MEMBERSHIP NO. ";D$(J,6 TO D-L) 2120 PRINT "PAID---- ";D$(J,D);" DATE ";D$(J, TO 5) 2125 PRINT W$ 2130 GO SUB D*D 2150 PRINT AT 3,D;N$(J);AT 4,D;R$(J);AT 5,D;C$(J) 2160 PRINT AT 6,D;S$(J);AT 7,D;Z$(J) 2170 PRINT AT D-L,D;H$(J);AT D,D;P$(J) 2180 PRINT AT 12,D;O$(J);AT 13,D;E$(J) 2195 PRINT W$ 2200 PRINT "UPDATE"'"FOREWARD"'"BACK"'" "'" DELETE "'" "'">--- RETURN TO MENU ---> OR (M)"; 2210 PRINT #1;AT 0,0;"PUT CURSOR ON LINE TO BE CHANGEDPRESS <ENTER> WHEN READY" 2215 PRINT OVER L; FLASH L;AT Q,O;W$; 2216 PAUSE O 2217 PRINT OVER L; FLASH O;AT Q,O;W$ 2220 LET Q=Q+(INKEY$="6")-(INKEY$="7") 2230 LET Q=Q+(Q<0)-(Q>20) 2240 IF INKEY$=CHR$ 13 THEN GO TO 2270 2245 IF INKEY$="M" THEN RETURN 2250 GO TO 2215 2275 IF Q=15 THEN GO SUB O 2280 IF Q=16 OR Q=17 THEN LET J=J+(Q=16 AND J<215)-(Q=17 AND J>1): GO TO 2105 2310 IF Q>19 THEN RETURN 2320 IF Q<14 THEN GO SUB Q 2380 IF Q=19 THEN INPUT "DELETE: ARE YOU SURE? (Y/N) ";J$: IF J$="Y" THEN GO TO 2400 2398 GO TO 2210 2400 FOR Z=J TO N 2402 LET N$(Z)=N$(Z+L) 2404 LET R$(Z)=R$(Z+L) 2406 LET C$(Z)=C$(Z+L) 2408 LET S$(Z)=S$(Z+L) 2410 LET H$(Z)=H$(Z+L) 2412 LET P$(Z)=P$(Z+L) 2414 LET Z$(Z)=Z$(Z+L) 2416 LET O$(Z)=O$(Z+L) 2420 LET E$(Z)=E$(Z+L) 2422 LET D$(Z)=D$(Z+L) 2430 NEXT Z 2440 LET N=N-L 2499 RETURN 2504 LET Z=0 2505 FOR J=L TO N 2510 PRINT J;" ";N$(J, TO 18);D$(J): LET Z=Z+1 2550 NEXT J 2555 PRINT Z 2560 PAUSE 0 2990 RETURN 3000 CLS 3010 LET Q=VAL I$( TO 2)+12*VAL I$(4 TO 5)-12 3100 POKE 64256,O: POKE 64260,D 3200 LPRINT CHR$ 27+"N TEST XXXXX"'''''' 3205 PAUSE 0 3210 FOR J=L TO N 3220 IF D$(J,D)>"4" THEN LPRINT : GO TO 3230: REM current year's member 3221 IF D$(J,D)="0" THEN GO TO 3330: REM previously crossed off list 3222 IF VAL D$(J, TO L+L)+12*VAL D$(J,4 TO 5)>Q THEN LPRINT : GO TO 3230: REM less than 12 months since paid - still current 3225 LPRINT CHR$ 27+"XLAST ISSUE"+CHR$ 27+"Y-"+CHR$ 27+"Q$18.00; we need your support."+CHR$ 27+"N": LET D$(J,D)="0" 3230 LPRINT N$(J);" pd ";D$(J, TO 5);" ";D$(J,D) 3250 LPRINT R$(J) 3270 LPRINT C$(J);" "; 3280 LPRINT S$(J);" ";Z$(J) 3310 LPRINT '' 3330 NEXT J 3340 RETURN 3500 REM LPRINT "..." 3506 POKE 64256,O: POKE 64260,D 3507 LPRINT CHR$ 27+"N"+CHR$ 27+"!" 3510 LPRINT "CATS MEMBERSHIP, ";I$ 3515 LPRINT "Name # Address H# O#"' 3520 LET LINE=3 3560 FOR J=L TO N 3566 IF LINE=57 THEN LET LINE=2: PAUSE 0: LPRINT CHR$ 27+"NName # Address H# O#"' 3569 IF N$(J,1)<>N$(J-1,1) THEN LET LINE=LINE+1: LPRINT 3570 IF D$(J,D)<"4" THEN NEXT J 3575 LET LINE=LINE+1 3580 LPRINT CHR$ 27;"N"; 3590 LPRINT N$(J);CHR$ 27;"Q ";D$(J,6 TO );" "; 3600 LPRINT R$(J);" "; 3610 LPRINT C$(J);" "; 3620 LPRINT S$(J);" ";Z$(J);" ";H$(J);" ";P$(J) 3630 NEXT J 3640 RETURN 4000 LPRINT CHR$ 27+"N" 4002 POKE 64256,O: POKE 64260,D 4003 LPRINT CHR$ 27+"N"+CHR$ 27+"!" 4004 LET J$=Z$(L) 4010 LPRINT "CATS members, sorted by ZIP, ";I$ 4020 FOR J=L TO N 4025 IF D$(J,10)<"3" THEN GO TO 4050 4028 IF J$( TO 3)<>Z$(J, TO 3) THEN LPRINT : LET LINE=LINE+1 4030 LPRINT N$(J);CHR$ 27+"Q"+C$(J)+CHR$ 27+"N"+S$(J);" ";Z$(J) 4040 LET J$=Z$(J) 4050 NEXT J 4100 RETURN 4500 CLS : PRINT "SORT BY:","(1) N$(J) NAME"'',"(2) Z$(J) ZIP" 4510 INPUT "SELECT SORT,OR ANY VAR";J$: PRINT ''"SORTED BY: ";J$ 4512 IF J$="1" THEN LET J$="N$(J)" 4513 IF J$="2" THEN LET J$="Z$(J)" 4515 LET T=N 4520 LET Q=T 4525 LET Q=INT (Q/2): IF Q<L THEN LET X$=J$: RETURN 4530 IF Q/2=INT (Q/2) THEN LET Q=Q+1 4532 PRINT Q;" "; 4535 FOR I=L TO T-Q 4540 LET J=I 4545 IF VAL$ J$<=VAL$ (J$( TO 4)+"+Q"+J$(5 TO )) THEN GO TO 4750 4546 BEEP .02,50-Q 4550 LET A$=N$(J) 4552 LET B$=R$(J) 4554 LET G$=C$(J) 4556 LET X$=S$(J) 4558 LET K$=H$(J) 4560 LET L$=P$(J) 4562 LET M$=D$(J) 4564 LET Q$=O$(J) 4566 LET T$=E$(J) 4570 LET Y$=Z$(J) 4600 LET N$(J)=N$(J+Q) 4602 LET R$(J)=R$(J+Q) 4604 LET C$(J)=C$(J+Q) 4606 LET S$(J)=S$(J+Q) 4610 LET H$(J)=H$(J+Q) 4612 LET P$(J)=P$(J+Q) 4614 LET D$(J)=D$(J+Q) 4620 LET O$(J)=O$(J+Q) 4622 LET E$(J)=E$(J+Q) 4626 LET Z$(J)=Z$(J+Q) 4700 LET N$(J+Q)=A$ 4702 LET R$(J+Q)=B$ 4704 LET C$(J+Q)=G$ 4706 LET S$(J+Q)=X$ 4708 LET H$(J+Q)=K$ 4710 LET P$(J+Q)=L$ 4712 LET D$(J+Q)=M$ 4714 LET O$(J+Q)=Q$ 4716 LET E$(J+Q)=T$ 4720 LET Z$(J+Q)=Y$ 4730 LET J=J-Q 4740 IF J>0 THEN GO TO 4544 4750 NEXT I 4999 GO TO 4525 5000 CLS : PRINT "WILL BE SAVED AS; """;I$;"""" 5010 SAVE I$ LINE 5060: PRINT ''"Rewind tape and VERIFY" 5020 VERIFY I$ 5030 RETURN 5060 POKE 23561,30: POKE 23562,2: POKE 23658,8: POKE 23609,3: BORDER 0: PAPER 0: INK 7 5065 POKE 64260,0: FOR J=64263 TO 64265: POKE J,0: NEXT J 5070 INPUT "TODAY'S DATE? (MO-YR) ";I$ 5080 FOR I=L TO 5: IF I$(I)<"0" THEN GO TO 5100 5090 NEXT I 5100 LET I$( TO L+L)=I$( TO I-L): LET I$(3 TO )="-"+I$(I+L TO ) 5110 GO TO G 8996 STOP 9000 FOR J=N TO 196 STEP -1 9010 REM IF D$(J,10)<"3" THEN PRINT "OUT NO.";J,N$(J): GO SUB 2400 9020 GO SUB 2400 9050 NEXT J: STOP 9500 FOR J=L TO N: IF D$(J,10)="Q" THEN LET D$(J,10)="4": 9510 NEXT J