Capital Area Timex Sinclair Users Group Membership Files

Developer(s): Mark Fisher
Date: 1987
Type: Program
Platform(s): TS 2068

Explore the CATS membership database, as of late 1987.

Related Content

Gallery

Capital Area Timex Sinclair Users Group Membership Files

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
Scroll to Top