start tok64 d64-pCV5FZ 1 REM membership program - catalina commodore computer club, tucson az 2 CLR:POKE53281,1:POKE646,11 3 PRINT"{clear}{down*2}"TAB(12)"club member files" 4 PRINT"{space*13}{down}1{space*5}1-100":PRINT"{space*13}{down}2{space*5}101-199" 5 PRINT"{space*13}{down}3{space*5}201-300":PRINT"{space*13}{down}4{space*5}301-400" 6 PRINT"{space*13}{down}5{space*5}401-500":PRINT"{space*13}{down}6{space*5}501-600" 7 PRINT"{down*2}"TAB(12)"load which file?" 8 GOSUB22:ONVAL(a$)GOTO9,10,11,12,13,14 9 cc$="1-100":GOTO15 10 cc$="101-199":GOTO15 11 cc$="201-300":GOTO15 12 cc$="301-400":GOTO15 13 cc$="401-500":GOTO15 14 cc$="501-600":GOTO15 15 PRINT"{clear}{down*3}"TAB(13)"please wait":s$=CHR$(34):POKE198,0:nm=101:GOTO184 16 SAVE"@0:{c*4} members",8:PRINT"{down*2}saved & verifying" 17 VERIFY"{c*4} members",8:END 18 x$="{pound}":POKE198,4:POKE631,20:POKE632,20:POKE633,42:POKE634,32:INPUTx$ 19 IFx$="*"THEN51 20 RETURN 21 " 22 GETa$:IFa$=""THEN22 23 RETURN 24 st$(1)=st$(0):id%(1)=1:zp(1)=zp(0):e1(1)=e1(0):sa$(1)=sa$(0):cs$(1)=cs$(0) 25 tn$(1)=tn$(o):fi$(1)=fi$(0):e2(1)=e2(0):ed(1)=ed(0) 26 RETURN 27 DIMst$(nm),id%(nm),zp(nm),sa$(nm),cs$(nm),tn$(nm),cn%(nm),fi$(nm) 28 sp$="{space*12}":zs$=" " 29 f1$="{f1}":f5$="{f5}":f7$="{f7}":POKE650,255 30 do$="search for: ":di$="does member have: " 31 DIMe1(nm),e2(nm),ed(nm) 32 OPEN15,8,15:OPEN8,8,8,cc$+",s,r":INPUT#15,e,e$ 33 IFe$<>"ok"THENCLOSE8:CLOSE15:FORi=1TOnm:cn%(i)=i:NEXT:GOTO49 34 REM written by dave lovelock, modified by tom d'angelo & doug davis 35 INPUT#8,n:PRINT"{clear}{down*2}"TAB(3)"loading"n"members of file "cc$"{down}" 36 FORa=1TOn:INPUT#8,st$(a) 37 INPUT#8,fi$(a) 38 INPUT#8,sa$(a) 39 INPUT#8,cs$(a) 40 INPUT#8,zp(a) 41 INPUT#8,id%(a) 42 INPUT#8,e1(a) 43 INPUT#8,e2(a) 44 INPUT#8,ed(a) 45 INPUT#8,tn$(a):PRINT"{home}{down*5}"a:NEXT 46 FORa=1TOnm:INPUT#8,cn%(a):NEXT 47 REM a public domain program 48 CLOSE8:CLOSE15 49 PRINT"{clear}{down*2}"TAB(6)"next newsletter to be mailed" 50 PRINTTAB(8)"{down}{reverse on}month{reverse off}":GOSUB430:od=da 51 CLOSE4:PRINT"{clear}{down*6}{right*3}press any key to continue!":GOSUB547 52 PRINT"{clear}{down*2}"TAB(14)"club ";cc$ 53 fl=0:PRINT"{down}"TAB(16)"options" 54 PRINT"{down} 1{space*2}add a member 55 PRINT"{down} 2{space*2}delete a member 56 PRINT"{down} 3{space*2}listings 57 PRINT"{down} 4{space*2}search for a member by name 58 PRINT"{down} 5{space*2}search for a member by equipment 59 PRINT"{down} 6{space*2}edit a member 60 PRINT"{down} 7{space*2}copy member file 61 PRINT"{down} 8{space*2}list expired members" 62 PRINT"{down} 9{space*2}further options" 63 GOSUB22:ONVAL(a$)GOTO65,209,243,327,338,443,165,562,361 64 GOTO63 65 PRINT"{clear}{down}"TAB(12)"add a member" 66 PRINT:PRINT"{reverse on}last name{reverse off}{space*2}";:p3=12:p4=2:GOSUB382:ln$=LEFT$(x$+sp$,12) 67 IFa$=f1$THEN143 68 FORj=1TOLEN(x$):ww=ASC(MID$(x$,j,1)) 69 IFww=32ORww=37ORww=39ORww=45ORww>64ANDww<91THEN71 70 PRINT:PRINT" {down}{reverse on}only spaces and % ' - and alpha allowed{reverse off}{up*2}":GOTO66 71 NEXTj 72 PRINT:PRINT:PRINT"{reverse on}first name or initials{reverse off}{space*2}";:p3=12:p4=2:GOSUB382:fi$(0)=x$ 73 IFa$=f1$THEN8?0 74 FORj=1TOLEN(x$):ww=ASC(MID$(x$,j,1)) 75 IFww=32ORww=45ORww=38ORww=39ORww=46ORww>64ANDww<91THEN77 76 PRINT:PRINT" {down}{green}only spaces and .&'- and alpha allowed{reverse off}{up}":GOTO72 77 NEXTj 78 GOSUB370:PRINT:PRINT"{reverse on}membership #{reverse off}{space*2}";:p3=3:p4=3:GOSUB382:cn=VAL(x$) 79 IFa$=f1$THEN143 80 IFcn>nmTHENPRINT:GOTO83 81 FORj=1TO3:IFASC(MID$(x$,j,1))<48ORASC(MID$(x$,j,1))>57THENj=3:GOTO83 82 NEXTj:GOTO84 83 PRINT:PRINTTAB(12)"{reverse on}invalid number":GOTO78 84 st$(0)=ln$+zs$+x$ 85 IFcn%(cn)=0THENPRINT:PRINT"{down*2}{reverse on}already used":GOTO78 86 PRINT:PRINT"{down}{reverse on}street address{reverse off}{space*2}";:p3=26:p4=2:GOSUB382:sa$(0)=x$ 87 IFqa=1THEN478 88 IFa$=f1$THEN143 89 PRINT:PRINT"{down}{reverse on}city{reverse off}{space*2}";:p3=15:p4=2:GOSUB382:ci$=x$ 90 IFa$=f1$THEN143 91 FORj=1TOLEN(x$):ww=ASC(MID$(x$,j,1)) 92 IFww<>32THENIFww<65ORww>90THENj=15:PRINT:PRINT"{down}{reverse on}alpha only, please{reverse off}{up}":GOTO89 93 NEXTj 94 PRINT:PRINT"{down}{reverse on}state{reverse off}{space*2}";:p3=2:p4=2:GOSUB382:st$=x$:cs$(0)=ci$+"{space*2}"+st$ 95 IFa$=f1$THEN143 96 FORj=1TO2:ww=ASC(MID$(x$,j,1)) 97 IFww<65ORww>90THENj=15:PRINT:PRINT"{down}{reverse on}alpha only, please{reverse off}{up}":GOTO94 98 NEXTj 99 PRINT:PRINT"{down}{reverse on}zip code{reverse off}{space*2}";:p3=5:p4=5:GOSUB382:zp(0)=VAL(x$) 100 IFa$=f1$THEN143 101 FORj=1TO5:IFASC(MID$(x$,j,1))<48ORASC(MID$(x$,j,1))>57THENj=5:GOTO103 102 NEXTj:GOTO104 103 PRINT:PRINT:PRINTTAB(12)"{reverse on}invalid number";:GOTO99 104 PRINT:PRINT"{down}{reverse on}telephone{reverse off}{space*2}";:p3=14:p4=8:GOSUB382:tn$(0)=x$ 105 FORj=1TOLEN(x$):w=ASC(MID$(x$,j,1)) 106 IFw=32ORw=45ORw>39ANDw<44ORw>47ANDw<58THEN108 107 PRINT:PRINT"{down}{space*2}{reverse on}only{space*2}1234567890 ( ) - + * allowed{reverse off}{up}":GOTO104 108 NEXTj 109 IFqa=1THEN483 110 PRINT:IFa$=f1$THEN143 111 PRINT"{down*2}# of newsletters paid for{space*2}";:p3=2:p4=2:GOSUB382:ed(0)=VAL(x$)+od 112 IFa$=f1$THEN143 113 FORj=1TO2:IFASC(MID$(x$,j,1))<48ORASC(MID$(x$,j,1))>57THENj=2:GOTO115 114 NEXTj:GOTO116 115 PRINT:PRINT:PRINTTAB(12)"{reverse on}invalid number";:GOTO111 116 IFed(0)>16+odTHEN115 117 IFqa=1THEN491 118 GOSUB195 119 IFn=0THEN127 120 l=1:u=n 121 IFust$(i)THEN126 124 REM print:print:print"duplicate name":gosub70:goto630 125 u=i-1:GOTO121 126 l=i+1:GOTO121 127 PRINT:PRINT"{clear}{down*2}do you wish to add" 128 PRINT"{down*2}"fi$(0)TAB(13)st$(0) 129 PRINT"{down}"sa$(0):PRINT"{down}"cs$(0)" "zp(0):PRINT"{down*2}"tn$(0) 130 PRINT,,"{up}"ed(0)-od"more issues" 131 IFed(0)-od=2THENPRINT,,"{down*2}one more issue" 132 IFed(0)-od=1THENPRINT,,"{down*2}last issue" 133 IFed(0)-od<1THENPRINT"{down*2}expired" 134 GOSUB22:IFa$="y"THENcn%(cn)=0:fl=1:GOTO137 135 IFa$="n"THEN143 136 GOTO134 137 n=n+1:IFn=1THENGOSUB24:GOTO143 138 FORa=nTOlSTEP-1:st$(a+1)=st$(a):zp(a+1)=zp(a):e1(a+1)=e1(a):sa$(a+1)=sa$(a) 139 cs$(a+1)=cs$(a):fi$(a+1)=fi$(a):tn$(a+1)=tn$(a):e2(a+1)=e2(a):ed(a+1)=ed(a) 140 NEXT 141 st$(l)=st$(0):zp(l)=zp(0):e1(l)=e1(0):sa$(l)=sa$(0):cs$(l)=cs$(0) 142 tn$(l)=tn$(0):fi$(l)=fi$(0):e2(l)=e2(0):ed(l)=ed(0) 143 PRINT"{clear}{down*3}any more members?":GOSUB22:IFa$="y"THEN65 144 IFa$="n"ANDfl=0THEN51 145 IFa$="n"THEN147 146 GOTO143 147 PRINT"{clear}{down*3}please wait - i'm working hard!" 148 PRINT"{down*3}alphabetical list of members" 149 FORa=1TOn:id%(a)=a:PRINTst$(a)zp(a)e1(a)TAB(32)e2(a):NEXT 150 p8=n 151 IFp8<=1THEN162 152 p8=INT(p8/2):m8=n-p8 153 f8=0 154 REM public domain program by cccc inc, tucson, az. not for sale 155 FORj8=1TOm8 156 k8=j8+p8 157 IFzp(id%(j8))<=zp(id%(k8))THEN159 158 id%(0)=id%(j8):id%(j8)=id%(k8):id%(k8)=id%(0):f8=1 159 NEXT 160 IFf8>0THEN153 161 GOTO151 162 PRINT"{down*3}here are the members listed by zips" 163 FORa=1TOn:PRINTst$(id%(a))zp(id%(a))e1(id%(a))TAB(32)e2(id%(a)):NEXT 164 GOTO168 165 PRINT"{clear}{down*5}is disk in drive?" 166 GETa$:IFa$="y"THEN168 167 GOTO166 168 OPEN15,8,15,"s0:old"+cc$:PRINT#15,"r0:old"+cc$=cc$:CLOSE15 169 OPEN8,8,8,"@0:"+cc$+",s,w" 170 PRINT#8,n 171 FORa=1TOn:PRINT#8,st$(a) 172 PRINT#8,fi$(a) 173 PRINT#8,sa$(a) 174 PRINT#8,cs$(a) 175 PRINT#8,zp(a) 176 PRINT#8,id%(a) 177 PRINT#8,e1(a) 178 PRINT#8,e2(a) 179 PRINT#8,ed(a) 180 PRINT#8,tn$(a):PRINT"{home}"a:NEXT 181 FORa=1TOnm:PRINT#8,cn%(a):NEXT 182 CLOSE8 183 GOTO51 184 DIMin$(29):FORi=0TO29:READin$(i):NEXT:GOTO426 185 DATAc-64,prog basic,c-128,prog mach lang,other computer,other languages 186 DATA 1541 disk,scientific use,ham radio,business use,1571 disk 187 DATAhousehold use,other media,game playing,okidata/gemini,game writing 188 DATAvic-1525,music,other printer,graphics/sprites,1660 modem,teaching 189 DATA other modem,children 7-12 ,vic monitor,club volunteer,other monitor 190 DATAhardware repair,no file data,writing newsletter 191 n$="":eq(0)=0:PRINT"{clear}":FORi=0TO7:PRINT"{down}"di$eq$(i); 192 POKE198,2:POKE631,78:POKE632,157:INPUTn$:eq=0 193 IFLEFT$(n$,1)="y"THENeq=1 194 eq(0)=eq(0)+(2^i)*eq:NEXT:RETURN 195 PRINT"{clear}{down*2}":FORj=0TO29STEP2 196 PRINT" {reverse on}"CHR$(65+j)"{reverse off} "in$(j)TAB(20)"{reverse on}"CHR$(66+j)"{reverse off} "in$(j+1) 197 NEXTj:e1(0)=0:e2(0)=0:PRINT:PRINT 198 GETa$:IFa$=""THEN198 199 IFa$="{arrow left}"THEN195 200 IFa$=CHR$(13)THENRETURN 201 IFa$CHR$(94)THEN198 202 IFa$57THENi=3:GOTO216 215 NEXT:GOTO217 216 PRINT:PRINT"{down}"TAB(12)"invalid number":GOTO212 217 dn$=ln$+zs$+x$ 218 IFn=0THEN226 219 l=1:u=n 220 IFust$(i)THEN225 223 PRINT"{down}found{down}":GOTO227 224 u=i-1:GOTO220 225 l=i+1:GOTO220 226 PRINT"{down}{reverse on}not here":GOTO237 227 IFi<>nTHEN232 228 st$(n)="":zp(n)=0:e1(n)=0:sa$(n)="":cs$(n)="":fi$(n)="" 229 cn%(VAL(RIGHT$(st$(n),3)))=VAL(RIGHT$(st$(n),3)) 230 tn$(n)="":e2(n)=0:fl=1:ed(n)=0 231 n=n-1:GOTO237 232 cn%(VAL(RIGHT$(st$(i),3)))=VAL(RIGHT$(st$(i),3)) 233 FORa=iTOn-1:st$(a)=st$(a+1):zp(a)=zp(a+1):e1(a)=e1(a+1):e2(a)=e2(a+1) 234 sa$(a)=sa$(a+1):cs$(a)=cs$(a+1):tn$(a)=tn$(a+1):fi$(a)=fi$(a+1) 235 ed(a)=ed(a+1) 236 NEXT:GOTO228 237 PRINT"{down*2}any more deletions?"; 238 GOSUB22:IFa$="y"THEN209 239 IFa$="n"ANDfl<>0THEN147 240 IFa$="n"THEN51 241 GOTO238 242 GOTO51 243 PRINT"{clear}{down*2}"TAB(15)"output on 244 PRINT"{down*2} 1 screen 245 PRINT"{down*2} 2 printer 246 GETb$:ONVAL(b$)GOTO248,261 247 GOTO246 248 FORi=1TOn 249 PRINT"{clear}":GOSUB374 250 GETa$:IFa$=""THEN250 251 IFa$="{f3}"THENzz=i:i=n:NEXTi:i=zz:fl=0:GOTO474 252 IFa$=f1$THENi=n:GOTO260 253 IFa$="p"THENGOSUB514:OPEN4,4:PRINT#4:PRINT#4,"{space*5}"fi$(i)" "st$(i) 254 IFa$="p"THENPRINT#4,"{space*5}"sa$(i):PRINT#4,"{space*5}"cs$(i)"{space*3}"zp(i) 255 IFa$="p"THENPRINT#4:PRINT#4:CLOSE4:GOTO249 256 IFa$=f5$ANDi>1THENi=i-2:GOTO260 257 IFa$=f5$ANDi=1THENi=0:GOTO260 258 IFa$=f7$ANDi=nTHENi=n-1:GOTO260 259 IFa$<>f7$THEN250 260 NEXT:GOTO51 261 PRINT"{clear}{down*2}"TAB(13)"hard copy of 262 PRINT"{down*2} 1 telephone list (alpha order) 263 PRINT"{down*2} 2 mailing list 264 PRINT"{down*2} 3 quantity of zip codes 265 PRINT"{down*2} 4 telephone list (zip 0rder) 266 PRINT"{down*2} 5 address list (alpha order) 267 PRINT"{down*2} 6 expiration dates" 268 PRINT"{down*2} 7 main menu" 269 GETb$:ONVAL(b$)GOTO271,286,309,317,313,550,51 270 GOTO269 271 INPUT"{clear}{down*5}list only members above number{space*2}0{left*3}";lk 272 IFlk>nTHENPRINT"{down*5}{right*3}not that many members.":FORpv=1TO2000:NEXT:GOTO271 273 OPEN4,4:PRINT#4:FORa=1TOn 274 IFVAL(RIGHT$(st$(a),3))<(lk+1)THENNEXT 275 PRINT#4,st$(a)","CHR$(16)"16"fi$(a)CHR$(16)"27"RIGHT$("{space*3}"+tn$(a),10); 276 PRINT#4,CHR$(16)"39Z"; 277 a=a+1:IFa>nTHEN282 278 tt$=RIGHT$("{space*3}"+tn$(a),10) 279 IFVAL(RIGHT$(st$(a),3))<(lk+1)THEN277 280 PRINT#4,CHR$(16)"42"st$(a)","CHR$(16)"59"fi$(a)CHR$(16)"70"RIGHT$("{space*3}"+tn$(a),10) 281 NEXT 282 PRINT#4:PRINT#4,"{space*3}for changes or corrections contact doug at 790-4162" 283 PRINT#4,"********************************************************************"; 284 PRINT#4,"************" 285 PRINT#4:PRINT#4:CLOSE4:GOTO51 286 PRINT"{clear}"SPC(252)SPC(80)"{reverse on}z{reverse off}ip code order" 287 PRINTSPC(57)"or"SPC(74)"{reverse on}a{reverse off}lpha order 288 GETa$:IFa$="z"THEN298 289 IFa$<>"a"THEN288 290 GOSUB514 291 OPEN4,4:FORa=1TOn 292 IFed(a)-od<1THENPRINT"{reverse on}" 293 PRINT#4:PRINT#4,"{space*5}"fi$(a)" "st$(a) 294 PRINT#4,"{space*5}"sa$(a) 295 PRINT#4,"{space*5}"cs$(a)"{space*3}"zp(a)"{reverse off}":PRINT#4:PRINT#4 296 NEXT:CLOSE4 297 GOTO51 298 REM printer here mailing using st$(id%(a)) 299 GOSUB514 300 OPEN4,4:FORa=1TOn 301 IFed(id%(a))-od<1THENa=a+1 302 PRINT#4:PRINT#4,"{space*5}"fi$(id%(a))" "st$(id%(a)) 303 PRINT#4,"{space*5}"sa$(id%(a)) 304 PRINT#4,"{space*5}"cs$(id%(a))"{space*3}"zp(id%(a)):PRINT#4:PRINT#4 305 IFed(id%(a))-od=2THENGOSUB503 306 IFed(id%(a))-od=1THENGOSUB509 307 NEXT:CLOSE4 308 GOTO51 309 OPEN4,4:PRINT#4:cz=1 310 FORa=1TOn:IFzp(id%(a))=zp(id%(a+1))THENcz=cz+1:NEXTa 311 PRINT#4,STR$(zp(id%(a)))LEFT$(STR$(cz*-1)+"{space*2}",4);:cz=1:NEXTa 312 PRINT#4:CLOSE4:GOTO51 313 GOSUB 621 314 OPEN4,4:FORa=1TOn 315 PRINT#4,st$(a)CHR$(16)"17"fi$(a)CHR$(16)"29"sa$(a)CHR$(16)"57"zp(a); 316 PRINT#4,CHR$(16)"67"RIGHT$("{space*7}"+tn$(a),10):NEXT:CLOSE4:GOTO51 317 REM printer here for elective listing 318 OPEN4,4:FORa=1TOn 319 IFLEN(tn$(id%(a)))>8THENtt$="26"+tn$(id%(a)):GOTO321 320 tt$="28"+tn$(id%(a)) 321 PRINT#4,st$(id%(a))","CHR$(16)"16"fi$(id%(a))CHR$(16)tt$;:a=a+1 322 IFLEN(tn$(id%(a)))>8THENtt$="70"+tn$(id%(a)):GOTO324 323 tt$="72"+tn$(id%(a)) 324 PRINT#4,CHR$(16)"44"st$(id%(a))","CHR$(16)"60"fi$(id%(a))CHR$(16)tt$ 325 NEXT 326 PRINT#4:CLOSE4:GOTO51 327 PRINT"{clear}{down*4}":w=1:INPUT"member's last name";pt$ 328 FORk=1TOn:IFpt$<=st$(k)THEN330 329 NEXTk:k=n+1 330 IFpt$=st$(k)THENu=k+w:GOTO332 331 u=k+w-1 332 l=k-w 333 IFu>nTHENu=n 334 IFl<1THENl=1 335 PRINT"{clear}":l=l+1:i=l:GOSUB374:PRINT 336 GOTO409 337 GOTO51 338 PRINT"{clear}{down*2}"TAB(13)"output on 339 REM program by cccc inc tucson az 340 PRINT"{down*2} 1 screen 341 PRINT"{down*2} 2 printer 342 GETb$:ONVAL(b$)GOTO344,359 343 GOTO342 344 kj=0:REM change this to reflect e1 & e2 345 PRINT"{clear}{down*3}"TAB(13)"equipment" 346 GOSUB195:IFkj=1THENOPEN4,4:PRINT#4:CLOSE4 347 FORi=1TOn 348 IF(e1(i)ANDe1(0))<>e1(0)THEN354 349 IF(e2(i)ANDe2(0))<>e2(0)THEN354 350 IFkj=0THENPRINT"{clear}":GOSUB374 351 IFkj=1THENGOSUB360 352 GETa$:IFkj=0ANDa$=""THEN352 353 IFa$=f1$THENi=n:GOTO51 354 NEXT:PRINT:PRINT"{down*4}"TAB(13)"{reverse on}that is all":PRINTTAB(11)"{down*2}another search?" 355 IFkj=1THENOPEN4,4:PRINT#4,"that's all":PRINT#4:PRINT#4:CLOSE4 356 GETa$:IFa$="n"THENkj=0:GOTO51 357 IFa$="y"THEN345 358 GOTO356 359 kj=1:GOTO345 360 OPEN4,4:PRINT#4,st$(i)" Z{space*2}";:CLOSE4:RETURN 361 PRINT"{clear}{down*3}"TAB(16)"options" 362 PRINT"{down} 1{space*2}return to menu" 363 PRINT"{down} 2{space*2}set new date & resume" 364 PRINT"{down} 3{space*2}load next member file" 365 PRINT"{down} 4{space*2}make return addr. labels" 366 PRINT"{down} 5{space*2}make 4-line mail labels" 367 PRINT"{down} 6{space*2}quit" 368 GOSUB22:ONVAL(a$)GOTO51,49,2,580,597,369 369 END 370 PRINT:PRINT"{down}the following is the next free member":PRINT"number{space*3}{reverse on}"; 371 FORi=1TOnm 372 IFcn%(i)<>0THENPRINTRIGHT$("00"+RIGHT$(STR$(i),LEN(STR$(i))-1),3):i=nm 373 NEXT:PRINT:RETURN 374 PRINT"{down}press {reverse on}p{reverse off} for mail label 375 PRINT"{down*2}"fi$(i)TAB(13)st$(i) 376 PRINT"{down}"sa$(i):PRINT"{down}"cs$(i)" "zp(i):PRINT"{down*2}"tn$(i) 377 PRINT,,"{up}"ed(i)-od"more issues" 378 IFed(i)-od=2THENPRINT,,"{down*2}one more issue" 379 IFed(i)-od=1THENPRINT,,"{down*2}last issue" 380 IFed(i)-od<1THENPRINT"{down*2}expired" 381 RETURN 382 POKE198,0:REM p3 is max length of x$ 383 REM p4 is min length of x$ 384 x$="":FORq=1TOp3:PRINT"{cm d}";:NEXT:FORq=1TOp3:PRINT"{left}";:NEXT 385 GETa$:IFa$=""THEN385 386 IFa$=f1$THENRETURN 387 IFa$=CHR$(20)THEN396 388 IFa$=CHR$(148)THEN385 389 IFa$=CHR$(34)THEN385 390 IFa$=","THEN385 391 IFa$=":"THEN385 392 IFa$=CHR$(13)THEN406 393 IFa$<>"{arrow left}"THEN400 394 IFLEN(x$)=0THEN385 395 pl=LEN(x$):FORq=1TOpl:PRINT"{left}";:NEXT:GOTO384 396 IFx$=""THEN385 397 IFLEN(x$)=1THENx$="":GOTO399 398 x$=LEFT$(x$,LEN(x$)-1) 399 a$="{left}{cm d}{left}":GOTO404 400 IFa$<" "THEN385 401 IFa$>"{pi}"THEN385 402 IFLEN(x$)=p3THENPRINT:PRINT"{down}{reverse on}re-enter data, please{reverse off}":GOTO382 403 x$=x$+a$ 404 PRINTa$; 405 GOTO385 406 IFLEN(x$)1THENl=l-1:GOTO408 410 IFa$=f5$THENl=1:GOTO408 411 IFa$="{f3}"THENi=l:fl=0:GOTO474 412 IFa$=f1$THEN51 413 IFa$="p"THENGOSUB514:OPEN4,4:PRINT#4:PRINT#4,"{space*5}"fi$(i)" "st$(i) 414 IFa$="p"THENPRINT#4,"{space*5}"sa$(i):PRINT#4,"{space*5}"cs$(i)"{space*3}"zp(i) 415 IFa$="p"THENPRINT#4:PRINT#4:CLOSE4:GOTO408 416 IFa$<>f7$THEN409 417 IFl"l"THEN431 432 mo=ASC(a$)-64 433 PRINT,"{down*2}{space*5}"m$(mo) 434 PRINT"{home}{down*3}"TAB(15)"{down}{reverse on}and{reverse off}{space*3}{reverse on}year{reverse off}" 435 PRINT"{home}{down*6}":FORi=1TO5:PRINTTAB(20)" {reverse on}"CHR$(64+i)"{reverse off} "y$(i):PRINT:NEXT 436 GETa$:IFa$<"a"ORa$>"e"THEN436 437 ye=ASC(a$)-65:da=12*ye+mo 438 PRINT,,"{down*3}"y$(ye+1) 439 PRINTTAB(6)"{reverse on}are they correct?{space*2}(y/n){reverse off} 440 GETa$:IFa$="n"THENPRINT"{clear}"TAB(15)"{down*4}{reverse on}try again{reverse off}":GOTO430 441 IFa$<>"y"THEN440 442 RETURN 443 PRINT"{clear}{down*2}"TAB(12)"name, city, state":PRINTTAB(9)"zip code, membership#" 444 PRINTTAB(12)"{reverse on}cannot be edited{reverse off}" 445 PRINTTAB(11)"return to menu and" 446 PRINTTAB(6)"delete and re-enter member" 447 PRINTTAB(14)"{down*3}{reverse on}you can edit{reverse off}{down}" 448 PRINTTAB(11)"street addresses" 449 PRINTTAB(11)"telephone number" 450 PRINTTAB(9)"subscription renewals" 451 PRINTTAB(15)"{down*2}select" 452 PRINTTAB(14)"{down}{reverse on}r{reverse off}eturn to menu" 453 PRINTTAB(14)"{down}{reverse on}e{reverse off}dit" 454 GETa$:IFa$="r"THEN51 455 IFa$<>"e"THEN454 456 fl=0 457 PRINT"{clear}{down}{reverse on}last name{reverse off}{space*2}";:p3=12:p4=2:GOSUB382:ln$=LEFT$(x$+sp$,12) 458 IFa$=f1$THEN498 459 PRINT:PRINT:PRINT"{reverse on}membership #{reverse off}{space*2}";:p3=3:p4=3:GOSUB382 460 IFa$=f1$THEN498 461 FORj=1TO3:IFASC(MID$(x$,j,1))<48ORASC(MID$(x$,j,1))>57THENj=3:GOTO463 462 NEXTj:GOTO464 463 PRINT:PRINT"{down}"TAB(12)"invalid number":GOTO452 464 dn$=ln$+zs$+x$ 465 IFn=0THEN473 466 l=1:u=n 467 IFust$(i)THEN472 470 PRINT"{down}found{down}":FORqq=1TO2000:NEXT:GOTO474 471 u=i-1:GOTO467 472 l=i+1:GOTO467 473 PRINT"{down}{reverse on}not here":FORqq=1TO2000:NEXT:GOTO498 474 PRINT"{clear}{down*2}do you wish to change the address":PRINT"{down*2}"sa$(i) 475 GETa$:IFa$="n"THEN479 476 IFa$<>"y"THEN475 477 qa=1:GOTO86 478 qa=0:sa$(i)=sa$(0):fl=1 479 PRINT"{clear}{down*2}do you wish to change the telephone #":PRINT"{down*2}"tn$(i) 480 GETa$:IFa$="n"THEN484 481 IFa$<>"y"THEN480 482 qa=1:GOTO104 483 qa=0:tn$(i)=tn$(0):fl=1 484 PRINT"{clear}{down*2}do you wish to change the expiration":PRINT,"{down*2}"ed(i)-od"more issues" 485 IFed(i)-od=2THENPRINT,,"{down*2}one more issue" 486 IFed(i)-od=1THENPRINT,,"{down*2}last issue" 487 IFed(i)-od<1THENPRINT,,"{down*2}expired" 488 GETa$:IFa$="n"THEN492 489 IFa$<>"y"THEN488 490 qa=1:GOTO111 491 qa=0:ed(i)=ed(i)+VAL(x$):fl=1 492 PRINT"{clear}{down*2}do you wish to change the equipment 493 GETa$:IFa$="n"THEN497 494 IFa$<>"y"THEN493 495 GOSUB195 496 e1(i)=e1(0):e2(i)=e2(0):fl=1 497 REM again and save 498 PRINT"{clear}{down*3}"TAB(10)"edit another member?" 499 GETa$:IFa$="y"THEN457 500 IFa$<>"n"THEN499 501 IFfl=1THEN165 502 GOTO51 503 PRINT#4,"*********************************" 504 PRINT#4,"*"CHR$(14)"{space*3}renew now"CHR$(15) "{space*7}*" 505 PRINT#4,"*{space*31}*" 506 PRINT#4,"*"CHR$(14) " one more issue"CHR$(15)" *" 507 PRINT#4,"*********************************" 508 PRINT#4:RETURN 509 PRINT#4,"*********************************" 510 PRINT#4,"*"CHR$(14)"{space*3}dont wait"CHR$(15) "{space*7}*" 511 PRINT#4,"*"CHR$(14)"{space*3}renew now"CHR$(15) "{space*7}*" 512 PRINT#4,"*"CHR$(14) "{space*3}last issue{space*2}"CHR$(15)" *" 513 PRINT#4,"*********************************":PRINT#4:RETURN 514 PRINT"{clear}{down*3}{space*14}press" 515 PRINT"{space*8}{down*3}{reverse on}t{reverse off}est to align labels" 516 PRINT"{down*3}{space*9}{reverse on}r{reverse off}un when ready" 517 OPEN3,4 518 GET zy$:IF zy$=""THEN518 519 IFzy$="r"THENCLOSE3:RETURN 520 IFzy$<>"t"THEN518 521 PRINT#3,"****{space*25}****":PRINT#3 522 PRINT#3,"*{space*8}this is a test{space*9}*" 523 PRINT#3:PRINT#3,"****{space*25}****":PRINT#3:GOTO518 524 PRINT"{clear}{down*2}"TAB(6)"next newsletter to be mailed" 525 PRINTTAB(8)"{down}{reverse on}month{reverse off}":GOSUB526:od=da 526 PRINT:FORi=1TO12:PRINT"{space*7}{reverse on}"CHR$(64+i)"{reverse off} "m$(i):NEXT 527 GETa$:IFa$<"a"ORa$>"l"THEN527 528 mo=ASC(a$)-64 529 PRINT,"{down*2}{space*5}"m$(mo) 530 PRINT"{home}{down*3}"TAB(15)"{down}{reverse on}and{reverse off}{space*3}{reverse on}year{reverse off}" 531 PRINT"{home}{down*6}":FORi=1TO5:PRINTTAB(20)" {reverse on}"CHR$(64+i)"{reverse off} "y$(i):PRINT:NEXT 532 GETa$:IFa$<"a"ORa$>"e"THEN532 533 ye=ASC(a$)-65:da=12*ye+mo 534 PRINT,,"{down*3}"y$(ye+1) 535 PRINTTAB(6)"{reverse on}are they correct?{space*2}(y/n){reverse off} 536 GETa$:IFa$="n"THENPRINT"{clear}"TAB(15)"{down*4}{reverse on}try again{reverse off}":GOTO526):PRINT:NEXT 537 IFa$<>"y"THEN440$>"e"THEN436 538 RETURN(a$)-65:da=12*ye+mo 539 PRINT"{clear}{down*2}do you wish to change the expiration":PRINT,"{down*2}"ed(i)-od"more issues" 540 IFed(i)-od=2THENPRINT,,"{down*2}one more issue" 541 IFed(i)-od=1THENPRINT,,"{down*2}last issue" 542 IFed(i)-od<1THENPRINT,,"{down*2}expired" 543 GETa$:IFa$="n"THEN492 544 IFa$<>"y"THEN488 545 qa=1:GOTO111 546 qa=0:ed(i)=ed(i)+VAL(x$):fl=1 547 s=54272:FORl=0TO24:POKEs+l,0:NEXT:POKEs+1,130:POKEs+5,9:POKEs+15,30:POKEs+24,15 548 FORl=1TO999:POKEs+4,21:FORt=1TO500:GETa$:IFa$<>""THENPOKEs+24,0:POKEs+4,0:RETURN 549 NEXT:POKEs+4,20:FORt=1TO100:NEXT:NEXT:POKEs+24,0:RETURN 550 OPEN4,4 551 FORi=1TO12:PRINT#4 552 PRINT#4,"these memberships expire "i"months from{space*2}"m$(mo-1)" "y$(ye+1) 553 FORa=1TOn 554 IFed(a)-od=iTHENGOSUB556 555 NEXT:NEXT:GOTO557 556 PRINT#4,st$(a)" Z{space*2}";:RETURN 557 PRINT#4:PRINT#4,"these memberships are expired at this time!" 558 FORa=1TOn 559 IFed(a)-od<=0THENGOSUB556 560 NEXT:CLOSE4:GOTO51 561 END 562 REM list current expirations 563 PRINT"{clear}{down}{reverse on}{right*12}memberships{reverse off}" 564 PRINT"{reverse on}{right*12}expired now{reverse off}{down*2}" 565 FORa=1TOn 566 IFed(a)-od<=0THENGOSUB571 567 NEXT 568 PRINTCHR$(13)"{down*2}{right*2}{reverse on}hit any key to return to menu{reverse off}" 569 GETpp$:IF pp$=""THEN569 570 GOTO51 571 PRINT st$(a)" Z{space*2}";:RETURN 572 END 573 OPEN15,8,15 574 INPUT#15,a,b$,c,d 575 PRINTa,b$,c,d, 576 OPEN4,4 577 FORa=1TOn 578 PRINT#4,st$(a)CHR$(16)"17"fi$(a)CHR$(16)"29"sa$(a)CHR$(16)"61"zp(a); 579 PRINT#4,CHR$(16)"67"RIGHT$("{space*7}"+tn$(a),10):NEXT:CLOSE4:GOTO51 580 REM subroutine for return addr. labels 581 PRINT"{clear}{right*8}{reverse on}return address labels" 582 INPUT"{down*2}how many labels";n9 583 IF n9=0 THEN 361 584 CLOSE4:OPEN4,4 585 FOR x8= 1 TO n9 586 PRINT"{down}printing label";x8;"{up*2}{left}" 587 PRINT#4,"change line 587 for name of club" 588 PRINT#4,"change line 588 " 589 PRINT#4,"change line 589 " 590 PRINT#4,"change line 590 " 591 PRINT#4:PRINT#4 592 NEXT x8 593 PRINT"{down*3}do you want more (y/n)" 594 GET k9$:IF k9$="" THEN 594 595 IF k9$="y" THEN 581 596 GOTO361 597 REM subroutine for 4-line labels 598 PRINT"{clear}{right*11}{reverse on}mailing labels{reverse off}" 599 INPUT"{down*2}how many labels";n7 600 IF n7 = 0 THEN 361 601 a6$="":b6$="":c6$="" 602 PRINT"{down*2}enter the label information" 603 INPUT"{down*2}{right*2}1st line";a6$ 604 INPUT"{down*2}{right*2}2nd line";b6$ 605 INPUT"{down*2}{right*2}3rd line";c6$ 606 INPUT"{down*2}{right*2}4th line";d6$ 607 CLOSE4:OPEN4,4 608 REM program by cccc inc tucson az 609 FOR x9 = 1 TO n7 610 PRINT"{down}printing label";x9;"{up*2}{left}" 611 PRINT#4,a6$ 612 PRINT#4,b6$ 613 PRINT#4,c6$ 614 PRINT#4,d6$ 615 PRINT#4:PRINT#4 616 NEXT x9 617 PRINT"{down*3}do you want more (y/n)" 618 GET k8$:IF k8$="" THEN 618 619 IF k8$="y" THEN 598 620 GOTO361 621 REM subroutine for printing member lists 622 OPEN4,4:PRINT#4,CHR$(14)TAB(12)"{c*4} members"CHR$(13) 623 PRINT#4,TAB(13)"(";cc$;")"CHR$(15)CHR$(13):CLOSE4 624 RETURN stop tok64 (bastext 1.0)