Listing of file='INCOME.BAS;01' on disk='vmedia/home_budget_1-sector.ccvf'
100 REM ****************** INCOME *************************** 120 GOTO 610 130 140 150 POKE 33278,0 160 Z1= PEEK (33278):IF Z1= 0THEN 160 170 RETURN :END 180 190 200 POKE 33278,0 210 IF PEEK (33278)= 0GOTO 210 220 IF PEEK (33278)= 89THEN PRINT "ES":Q$= "Y":RETURN 230 IF PEEK (33278)= 78THEN PRINT "O":Q$= "N":RETURN 240 PLOT 7,26,32,26:GOTO 200 250 260 270 280 POKE 33278,0 290 Y= PEEK (33278) 300 IF Y= 0GOTO 290 310 Y$= CHR$ (Y) 320 RETURN :END 330 340 350 PO= PEEK (32940)+ PEEK (32941)* 256+ 1 360 SA= 28672+ 128* Y+ X+ X 370 ZZ= INT (SA/ 256):POKE PO+ 3,SA- 256* ZZ:POKE PO+ 4,ZZ 380 SA= SA- 2 390 POKE PO+ 1,ASC (NA$) 400 FI$= "" 410 PLOT 3,X,Y 420 KB= CALL (ML) 430 IF KB= 9OR PEEK (PO)= 0THEN RETURN 440 FOR I= 2TO PEEK (PO)* 2STEP 2 450 FI$= FI$+ CHR$ (PEEK (SA+ I)):NEXT I 460 RETURN :END 470 480 490 500 RH$= STR$ ((1000* (MO* SGN (MO)- INT (MO* SGN (MO)))+ 1005)/ 10) 510 IF VAL (RH$)> = 200THEN MO= (MO* SGN (MO)+ 1)* SGN (MO) 520 LH$= STR$ (INT (MO* SGN (MO))* SGN (MO)):IF VAL (LH$)= 0AND SGN (MO)= - 1THEN LH$= "-0" 530 LH$= "$"+ LH$ 540 IF LEN (LH$)> = 6THEN 560 550 LH$= " "+ LH$:GOTO 540 560 RH$= MID$ (RH$,3,2):MO$= LH$+ "."+ RH$ 570 RETURN :END 580 590 600 610 PLOT 27,4:PRINT "RUN FIELDS":PLOT 27,27:CLEAR 5000 611 A= 0:AM= 0:AN= 0:AS= 0:BA= 0:BB= 0:C9= 0:CB= 0:D= 0:DD= 0:ER= 0:ES= 0 612 FC= 0:GR= 0:I= 0:IS= 0:J1= 0:J2= 0:JD= 0:JI= 0:JL= 0:K= 0:KB= 0:M= 0 613 M9= 0:ML= 0:MM= 0:MO= 0:N2= 0:N3= 0:N4= 0:NB= 0:NE= 0:NI= 0:NP= 0 614 NR= 0:NU= 0:PB= 0:PO= 0:R1= 0:RE= 0:SA= 0:T6= 0:X= 0:Y= 0:Y1= 0:Z1= 0 615 ZZ= 0:PV= 0 616 A$= "":AC$= "":AN$= "":BA$= "":BN$= "":BU$= "":D7$= "":DA$= "" 617 DE$= "":DS$= "":FI$= "":FR$= "":IN$= "":LD$= "":LH$= "":LI$= "" 618 MM$= "":MO$= "":NA$= "":NL$= "":NU$= "":PD$= "":PV$= "":Q$= "" 619 RH$= "":ST$= "":TA$= "":TD$= "":Y$= "":Z1$= "" 620 DD= PEEK (65535):DSK$= MID$ (STR$ (DD- 1),2)+ ":" 630 DIM INC(7,2),EX(15,2),BANK(5,2),INC$(7),EX$(15),BANK$(5),BPNTR$(5) 640 NLNGTH$= " " 650 IF DD= 1THEN PLOT 12,3,10,15:INPUT "LOAD DATA DISK AND HIT <RETURN> ";A 660 PLOT 12,14,3,28,1:PRINT "INCOME":PLOT 15 670 PLOT 3,3,5:PRINT "OPTIONS ARE:" 680 PLOT 3,13,9:PRINT "1. RECORD A SUNDRY INCOME NOT DEPOSITED" 690 PLOT 3,13,10:PRINT "2. RECORD A SUNDRY DEPOSIT INTO AN ACCOUNT" 700 PLOT 3,13,11:PRINT "3. ENTER A PAY" 710 PLOT 3,13,12:PRINT "9. END" 720 PLOT 3,5,22:PRINT "PLEASE MAKE A SELECTION....";:GOSUB 280:ANS= VAL (Y$) 730 IF NOT ((ANS> = 1AND ANS< = 3)OR ANS= 9)THEN PLOT 7:GOTO 660 740 ON ANSGOSUB 1000,2000,3000,9000,9000,9000,9000,9000,9000 750 GOTO 660 1000 FILE "R",1,DSK$+ "INCTIT",1:FILE "R",2,DSK$+ "INCOME",1:FILE "R",3,DSK$+ "EXPTIT",1 1010 GET 1,1;NREC:GET 3,17,25;CBAL 1020 PLOT 12,3,1,1 1030 PRINT "CURRENT INCOME ACCOUNTS ARE: " 1040 PRINT :FOR REC= 4TO NREC- 1:GET 1,REC;NAME$[12] 1050 PRINT " ";REC- 1;" "NAME$"" 1060 NEXT REC:PRINT 1070 INPUT "PLEASE SELECT ONE OF THE ABOVE ACCOUNTS OR <RET> ";ANS 1110 IF ANS= 0THEN 1220 1120 IF ANS< 3OR ANS> (NREC- 2)THEN PLOT 7,28,11:GOTO 1070 1125 GET 1,ANS+ 1;NAME$[12] 1130 ACCT$= STR$ (ANS):ACCT$= MID$ (ACCT$,2) 1140 GET 2,1;N2REC 1150 IF N2REC> 64THEN 1190 1160 GOSUB 10000 1170 PUT 2,N2REC;ACCT$[2],DATE$[9],DETAILS$[12],AMT 1175 CBAL= CBAL- AMT:PUT 3,17,25;CBAL 1180 N2REC= N2REC+ 1:PUT 2,1;N2REC:PLOT 12:GOTO 1200 1190 PLOT 7,12,3,1,15:PRINT "YOU HAVE USED YOUR QUOTA OF 63 RECORDS" 1200 PRINT :PLOT 3,1,17:PRINT "DO YOU WISH TO RECORD ANY MORE INCOMES NOT DEPOSITED(Y/N)? ";:GOSUB 200 1210 IF Q$= "Y"THEN 1010 1215 IF Q$< > "N"THEN PLOT 7:GOTO 1200 1220 FILE "C",1,2,3:RETURN 2000 PLOT 12,3,10,12:PRINT "PLEASE SELECT:" 2010 PLOT 3,10,14:PRINT "1. DEPOSIT SUNDRY INCOME INTO AN ACCOUNT" 2020 PLOT 3,10,16:PRINT "2. ENTER MISCELLANEOUS DEPOSIT....";:GOSUB 280 2030 PRINT :ANS= VAL (Y$):IF ANS< 1OR ANS> 2THEN PLOT 7:GOTO 2000 2040 IF ANS= 1THEN 2310 2050 FILE "R",1,DSK$+ "BNKTIT",1:FILE "R",2,DSK$+ "TRANS",1:FILE "R",3,DSK$+ "EXPTIT",1:GET 3,17,25;CBAL 2060 GET 1,1;NREC:IF NREC< = 2THEN 2290 2070 PLOT 12:PRINT :PRINT "CURRENT BANK ACCOUNTS ARE:" 2080 PRINT :FOR REC= 2TO NREC- 1:GET 1,REC;NAME$[12] 2090 PRINT " ";REC- 1;" ";NAME$"":NEXT REC:PRINT 2100 PRINT "PLEASE SELECT AN ACCOUNT NUMBER (OR <RET>)";:GOSUB 280 2110 PRINT :IF ASC (Y$)= 13THEN 2300 2120 IF VAL (Y$)< 1OR VAL (Y$)> NREC- 2THEN PLOT 7,28,11:GOTO 2100 2130 ACCT$= Y$:R1REC= VAL (Y$)+ 1 2140 GET 1,R1REC;ANAME$[12],NUM$[13],BAL,LDATE$[9]:D7$= LD$:GOSUB 30000:JLAST= J2 2150 GET 2,1;N2REC 2160 IF N2REC> 400THEN 2230 2170 GOSUB 11000 2180 BAL= BAL+ AMT:CBAL= CBAL+ AMT:D7$= DA$:GOSUB 30000:JDAY= J2:IF JD< JLASTTHEN DATE$= LDATE$ 2190 PUT 1,R1REC,26;BAL,DATE$[9]:PUT 3,17,25;CBAL 2200 PUT 2,N2REC;ACCT$[2],DATE$[9],DETAILS$[12],0,AMT,"D"[1],"N"[1] 2210 N2REC= N2REC+ 1 2220 PUT 2,1;N2REC:PLOT 12:GOTO 2240 2230 PLOT 7,12,3,10,12:PRINT "YOU HAVE USED YOUR QUOTA OF 399 RECORDS" 2240 PLOT 3,5,14:PRINT "ANY MORE MISC. DEPOSITS FOR ";ANAME$;" ACCOUNT (Y/N)? ";:GOSUB 200 2250 PRINT :IF Q$= "Y"THEN 2140 2255 IF Q$< > "N"THEN PLOT 7:GOTO 2240 2260 PLOT 3,5,16:PRINT "MORE MISC. DEPOSITS FOR OTHER ACCOUNTS (Y/N)? ";:GOSUB 200 2270 PRINT :IF Q$= "Y"THEN 2060 2275 IF Q$< > "N"THEN PLOT 7:GOTO 2260 2280 GOTO 2300 2290 PLOT 7,3,10,18:PRINT "NO BANK OR SAVINGS ACCOUNTS REGISTERED!!!":FOR I= 1TO 2000:NEXT 2300 FILE "C",1,2,3:GOTO 2740 2310 FILE "R",1,DSK$+ "INCTIT",1:FILE "R",2,DSK$+ "INCOME",1 2320 FILE "R",3,DSK$+ "BNKTIT",1:FILE "R",4,DSK$+ "TRANS",1 2330 GET 1,1;NREC 2340 PLOT 12,3,1,1 2350 PRINT "CURRENT INCOME ACCOUNTS ARE: " 2360 PRINT :FOR REC= 4TO NREC- 1:GET 1,REC;NAME$[12] 2370 PRINT " ";REC- 1;" "NAME$"" 2380 NEXT REC:PRINT 2390 PLOT 3,1,24:INPUT "PLEASE SELECT ONE OF THE ABOVE ACCOUNTS OR <RET> ";ANS 2400 IF ANS= 0THEN 2730 2410 IF ANS< 3OR ANS> (NREC- 2)THEN PLOT 7,28,11:GOTO 2390 2420 GET 1,ANS+ 1;INAME$[12] 2430 BACCT$= STR$ (ANS):BACCT$= MID$ (BACCT$,2) 2440 GET 2,1;N2REC 2450 IF N2REC> 64THEN 2700 2460 GET 3,1;N3REC:IF N3REC< = 2THEN 2660 2470 PLOT 3,32,1:PRINT "CURRENT BANK ACCOUNTS ARE:" 2480 FOR REC= 2TO N3REC- 1:GET 3,REC;NAME$[12] 2490 PLOT 3,32,REC+ 1:PRINT " ";REC- 1;" ";NAME$"":NEXT REC:PLOT 3,0,24:PLOT 11 2500 PRINT "PLEASE SELECT AN ACCOUNT NUMBER (OR <RET>)";:GOSUB 280 2510 PRINT :IF ASC (Y$)= 13THEN 2730 2520 IF VAL (Y$)< 1OR VAL (Y$)> N3REC- 2THEN PLOT 7,28,11:GOTO 2500 2530 ACCT$= Y$:R1REC= VAL (Y$)+ 1 2540 GET 3,R1REC;ANAME$[12],NUM$[13],BAL,LDATE$[9]:D7$= LD$:GOSUB 30000:JL= J2 2550 GET 4,1;N4REC 2560 IF N4REC> 400THEN 2650 2570 GOSUB 11000 2580 BAL= BAL+ AMT:D7$= DA$:GOSUB 30000:JD= J2:IF JD< JLTHEN DA$= LD$ 2590 PUT 3,R1REC,26;BAL,DATE$[9] 2600 PUT 4,N4REC;ACCT$[2],DATE$[9],DETAILS$[12],0,AMT,"D"[1],"N"[1] 2610 N4REC= N4REC+ 1 2620 PUT 4,1;N4REC 2630 PUT 2,N2REC;BACCT$[2],DATE$[9],DETAILS$[12],AMT 2640 N2REC= N2REC+ 1:PUT 2,1;N2REC:PLOT 12:GOTO 2670 2650 PLOT 7,12,3,5,12:PRINT "YOU HAVE USED YOUR QUOTA OF 399 RECORDS":GOTO 2670 2660 PLOT 7,12,3,5,12:PRINT "NO BANK OR SAVINGS ACCOUNTS REGISTERED!!!" 2670 PLOT 3,5,14:PRINT "ANY MORE DEPOSITS FOR ";INAME$;" INCOME ACCOUNT (Y/N)? ";:GOSUB 200 2680 PRINT :IF Q$= "Y"THEN PLOT 12:GOTO 2440 2685 IF Q$< > "N"THEN PLOT 7:GOTO 2670 2690 GOTO 2710 2700 PLOT 12,3,5,14:PRINT "YOU HAVE USED YOUR QUOTA OF 63 RECORDS" 2710 PLOT 3,5,16:PRINT "MORE DEPOSITS FOR OTHER INCOME ACCOUNTS (Y/N)? ";:GOSUB 200 2720 PRINT :IF Q$= "Y"THEN 2330 2725 IF Q$< > "N"THEN PLOT 7:GOTO 2710 2730 FILE "C",1,2,3,4 2740 PLOT 12,3,8,14:PRINT "DO YOU WISH TO MAKE ANY MORE DEPOSITS (Y/N)? ";:GOSUB 200 2750 IF Q$= "Y"THEN 2000 2755 IF Q$< > "N"THEN PLOT 7:GOTO 2740 2760 RETURN 3000 FILE "R",1,DSK$+ "PAYS",1 3010 FILE "R",2,DSK$+ "PAYTIT",1 3020 FILE "R",3,DSK$+ "EXPEND",1 3030 FILE "R",4,DSK$+ "EXPTIT",1 3040 FILE "R",5,DSK$+ "BNKTIT",1 3050 GET 1,1;NPAY,NINC,NEX,NBANK:PLOT 27,24 3060 IF NPAY= 2THEN GREC= 2 3070 IF NPAY< > 2THEN GREC= NPAY- 1 3080 GET 1,GREC;PVA,LDATE$[9] 3090 FOR I= 1TO 7 3100 GET 1,GREC,I* 4+ 10;INC(I,2):INC(I,1)= I:NEXT I 3110 FOR I= 1TO 15 3120 GET 1,GREC,I* 4+ 38;EX(I,2):EX(I,1)= I:NEXT I 3130 FOR I= 1TO 5 3140 GET 1,GREC,I* 6+ 96;BPNTR$(I)[2],BANK(I,2):BANK(I,1)= I:NEXT I 3150 FOR I= 1TO 7 3160 GET 2,I+ 1;INC$(I)[12]:NEXT I 3170 FOR I= 1TO 15 3180 GET 4,I+ 1;EX$(I)[12]:NEXT I 3190 FOR I= 1TO 5 3200 GET 5,VAL (BPNTR$(I))+ 1;BANK$(I)[12]:NEXT I 3205 GET 4,17,25;CBAL 3210 GOSUB 5000 3220 PLOT 3,0,31,11:PRINT "DO YOU WISH TO ADD ANY ACCOUNTS (Y/N)? ";:GOSUB 200 3230 3240 IF Q$= "N"THEN 3810 3245 IF Q$< > "Y"THEN PLOT 7:GOTO 3220 3250 PLOT 3,0,31,11 3260 PRINT "INCOME, EXPENDITURE, OR SAVINGS ACCOUNT? ";:GOSUB 280 3270 PRINT :IF NOT (Y$= "I"OR Y$= "E"OR Y$= "S")THEN PLOT 7:GOTO 3250 3280 IF Y$= "E"OR Y$= "S"THEN 3430 3290 3300 3310 IF NINC> 7THEN 3425 3312 PLOT 3,0,31,11 3320 PRINT "INCOME ACCOUNT: ";NINC:NUM= NINC 3349 PLOT 3,20,31 3350 INPUT "ENTER INCOME ACCOUNT NAME : ";INC$(NUM):INC$(NUM)= INC$(NUM)+ MID$ (NLNGTH$,LEN (INC$(NUM))+ 1):INC$(NUM)= MID$ (INC$(NUM),1,12) 3360 PUT 2,NUM+ 1;INC$(NUM)[12] 3370 NINC= NINC+ 1 3380 PUT 2,1;NINC+ 1:PUT 1,1,5;NINC 3390 GOSUB 5000 3400 PLOT 3,0,31,11:PRINT "ADD ANY MORE INCOME ACCOUNTS (Y/N)? ";:GOSUB 200 3410 IF Q$= "Y"THEN 3310 3415 IF Q$< > "N"THEN PLOT 7:GOTO 3400 3420 3425 GOTO 3720 3430 IF Y$= "S"THEN 3600 3440 3450 3460 IF NEX> 15THEN 3575 3465 PLOT 3,0,31,11 3470 PRINT "EXPEND ACCOUNT:";NEX 3480 NUM= NEX 3500 GOSUB 12000 3510 PUT 4,NUM+ 1;EX$(NUM)[12],BUDCAT$[1],TAX$[1],FRQ$[2],FCAST,LIABAC$[2],INCAC$[2],BAL," "[9],"N"[1] 3520 NEX= NEX+ 1 3530 PUT 4,1;NEX+ 1:PUT 1,1,9;NEX 3540 GOSUB 5000 3550 PLOT 3,0,31,11:PRINT "ADD ANY MORE EXPENDITURE ACCOUNTS (Y/N)? ";:GOSUB 200 3560 IF Q$= "Y"THEN 3460 3565 IF Q$< > "N"THEN PLOT 7:GOTO 3550 3570 3575 GOTO 3720 3580 3590 3600 IF NBANK> 5THEN 3720 3601 GET 5,1;NREC:IF NREC= 2THEN 3655 3602 PLOT 12,3,5,5:PRINT "CURRENT ACCOUNTS ARE:" 3610 FOR REC= 2TO NREC- 1:GET 5,REC;BNAME$[12] 3615 PRINT " ";REC- 1;" ";BNAME$;"":NEXT REC 3620 PLOT 3,5,18:PRINT "SELECT SAVINGS ACCOUNT NUMBER OR <RET>....";:GOSUB 280 3625 IF ASC (Y$)= 13THEN PRINT :GOSUB 5000:GOTO 3720 3630 PRINT :NUM= VAL (Y$):IF NUM> NREC- 2OR NUM> 8THEN PLOT 7,28,11:GOTO 3620 3635 GET 5,NUM+ 1;BANK$(NBANK)[12] 3637 BPNTR$(NBANK)= STR$ (NUM) 3640 NBANK= NBANK+ 1 3645 PUT 1,1,13;NBANK 3650 GOSUB 5000:GOTO 3660 3655 PLOT 7,3,0,31,11:PRINT "NO BANK ACCOUNTS ON FILE":FOR I= 1TO 1000:NEXT I 3660 PLOT 3,10,31,11:PRINT "ADD ANY MORE SAVINGS ACCOUNTS (Y/N)? ";:GOSUB 200 3700 IF Q$= "Y"THEN 3600 3705 IF Q$< > "N"THEN PLOT 7:GOTO 3660 3710 3720 GOTO 3220 3730 3810 FOR I= 1TO 7 3820 PUT 2,I+ 1;INC$(I)[12]:NEXT I 3830 FOR I= 1TO 15 3840 PUT 4,I+ 1;EX$(I)[12]:NEXT I 3850 3855 PLOT 3,0,31,11:PRINT "ENTER PAY NUMBER AND DATE" 3860 PLOT 3,17,0:PRINT "";PVA;"" 3862 PLOT 3,18,0:INPUT "";PVA$:IF ASC (PVA$)= 13THEN PLOT 7:GOTO 3862 3863 PVA= VAL (PVA$):PLOT 3,17,0:PRINT "";PVA;" " 3865 PLOT 3,51,0:PRINT "";LDATE$;"":PLOT 3,51,0:INPUT "";TD$:GOSUB 21045:IF ERR= 1THEN PLOT 7:GOTO 3865 3870 LDATE$= TD$:PLOT 3,51,0:PRINT "";LDATE$;"" 3900 PLOT 3,0,31,11:D7$= LD$:GOSUB 30000:JD= J2 3910 PRINT "CHANGE ANY VALUES (Y/N)? ";:GOSUB 200 3920 3922 IF Q$= "N"THEN 4200 3924 IF Q$< > "Y"THEN PLOT 7:GOTO 3900 3930 PLOT 3,0,31,11 3940 PRINT "INCOME, EXPENDITURE, OR SAVINGS? ";:GOSUB 280 3950 PRINT :IF Y$< > "I"AND Y$< > "E"AND Y$< > "S"THEN PLOT 7:GOTO 3930 3955 3960 IF Y$= "E"OR Y$= "S"THEN 4020 3962 PLOT 3,0,31,11:PRINT "ENTER NEW VALUES OR <RETURN> " 3964 FOR I= 1TO 7 3970 PLOT 3,17,I+ 1:PRINT "";:MO= INC(I,2):GOSUB 500:PRINT MO$;"":PLOT 3,17,I+ 1:GOSUB 150:IF Z1= 13THEN 3982 3980 Z1$= CHR$ (Z1):INPUT "";A$:INC(I,2)= VAL (Z1$+ A$) 3982 MO= INC(I,2):GOSUB 500:PLOT 3,17,I+ 1:PRINT MO$ 3990 NEXT I 4000 PRINT "":GOSUB 5000:GOTO 4180 4010 4020 IF Y$= "S"THEN 4110 4030 PLOT 3,0,31,11:PRINT "ENTER NEW VALUES OR <RETURN> " 4040 FOR I= 1TO 15 4050 PLOT 3,27,I+ 8:PRINT "";:MO= EX(I,2):GOSUB 500:PRINT MO$;"":PLOT 3,27,I+ 8:GOSUB 150:IF Z1= 13THEN 4070 4060 Z1$= CHR$ (Z1):INPUT "";A$:EX(I,2)= VAL (Z1$+ A$) 4070 MO= EX(I,2):GOSUB 500:PLOT 3,27,I+ 8:PRINT MO$ 4080 NEXT I 4090 PRINT "":GOSUB 5000:GOTO 4180 4100 4110 PLOT 3,0,30,11:PRINT "ENTER NEW VALUES OR <RETURN> " 4120 FOR I= 1TO 5 4130 PLOT 3,37,I+ 23:PRINT "";:MO= BANK(I,2):GOSUB 500:PRINT MO$;"":PLOT 3,37,I+ 23:GOSUB 150:IF Z1= 13THEN 4150 4140 Z1$= CHR$ (Z1):INPUT "";A$:BANK(I,2)= VAL (Z1$+ A$) 4150 MO= BANK(I,2):GOSUB 500:PLOT 3,37,I+ 23:PRINT MO$ 4160 NEXT I 4170 PRINT "":GOSUB 5000 4180 PLOT 3,0,31,11:GOTO 3910 4200 PUT 1,NPAY;PVA,LDATE$[9]:CBAL= CBAL- PBAL:PUT 4,17,25;CBAL 4210 FOR I= 1TO 7 4220 PUT 1,NPAY,I* 4+ 10;INC(I,2):NEXT I 4230 FOR I= 1TO 15 4240 PUT 1,NPAY,I* 4+ 38;EX(I,2):NEXT I 4250 FOR I= 1TO 5 4260 PUT 1,NPAY,I* 6+ 96;BPNTR$(I)[2],BANK(I,2):NEXT I 4270 NPAY= NPAY+ 1:PUT 1,1;NPAY 4272 IF NEX= 1THEN 4390 4280 4290 4300 4310 4320 4330 4340 4350 IF NBANK< = 1THEN 4390 4360 FOR I= 1TO NBANK- 1:GET 5,VAL (BPNTR$(I))+ 1,26;BBAL,PD$[9]:BBAL= BBAL+ BANK(I,2) 4362 D7$= PD$:GOSUB 30000:JL= J2:IF JL< JDTHEN PD$= LD$ 4370 PUT 5,VAL (BPNTR$(I))+ 1,26;BBAL,PD$[9] 4380 NEXT I 4390 FILE "C",1,2,3,4,5 4400 4410 4420 4430 4440 IF NBANK= 1THEN 4520 4450 FILE "R",1,DSK$+ "TRANS",1:GET 1,1;N2REC 4460 FOR I= 1TO NBANK- 1 4470 PUT 1,N2REC;BPNTR$(I)[2],LDATE$[9],"ALLOTMENT"[12],0,BANK(I,2),"D"[1],"N"[1] 4480 N2REC= N2REC+ 1 4490 NEXT I 4500 PUT 1,1;N2REC 4510 FILE "C",1 4520 RETURN 5000 PLOT 12,3,5,0:PRINT "PAY NUMBER: ";PVA:PLOT 3,45,0:PRINT "DATE: ";LDATE$ 5010 PLOT 3,18,1:PRINT "INCOME EXPEND ALLOTS BALANCE" 5020 ISUM= 0:ESUM= 0:ASUM= 0:PBAL= 0 5030 FOR I= 1TO 7:ISUM= ISUM+ INC(I,2):PBAL= PBAL+ INC(I,2) 5040 PRINT "";INC(I,1);:PLOT 3,4,I+ 1:PRINT INC$(I);" ";:MO= INC(I,2):GOSUB 500:PRINT MO$; 5050 MO= PBAL:GOSUB 500:PRINT " ";MO$ 5060 NEXT I 5070 FOR I= 1TO 15:ESUM= ESUM+ EX(I,2):PBAL= PBAL- EX(I,2) 5080 PRINT "";EX(I,1);:PLOT 3,4,I+ 8:PRINT EX$(I);"";:MO= EX(I,2):GOSUB 500:PRINT " ";MO$; 5090 MO= PBAL:GOSUB 500:PRINT " ";MO$ 5100 NEXT I 5110 FOR I= 1TO 5:ASUM= ASUM+ BANK(I,2):PBAL= PBAL- BANK(I,2) 5120 PRINT "";BANK(I,1);:PLOT 3,4,I+ 23:PRINT BANK$(I);:MO= BANK(I,2):GOSUB 500:PRINT " ";MO$; 5130 MO= PBAL:GOSUB 500:PRINT " ";MO$ 5140 NEXT I 5150 PRINT " ========= ========= ========= =========" 5160 PRINT " TOTAL ";:MO= ISUM:GOSUB 500:PRINT MO$;" ";:MO= ESUM:GOSUB 500:PRINT MO$;" "; 5170 MO= ASUM:GOSUB 500:PRINT MO$;" ";:MO= ISUM- ESUM- ASUM:GOSUB 500:PRINT MO$ 5190 RETURN 9000 PRINT :PLOT 12,3,5,12:INPUT "LOAD APPROPRIATE PROGRAM DISK AND HIT <RETURN> ";A:LOAD "MENU":RUN 10000 10010 PLOT 15,12,3,23,5 10020 PRINT "ENTER INCOME DETAILS" 10040 PLOT 3,1,10:PRINT "ACCOUNT NUMBER" 10050 PLOT 3,1,11:PRINT "ACCOUNT NAME" 10060 PLOT 3,1,13:PRINT "DATE" 10070 PLOT 3,1,14:PRINT "DETAILS" 10080 PLOT 3,1,15:PRINT "AMOUNT $" 10090 PLOT 3,25,10:PRINT ""ACCT$"" 10100 PLOT 3,25,11:PRINT ""NAME$"" 10110 PLOT 3,25,13:PRINT " " 10120 PLOT 3,25,14:PRINT " " 10130 PLOT 3,25,15:PRINT " " 10140 10150 PLOT 6,2,3,0,17:GOSUB 20000 10210 X= 25:Y= 13:ML= 8:NA$= "A":PLOT 6,38 10230 GOSUB 350:IF KB= 9GOTO 10230 10250 TD$= FI$:GOSUB 21045:IF ERR= 1THEN PLOT 7:GOTO 10210 10255 DATE$= TD$ 10260 X= 25:Y= 14:ML= 12:NA$= "A":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 10210 10300 DETAILS$= FI$ 10310 X= 25:Y= 15:ML= 9:NA$= "N":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 10260 10350 AMT= VAL (FI$):PLOT 6,2:RETURN 11000 11010 PLOT 15,12,3,23,5 11020 PRINT "ENTER TRANSACTION DETAILS" 11030 PLOT 3,1,10:PRINT "ACCOUNT NUMBER" 11040 PLOT 3,1,11:PRINT "ACCOUNT NAME" 11050 PLOT 3,1,12:PRINT "ACCOUNT DETAILS" 11060 PLOT 3,1,13:PRINT "BALANCE $" 11070 PLOT 3,1,14:PRINT "LAST TRANSACTION DATE" 11071 PLOT 3,1,16:PRINT "DATE(D.M.Y)" 11072 PLOT 3,1,17:PRINT "FROM WHOM" 11073 PLOT 3,1,18:PRINT "AMOUNT $" 11080 PLOT 3,25,10:PRINT ""ACCT$"" 11090 PLOT 3,25,11:PRINT ""ANAME$"" 11091 PLOT 3,25,12:PRINT ""NUM$"" 11092 PLOT 3,25,13:PRINT ""BAL"" 11093 PLOT 3,25,14:PRINT ""LDATE$"" 11100 PLOT 3,25,16:PRINT " " 11110 PLOT 3,25,17:PRINT " " 11120 PLOT 3,25,18:PRINT " " 11130 11140 PLOT 6,2,3,0,20:GOSUB 20000 11150 X= 25:Y= 16:ML= 8:NA$= "A":PLOT 6,38 11170 GOSUB 350:IF KB= 9GOTO 11170 11190 TD$= FI$:GOSUB 21045:IF ERR= 1THEN PLOT 7:GOTO 11150 11195 DATE$= TD$ 11200 X= 25:Y= 17:ML= 12:NA$= "A":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 11150 11240 DETAILS$= FI$ 11250 X= 25:Y= 18:ML= 9:NA$= "N":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 11200 11290 AMT= VAL (FI$):PRINT :PLOT 6,2:RETURN 12000 12010 PLOT 12,3,23,20 12020 PRINT "ENTER EXPENDITURE DETAILS" 12030 PLOT 3,0,18,15 12040 PLOT 3,1,22:PRINT "ACCOUNT NUMBER" 12050 PLOT 3,1,23:PRINT "ACCOUNT NAME" 12060 PLOT 3,1,24:PRINT "BUDGET CATEGORY" 12070 PLOT 3,1,25:PRINT "TAXABLE (Y/N)?" 12080 PLOT 3,1,26:PRINT "TIMES PER YEAR" 12090 PLOT 3,1,27:PRINT "FORECAST AMOUNT $" 12100 PLOT 3,1,28:PRINT "LIABILITY A/C NUMBER" 12110 PLOT 3,1,29:PRINT "INCOME A/C NUMBER" 12120 PLOT 3,1,30:PRINT "BALANCE $" 12130 PLOT 3,25,22:PRINT ""NUM"" 12140 PLOT 3,25,23:PRINT " " 12150 PLOT 3,25,24:PRINT " " 12160 PLOT 3,25,25:PRINT " " 12170 PLOT 3,25,26:PRINT " " 12180 PLOT 3,25,27:PRINT " " 12190 PLOT 3,25,28:PRINT " " 12200 PLOT 3,25,29:PRINT " " 12210 PLOT 3,25,30:PRINT " " 12220 12230 PLOT 6,2 12240 X= 25:Y= 23:ML= 12:NA$= "A":PLOT 6,38 12260 GOSUB 350:IF KB= 9GOTO 12260 12280 EX$(NUM)= FI$:EX$(NUM)= EX$(NUM)+ MID$ (NLNGTH$,LEN (EX$(NUM))+ 1) 12290 X= 25:Y= 24:ML= 1:NA$= "A":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 12240 12330 BUDCAT$= FI$ 12340 X= 25:Y= 25:ML= 1:NA$= "A":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 12290 12380 TAX$= FI$ 12390 X= 25:Y= 26:ML= 2:NA$= "A":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 12340 12430 FRQ$= FI$ 12440 X= 25:Y= 27:ML= 9:NA$= "N":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 12390 12470 FCAST= VAL (FI$) 12480 X= 25:Y= 28:ML= 2:NA$= "A":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 12440 12510 LIABAC$= FI$ 12520 X= 25:Y= 29:ML= 2:NA$= "A":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 12480 12550 INCAC$= FI$ 12560 X= 25:Y= 30:ML= 9:NA$= "N":PLOT 6,38:GOSUB 350:IF KB= 9GOTO 12520 12590 BAL= VAL (FI$):PLOT 6,2:RETURN 19997 19998 19999 20000 PRINT " 1. ONLY LEFT & RIGHT CURSOR ALLOWED." 20010 PRINT " 2. CURSOR WON'T GO OUT OF A FIELD." 20020 PRINT " 3. DEL/INS CHAR AND DEL LINE ALL WORK." 20030 PRINT " 4. ALPHA CHARS DISABLED IN NUMERIC FLD." 20040 PRINT " 5. TAB KEY BACKS UP A FIELD."; 20050 RETURN 21000 21010 21020 21030 21040 21045 ERR= 0:IF LEN (TD$)= 0THEN ERR= 1:GOTO 21120 21047 FOR JI= 1TO LEN (TD$):T6= ASC (MID$ (TD$,JI,1)):IF NOT (T6= 46OR (T6> 47AND T6< 58))THEN ERR= 1:GOTO 21120 21049 NEXT JI 21050 STRMTH$= " JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" 21060 IF MID$ (TD$,2,1)= "."THEN TD$= "0"+ TD$ 21070 IF MID$ (TD$,5,1)= "."THEN TD$= LEFT$ (TD$,3)+ "0"+ RIGHT$ (TD$,4) 21080 MM= VAL (MID$ (TD$,4,2)) 21090 MM$= " "+ MID$ (STRMTH$,MM* 3,3)+ " " 21100 TD$= LEFT$ (TD$,2)+ MM$+ RIGHT$ (TD$,2) 21110 IF LEFT$ (TD$,1)= "0"THEN TD$= " "+ RIGHT$ (TD$,8) 21120 RETURN 29980 29990 30000 STRMTH$= " JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" 30010 Y1= VAL (RIGHT$ (D7$,2)):D= VAL (LEFT$ (D7$,2)) 30020 FOR K= 1TO 12:IF MID$ (STRMTH$,K* 3,3)= MID$ (D7$,4,3)THEN M= K:GOTO 30040 30030 NEXT K 30040 Y1= Y1+ 1900 30050 C9= .001 30060 M9= (- 1)* INT (((14- M)/ 12)+ C9) 30070 J1= D- 2447095+ INT ((1461* (Y1+ 4800+ M9)/ 4)+ C9) 30080 J2= J1+ INT ((367* (M- 2- 12* M9)/ 12)+ C9) 30090 J1= J2- INT ((3* (Y1+ 4900+ M9)/ 400)+ C9) 30100 J2= J1 30110 RETURN :END