Listing of file='CHEQPR.BAS;01' on disk='vmedia/utility_2-sector.ccvf'
10 REM LATER VERSION 12 INPUT "MOUNT DATA DISK (IF DESIRED):HIT RETURN WHEN READY:";F$ 15 CLEAR 135:PLOT 6,6,12,15,3,27,10:PRINT "CLIENT" 16 PLOT 15,27,18,7,15 17 GOSUB 9000:PLOT 12,15 20 INPUT "ENTER DATE OF NEXT TRANSACTION (D,M,Y) ";CD,CM,CY 25 PLOT 6,2 30 FILE "T",500 40 FILE "R",1,"BAL"+ RIGHT$ (STR$ (CY),2)+ ".RND",1 45 IF ER= 14AND CM< > 1THEN PUT 1,CM- 1;BF,BF 50 RESTORE 100:FOR I= 1TO CM:READ F$:NEXT I 60 FILE "R",2,F$+ RIGHT$ (STR$ (CY),2)+ ".RND",6 65 IF CM= 1AND ER= 14THEN 2200 70 IF ER= 14THEN GET 1,CM- 1,5;PB 80 IF ER= 14THEN PUT 1,CM;0,PB,CHR$ (0)[1],"V"[1] 100 DATA JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC 103 PLOT 12,6,69:GOTO 110 105 PLOT 6,6,3,5,31:INPUT "PRESS RETURN WHEN YOU ARE READY TO CONTINUE";QQ 107 GOTO 114 110 PRINT 114 PLOT 12,6,7:PRINT SPC( 10);"DAILY JOURNAL" 115 PLOT 10,10,6,6 120 PRINT "1 ) ENTER NEW WITHDRAWAL":PRINT 130 PRINT "2 ) AMEND WITHDRAWAL":PRINT 140 PRINT "3 ) ENTER DEPOSIT":PRINT 150 PRINT "4 ) AMEND DEPOSIT":PRINT 160 PRINT "5 ) BALANCE FOR MONTH":PRINT 170 PRINT "6 ) DISPLAY YEAR BY CATEGORY":PRINT 175 PRINT "7 ) RESTART THIS PROGRAM":PRINT 180 PRINT "8 ) END THIS PROGRAM" 185 PLOT 10,10,10:INPUT "WHICH DO YOU WISH TO DO? ";SB 190 ON SBGOTO 1000,3000,2000,4000,5000,6000,15 195 FILE "C",1,2:END 200 DMY= D+ 32* M+ 416* Y:RETURN 220 Y= INT (DMY/ 416) 230 M= INT ((DMY- Y* 416)/ 32) 240 D= DMY- 416* Y- 32* M 250 RETURN 260 AM= INT (VAL (AM$)* 100+ .5):RETURN 270 IF AM> = 0THEN SG$= "":AM= ABS (AM) 275 IF AM< 0THEN SG$= "-":AM= ABS (AM) 280 A1$= STR$ (INT (AM/ 100)) 290 A2$= "."+ RIGHT$ (STR$ (AM+ 100- INT (AM/ 100)* 100),2) 300 AM$= RIGHT$ (" "+ SG$+ A1$+ A2$,12):RETURN 500 FILE "E",FL,ER,LN 505 IF LN= 525THEN INPUT "BALANCE FORWARD ";BF:BF= INT (BF* 100+ .5):GOTO 40 510 ON FLGOTO 520,560 520 IF ER= 14THEN FILE "N","BAL"+ RIGHT$ (STR$ (CY),2)+ ".RND",12,10,12 525 FILE "R",3,"BAL"+ RIGHT$ (STR$ (CY- 1),2)+ ".RND",1:GET 3,12,5;BF:FILE "C",3 530 IF ER< > 14THEN PRINT "DISK ERROR":END 533 M$= RIGHT$ (STR$ (M),2):D$= RIGHT$ (STR$ (D),2):Y$= RIGHT$ (STR$ (Y),2) 550 GOTO 40 560 IF ER< > 14THEN 530 580 INPUT "NUMBER OF CHEQUES ANTICIPATED ";NC 590 FILE "N",F$+ RIGHT$ (STR$ (CY),2)+ ".RND",INT ((NC/ 4)+ .8)* 4,32,4:GOTO 60 900 REM 1000 PLOT 12,6,2,10 1010 PRINT " 1 ) " 1015 PRINT " 2 ) " 1020 PRINT " 3 ) " 1035 PRINT " 4 ) " 1040 PRINT " 5 ) " 1045 PRINT " 6 ) " 1050 PRINT " 7 ) " 1055 PRINT " 8 ) " 1060 PRINT " 9 ) " 1065 PRINT "10 ) " 1070 PRINT "11 ) " 1075 PRINT "12 ) " 1080 PRINT "13 ) " 1085 PRINT "14 ) " 1090 PRINT "15 ) " 1095 PRINT "16 ) " 1100 PRINT "17 ) " 1105 PRINT "18 ) " 1110 PRINT "19 ) " 1115 PRINT "20 ) " 1145 IF SB= 6THEN RETURN 1150 GET 1,CM,9;NC$[1]:NC= ASC (NC$):NC= NC+ 1 1200 PRINT :PRINT :INPUT "DATE OF CHEQUE (D,M,Y) ";D,M,Y 1210 IF M< > CMTHEN RA= 1220:GOTO 8000 1220 GOSUB 200 1225 PUT 1,CM,9;CHR$ (NC)[1] 1230 PUT 2,NC;DMY 1240 INPUT "CHEQUE NUMBER ";CN 1260 INPUT "NAME OF PAYEE ";PY$ 1280 INPUT "CATEGORY ";CT 1300 INPUT "AMOUNT OF CHEQUE ";AM$ 1310 GOSUB 260 1320 PUT 2,NC,5;CN,PY$[15],CHR$ (CT)[1],- AM 1330 GOSUB 7000 1340 AM= PB 1350 GOSUB 270 1355 REM :GOSUB8500 1360 PRINT "BALANCE $"; 1361 IF SG$= "-"THEN PLOT 17 1363 IF SG$= ""THEN PLOT 20 1365 PRINT AM$:PLOT 23 1367 FOR I= 1TO 1000:NEXT I 1370 GOTO 105 1900 REM 2000 PLOT 12,6,2,10 2010 PRINT "1 ) " 2020 PRINT "2 ) " 2030 PRINT "3 ) " 2040 PRINT "4 ) " 2050 PRINT "5 ) " 2055 IF SB= 6THEN RETURN 2060 PLOT 6,1,10,10 2062 GET 1,CM,9;NC$[1] 2065 NC= ASC (NC$)+ 1 2068 PUT 1,CM,9;CHR$ (NC)[1] 2070 INPUT "DATE OF DEPOSIT (D,M,Y) ";D,M,Y 2080 IF M< > CMTHEN RA= 2090:GOTO 8000 2090 GOSUB 200 2120 INPUT "NAME OF PAYER ";PY$ 2140 INPUT "CATEGORY ";CT 2160 INPUT "AMOUNT OF DEPOSIT $";AM$ 2170 GOSUB 260 2180 PUT 2,NC;DMY,0,PY$[15],CHR$ (CT)[1],AM 2190 GOTO 1330 2200 PUT 1,1;BF,BF,CHR$ (1)[1],"V"[1] 2210 PUT 2,1;416* CY+ 32,0,"BAL FROM LST YR"[15],CHR$ (0)[1],BF,BF 2220 GOTO 1330 3000 INPUT "INPUT CHEQUE DATE ";D,M,Y 3020 IF CM< > MTHEN 3200 3030 GET 1,CM,9;NC$[1]:FE= ASC (NC$) 3040 INPUT "CHEQUE NUMBER ";CN 3050 FOR NC= 1TO FE 3060 GET 2,NC;DMY,CK 3070 IF CK= CNTHEN 1260 3080 NEXT NC 3090 PRINT "NOT FOUND " 3100 FOR I= 1TO 500:NEXT I:GOTO 110 3200 FILE "C",2:RESTORE 100 3210 FOR I= 1TO M:READ M$:NEXT I 3220 FILE "R",2,M$+ RIGHT$ (STR$ (Y),2)+ ".RND",6 3225 CM= M 3230 IF CY= YTHEN 3030 3240 FILE "C",1:FILE "R",1,"BAL"+ "RIGHT$(STR$(Y),2)+".RND ",1 3250 CY= Y:GOTO 3030 4000 REM 4010 INPUT "INPUT DATE OF DEPOSIT ";D,M,Y 4020 IF M< > CMTHEN 4200 4030 GET 1,CM,9;NC$[1] 4040 LM= ASC (NC$) 4050 GOSUB 200 4060 FOR NC= 1TO LM 4070 GET 2,NC;CD,DV$[20],AM 4080 IF CD= DMYAND AM> 0THEN 2120 4090 NEXT NC 4100 PRINT "NOT FOUND":FOR I= 1TO 500:NEXT I:GOTO 110 4200 RESTORE 100 4210 FOR I= 1TO M:READ M$:NEXT I 4220 FILE "C",2 4230 FILE "R",2,M$+ RIGHT$ (STR$ (Y),2)+ ".RND",6 4240 CM= M:IF Y= CYTHEN 4020 4250 FILE "C",1 4260 FILE "R",1,"BAL"+ RIGHT$ (STR$ (Y),2)+ ".RND",1 4270 CY= Y:GOTO 4020 5000 PLOT 12,10 5002 FLG= PEEK (33265):REM SAVE THE BASIC OUTPUT IN FLG 5003 PLOT 27,13:REM SET TERMINAL MODE. ALL OUTPUT TO SERIAL PORT 5005 IF CM= 1THEN PB= 0:GOTO 5020 5010 GET 1,CM- 1,5;PB 5020 GET 1,CM,9;NC$[1] 5030 NC= ASC (NC$) 5031 PLOT 6,7 5032 PLOT 6,12 5033 PRINT TAB( 14)"STATEMENT" 5034 PLOT 6,3 5035 PRINT 5040 PRINT "DATE";SPC( 6);"NUMBER";SPC( 3);"PAYEE/PAYER";SPC( 5);"CAT";SPC( 6);"AMOUNT";SPC( 5);"BALANCE" 5050 PLOT 10,10:IF SB= 6THEN RETURN 5060 AM= PB:GOSUB 270 5070 GOSUB 8500 5085 PRINT "BALANCE FROM PREVIOUS MONTH";TAB( 46)CHR(9);CHR$ (9);CHR$ (9); 5086 IF SG$= "-"THEN PLOT 17 5087 IF SG$= ""THEN PLOT 20 5088 PRINT " "+ AM$"":PLOT 23 5090 IF NC= 0THEN 5250 5100 FOR I= 1TO NC 5110 GET 2,I;DMY,CN,PY$[15],CT$[1],AM 5115 IF AM> 0THEN CN= - 1 5120 BL= AM+ PB:PB= BL 5125 AM= ABS (AM) 5130 GOSUB 220:GOSUB 270 5135 M$= RIGHT$ (STR$ (M),2):D$= RIGHT$ (STR$ (D),2):Y$= RIGHT$ (STR$ (Y),2) 5140 DT$= D$+ "/"+ M$+ "/"+ Y$+ " " 5150 IF CN> 0THEN CN$= RIGHT$ (" "+ STR$ (CN),8) 5160 IF CN= - 1THEN CN$= " DEPOSIT" 5165 CN$= CN$+ " " 5170 PRINT DT$;CN$;PY$;RIGHT$ (" "+ STR$ (ASC (CT$)),4);AM$; 5180 AM= BL:GOSUB 270 5185 GOSUB 8500 5186 IF SG$= "-"THEN PLOT 17 5187 IF SG$= ""THEN PLOT 20 5190 PRINT AM$:PLOT 23 5195 IF I/ 3= INT (I/ 3)THEN PLOT 10 5197 IF SB= 6THEN RETURN 5200 NEXT I 5230 PRINT :PRINT " RECEIVED THE ABOVE AMOUNT ^ " 5233 PRINT 5235 PRINT TAB( 50)"____________" 5240 PLOT 6,7 5241 POKE 33265,FLG:REM RESTORE THE CONTENTS OF BASIC OUTPUT 5245 PRINT :PRINT :PRINT 5250 PLOT 6,6,3,5,31:INPUT "PRESS RETURN WHEN YOU ARE READY TO CONTINUE";QQ 5300 GOTO 110 5500 RETURN 6000 INPUT "DISPLAY CHEQUES OR DEPOSITS? ";T$ 6002 IF T$= "C"THEN GOSUB 900 6003 IF T$= "D"THEN GOSUB 1900 6005 T= 1:IF LEFT$ (T$,1)= "C"THEN T= - 1 6010 INPUT "CATEGORY NUMBER ";SK 6015 BL= 0:YT= 0:PB= 0:RESTORE 100 6017 FLG= PEEK (33265) 6018 PLOT 27,13 6019 PLOT 6,3 6020 FOR I= 1TO 12 6030 GET 1,I,9;NC$[1],V$[1] 6035 READ M$ 6040 IF V$< > "V"THEN 6500 6045 PLOT 10:GOSUB 5040 6050 FILE "C",2:MT= 0 6070 FILE "R",2,M$+ RIGHT$ (STR$ (CY),2)+ ".RND",3 6080 NC= ASC (NC$) 6090 FOR J= 1TO NC 6100 GET 2,J;DMY,CN,PY$[15],CT$[1],AM 6105 IF T= 1THEN CN= - 1 6107 IF AM= 0THEN 6300 6110 IF AM/ ABS (AM)< > TTHEN 6300 6120 IF ASC (CT$)< > SKTHEN 6300 6130 AM= ABS (AM):GOSUB 5120 6300 NEXT J 6350 PLOT 10,10:MT= BL- YT:AM= MT:GOSUB 270 6355 GOSUB 8500 6360 PRINT "MONTHLY TOTAL";AM$:PLOT 23 6370 YT= YT+ MT 6500 NEXT I 6550 AM= YT:GOSUB 270 6560 PRINT "YEARLY TOTAL ";AM$:POKE 33265,FLG:PLOT 23 6600 FILE "C",2:RESTORE 100:FOR I= 1TO CM:READ M$:NEXT I 6620 FILE "R",2,M$+ RIGHT$ (STR$ (CY),2)+ ".RND",6 6690 FOR I= 1TO 1000:NEXT I 6700 GOTO 110 7000 REM 7010 GET 1,CM,9;NC$[1] 7020 NC= ASC (NC$) 7030 PB= 0:F= 0 7040 FOR I= 1TO NC 7050 GET 2,I;CD,CN,DV$[16],AM 7055 GET 2,NC;ND,NN,DN$[16],NM 7060 IF ND> CDTHEN 7100 7070 IF NN> CNAND ND= CDTHEN 7100 7080 PUT 2,I;ND,NN,DN$[16],NM 7085 PUT 2,NC;CD,CN,DV$[16],AM 7088 IF I< NCTHEN F= 1 7090 AM= NM 7100 BL= AM+ PB 7110 PUT 2,I,29;BL 7120 PB= BL 7130 NEXT I 7135 IF F= 1THEN 7030 7140 PUT 1,CM;PB 7145 IF CM= 1THEN PUT 1,CM,5;PB 7150 FOR I= CMTO 12 7160 GET 1,I;AM,BL,N$[1],V$[1] 7162 IF I= 1THEN PB= 0:GOTO 7180 7165 GET 1,I- 1,5;PB 7170 IF V$< > "V"THEN RETURN 7180 BL= PB+ AM 7190 PUT 1,I;AM,BL,N$[1],"V"[1] 7195 PB= BL 7200 NEXT I 7210 RETURN 8000 REM 8010 NC= NC- 1:GOSUB 7030 8015 BL= PB 8020 IF Y< > CYTHEN 8200 8040 FILE "C",2:FILE "T",8100 8050 RESTORE 100 8060 FOR I= 1TO M:READ M$:NEXT I 8070 FILE "R",2,M$+ RIGHT$ (STR$ (Y),2)+ ".RND",6 8075 CM= M:GET 1,CM,9;NC$[1]:NC= ASC (NC$):NC= NC+ 1:PUT 1,CM,9;CHR$ (NC)[1] 8080 RESTORE 8090:FOR I= 1TO 5:READ RT:IF RT< > RATHEN NEXT I 8085 ON IGOTO 1220,2090 8090 DATA 1220,2090 8095 PRINT "RETURN ERROR":END 8100 INPUT "NUMBER OF ANTICIPATED ITEMS ";NI 8105 FILE "E",FL,ER,LN 8110 FILE "N",M$+ RIGHT$ (STR$ (Y),2)+ ".RND",INT ((NI/ 4)+ .8)* 4,32,4 8115 PUT 1,M;0,BL,CHR$ (0)[1],"V"[1] 8120 GOTO 8070 8200 FILE "T",8300 8210 FILE "C",1,2 8220 FILE "R",1,"BAL"+ RIGHT$ (STR$ (Y),2)+ ".RND",1 8230 CD= D:CM= M:CY= Y 8240 GOTO 50 8300 AM= BL:GOSUB 270:PRINT "YEAR DESIRED IS NOT ON DISK, CURRENT BALANCE IS";AM$:PLOT 23 8310 INPUT "DO YOU WISH TO CONTINUE? (YOU MAY WANT TO MOUNT ANOTHER DISK)";A$ 8315 IF LEFT$ (A$,1)= "N"THEN END 8320 BF= BL:CD= D:CM= M:CY= Y 8325 PLOT 6,7 8330 GOTO 30 8500 REM :IF SG$ = "" THEN PLOT20 8510 REM :IF SG$ = "-" THEN PLOT17 8520 RETURN 9000 FOR N= 1 TO 1500:NEXT N:RETURN