Listing of file='EXPEND.BAS;01' on disk='vmedia/home_budget_1-sector.ccvf'
0 REM 1 REM 54 GOTO 350 56 REM 58 REM 60 POKE 33278,0 62 IF PEEK (33278)= 0GOTO 62 64 IF PEEK (33278)= 89THEN PRINT "ES":Q$= "Y":RETURN 66 IF PEEK (33278)= 78THEN PRINT "O":Q$= "N":RETURN 68 PLOT 7,26,32,26:GOTO 60 70 REM 72 REM 74 POKE 33278,0 76 Y= PEEK (33278) 78 IF Y= 0GOTO 76 80 Y$= CHR$ (Y):RETURN 82 REM 84 REM 86 PO= PEEK (32940)+ PEEK (32941)* 256+ 1 88 SA= 28672+ 128* Y+ X+ X 90 ZZ= INT (SA/ 256):POKE PO+ 3,SA- 256* ZZ:POKE PO+ 4,ZZ 92 SA= SA- 2 94 POKE PO+ 1,ASC (NA$) 96 FI$= "" 98 PLOT 3,X,Y 100 KB= CALL (ML) 102 IF KB= 9OR PEEK (PO)= 0THEN RETURN 104 FOR I= 2TO PEEK (PO)* 2STEP 2 106 FI$= FI$+ CHR$ (PEEK (SA+ I)):NEXT I 108 RETURN 112 REM 113 REM 114 RH$= STR$ ((1000* (MO* SGN (MO)- INT (MO* SGN (MO)))+ 1005)/ 10) 115 IF VAL (RH$)> = 200THEN MO= (MO* SGN (MO)+ 1)* SGN (MO) 116 LH$= STR$ (INT (MO* SGN (MO))* SGN (MO)):IF VAL (LH$)= 0AND SGN (MO)= - 1THEN LH$= "-0" 117 LH$= "$"+ LH$ 118 IF LEN (LH$)> = 7THEN 120 119 LH$= " "+ LH$:GOTO 118 120 RH$= MID$ (RH$,3,2):MO$= LH$+ "."+ RH$:RETURN 130 PLOT 3,0,31,11:INPUT "ENTER START RECORD OR <RETURN> ";ST:IF ST= 0THEN ST= 2 140 RETURN 150 PLOT 3,0,31,11:PRINT "EDIT ANY RECORDS (Y/N)? ";:GOSUB 62:RETURN 160 PLOT 3,0,31,11:INPUT "ENTER RECORD NUMBER ";RREC:IF RREC> (NREC- 1)OR RREC< 2THEN PLOT 7:GOTO 160 170 PLOT 3,0,31,11:PRINT "ENTER CORRECTED DATA OR <RETURN> ":RETURN 180 PLOT 3,0,31,11:PRINT "EDIT ANY MORE (Y/N)? ";:GOSUB 60:RETURN 190 ROW= (RREC- ST+ 2- (INT ((RREC- ST+ 2- 2)/ 25)* 25))+ 2:RETURN 200 POKE 33278,0 210 Z1= PEEK (33278) 220 IF Z1= 0GOTO 210 230 RETURN 300 REM 305 REM 310 REM 350 PLOT 27,4:PRINT "RUN FIELDS":PLOT 27,27 360 CLEAR 4000:DD= PEEK (65535):DSK$= MID$ (STR$ (DD- 1),2)+ ":" 365 IF DD= 1THEN PLOT 12,14,3,10,15:INPUT "LOAD DATA DISK AND HIT <RETURN> ";A 370 DIM INC(7,2),EX(15,2),BANK(5,2),INC$(7),EX$(15),BANK$(5),BPNTR$(5),UN$(19),SA$(9),EA$(63) 380 UL$= "---------------------------------------------------------------" 390 STRMTH$= " JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" 395 PLOT 12,15,3,0,15:PRINT "DO YOU REQUIRE AUTOMATIC PAYMENT OF REGULAR ALLOTMENTS? ";:GOSUB 60 400 IF Q$= "Y"THEN GOSUB 8000 420 PLOT 12,14,3,28,1:PRINT "EXPENDITURE":PLOT 15 430 PLOT 3,13,5:PRINT "OPTIONS ARE:" 440 PLOT 3,13,7:PRINT "1. REGISTER AN EXPENDITURE" 450 PLOT 3,13,8:PRINT "2. RECORD COMPLETION OF A LOAN" 460 PLOT 3,13,9:PRINT "3. DISPLAY ACCOUNTS DUE" 465 PLOT 3,13,10:PRINT "4. DISPLAY BANK BALANCES" 467 PLOT 3,13,11:PRINT "5. DISPLAY FREE RECORDS LEFT" 468 PLOT 3,13,12:PRINT "6. ADD A BANK ALLOTMENT" 469 PLOT 3,13,13:PRINT "7. EDIT A BANK ALLOTMENT" 470 PLOT 3,13,15:PRINT "9. END" 480 PLOT 3,5,22:PRINT "PLEASE MAKE A SELECTION....";:GOSUB 74:ANS= VAL (Y$) 490 IF NOT ((ANS> = 1AND ANS< = 7)OR ANS= 9)THEN PLOT 7:GOTO 420 500 ON ANSGOSUB 1000,2000,4000,5000,6000,7000,7500,420,3000 510 GOTO 420 980 REM 990 REM 1000 FILE "R",1,DSK$+ "EXPTIT",1 1010 FILE "R",2,DSK$+ "EXPEND",1 1020 GET 1,1,5;NREC 1025 IF NREC= 2THEN PLOT 7,12,3,10,14:PRINT "NO CURRENT ACCOUNTS!!":FOR I= 1TO 1000:NEXT :GOTO 1880 1030 PLOT 12,3,1,1:PRINT "CURRENT ACCOUNTS ARE:" 1040 FOR REC= 2TO NREC- 1 1050 GET 1,REC;NME$[12] 1060 IF REC< = 15THEN PLOT 3,0,REC+ 1:PRINT REC- 1;" ";NME$;"":GOTO 1100 1065 IF REC= 17THEN PLOT 3,16,RE- 13:PRINT REC- 1;" CASH W'DRAWAL":GOTO 1100 1070 IF REC< = 29THEN PLOT 3,16,REC- 13:PRINT REC- 1;" ";NME$;"":GOTO 1100 1080 IF REC< = 43THEN PLOT 3,32,REC- 27:PRINT REC- 1;" ";NME$;"":GOTO 1100 1090 PLOT 3,48,REC- 41:PRINT REC- 1;" ";NME$;"" 1100 NEXT REC 1105 GET 2,1;ENXT 1110 PLOT 3,5,25,11:INPUT "SELECT ACCOUNT NUMBER OR <RET>....";ACNUM$ 1120 IF ACNUM$= ""THEN 1880 1130 IF VAL (ACNUM$)< 1OR VAL (ACNUM$)> NREC- 2THEN PLOT 7:GOTO 1110 1135 IF SEL= 2THEN 2010 1140 GET 1,VAL (ACNUM$)+ 1;NME$[12],DUMMY$[12],BAL,DDATE$[9] 1145 IF VAL (ACNUM$)= 16THEN 1210 1150 PLOT 3,5,30,11:PRINT "RECORD OR PAY A BILL ";:GOSUB 74 1160 IF Y$< > "R"AND Y$< > "P"THEN PLOT 7:GOTO 1150 1170 REM 1180 IF Y$= "P"THEN 1210 1190 RP= 1:GOSUB 10000:PRINT :IP$= "I":CHNUM= 0:BAL= BAL+ AMT:GOTO 1820 1200 REM 1210 RP= 0:GOSUB 11000:PRINT 1220 PLOT 12,3,5,14:PRINT "PAYMENT FROM BANK OR SAVINGS ACCOUNT (Y/N)? ";:GOSUB 60 1230 IF Q$= "N"THEN 1431 1240 REM 1250 FILE "R",3,DSK$+ "BNKTIT",1 1260 FILE "R",4,DSK$+ "TRANS",1 1270 GET 3,1;NBANK:GET 4,1;NTRANS 1280 IF NBANK= 2THEN PLOT 7,3,5,16:PRINT "NO BANK ACCOUNTS ON FILE":FOR I= 1TO 1000:NEXT I:FILE "C",3,4:GOTO 1860 1290 PLOT 12,3,1,1:PRINT "CURRENT ACCOUNTS ARE:" 1300 FOR REC= 2TO NBANK- 1 1310 GET 3,REC;BNAME$[12]:PLOT 3,5,REC+ 3:PRINT REC- 1,"";BNAME$;"" 1320 NEXT REC 1330 PLOT 3,0,30,11:PRINT "SELECT ACCOUNT NUMBER ";:GOSUB 74 1340 PRINT :IF VAL (Y$)< 1OR VAL (Y$)> (NBANK- 2)THEN PLOT 7:GOTO 1330 1350 BACCT$= Y$ 1360 GET 3,VAL (BACCT$)+ 1;BNAME$[12],BDETAILS$[13],BBAL,LBDATE$[9]:D7$= LB$:GOSUB 14000:LB= D7 1370 GOSUB 12000:PRINT 1380 PUT 4,NTRANS;BACCT$[2],DATE$[9],NME$[12],CHNUM,AMT,"W"[1] 1390 NTRANS= NTRANS+ 1:PUT 4,1;NTRANS 1400 BBAL= BBAL- AMT:DETAIL$= BNAME$:D7$= DA$:GOSUB 14000:LJ= D7:IF LB< LJTHEN LB$= DA$ 1410 PUT 3,VAL (BACCT$)+ 1,26;BBAL,LB$[9] 1420 FILE "C",3,4 1421 PLOT 12,3,5,14:PRINT "DO YOU REQUIRE A CHEQUE PRINTED (Y/N)? ";:GOSUB 60:IF Q$= "N"THEN 1810 1423 POKE 33289,132:FILE "R",3,DSK$+ "PRNTER",1:GET 3,1;PRNTER$[7],EMPH$[4],NEMPH$[4],SOPZERO$[4],PAPEROWT$[4],RESET$[4],COMPRCHAR$[4] 1424 FILE "C",3 1425 PLOT 3,5,16:INPUT "INSERT CHEQUE & TURN ON PRINTER ";A:GOSUB 13000:PRINT PRNTER$;EMPH$;" "; 1427 PRINT SO$;DATE$;NEMPH$;COMPRCHAR$:PRINT :PRINT TAB( 5)PYEE$:PRINT :AM$= STR$ (AMT):AM$= MID$ (AM$,2):GOSUB 30000:PRINT CH$;:MO= AMT:GOSUB 114:PRINT TAB( 85)MID$ (MO$,2) 1429 PRINT :PRINT :PRINT :PRINT :PRINT :PRINT RESET$:POKE 33265,0:GOTO 1810 1431 PLOT 12,3,5,14:PRINT "PAYMENT BY CREDIT CARD (Y/N)? ";:GOSUB 60 1434 IF Q$= "N"THEN 1800 1440 REM 1450 FILE "R",3,DSK$+ "LIABS",1 1460 FILE "R",4,DSK$+ "INCOME",1 1470 GET 3,1;NLIAB:GET 4,1;NTRANS 1480 IF NLIAB= 2THEN PLOT 7,3,5,16:PRINT "NO LIABILITIES ON FILE":FOR I= 1TO 1000:NEXT I:FILE "C",3,4:GOTO 1860 1485 PLOT 12,3,1,1:PRINT "CURRENT ACCOUNTS ARE:" 1490 FOR REC= 2TO NLIAB- 1 1495 GET 3,REC;LIABAC$[20]:PLOT 3,5,REC+ 3:PRINT REC- 1,"";LIABAC$;"" 1500 NEXT REC 1530 PLOT 3,0,30,11:PRINT "SELECT ACCOUNT NUMBER ";:GOSUB 74 1540 PRINT :IF VAL (Y$)< 1OR VAL (Y$)> (NLIAB- 2)THEN PLOT 7:GOTO 1530 1550 BACCT$= Y$ 1560 GET 3,VAL (BACCT$)+ 1;LIABAC$[20],BBAL 1580 PUT 4,NTRANS;" 2"[2],DATE$[9],LIAC$[12],AMT 1590 NTRANS= NTRANS+ 1:PUT 4,1;NTRANS 1600 BBAL= BBAL+ AMT:DETAIL$= LIABAC$ 1610 REM 1620 FILE "C",3,4:GOTO 1810 1680 REM 1800 IF VAL (ACNUM$)= 16THEN 1220 1804 DETAIL$= "CASH":CHNUM= 0 1806 GET 1,17,25;CBAL:CBAL= CBAL+ AMT:PUT 1,17,25;CBAL 1810 IP$= "P":BAL= BAL- AMT 1820 PUT 2,ENXT;ACNUM$[2],DATE$[9],DETAILS$[12],CHNUM,IP$[1],AMT 1830 ENXT= ENXT+ 1:IF RP= 0THEN 1850 1840 PLOT 3,0,31,11:PRINT "DO YOU WANT TO PAY THIS BILL NOW (Y/N)? ";:GOSUB 60:IF Q$= "Y"THEN 1210 1842 IF Q$< > "N"THEN PLOT 7:GOTO 1840 1850 PUT 2,1;ENXT:PUT 1,VAL (ACNUM$)+ 1,25;BAL,DDATE$[9] 1860 PRINT :PLOT 15,12,3,5,14,11:PRINT "RECORD OR PAY ANY MORE BILLS (Y/N)? ";:GOSUB 60 1870 IF Q$= "Y"THEN 1030 1880 FILE "C",1,2 1890 RETURN 1970 REM 1980 REM 1990 REM 2000 SEL= 2:GOTO 1000 2010 PLOT 3,5,26,11:PRINT "ENTER 'Y' TO RECORD THE FINALIZATION OF THIS LOAN: ";:GOSUB 74:PRINT :IF Y$< > "Y"THEN PLOT 7:GOTO 2030 2015 PUT 1,VAL (ACNUM$)+ 1,38;"Y"[1] 2030 FILE "C",1,2:PRINT :PLOT 15,12,3,5,14,11:PRINT "DONE: RECORD ANY MORE LOAN COMPLETIONS (Y/N)? ";:GOSUB 60 2040 IF Q$= "Y"THEN 2000 2060 SEL= 0:RETURN 3000 PRINT :PLOT 12,3,5,12:INPUT "LOAD APPROPRIATE PROGRAM DISK AND HIT <RETURN> ";A:LOAD "MENU":RUN 3970 REM 3980 REM 3990 REM 4000 SUM= 0:FLAG= 0:PLOT 12,3,0,10:INPUT "ENTER TODAY'S DATE (D.M.YY): ";TD$:IF TD$= ""THEN PLOT 7,28,11:GOTO 4000 4010 GOSUB 21000:IF ERR= 1THEN PLOT 7:GOTO 4000 4015 D7$= TD$:GOSUB 14000:SJUL= D7 4020 INPUT "WITHIN HOW MANY DAYS? (OR <RET>): ";DAYS:IF DAYS= 0THEN FLAG= 1 4030 PRINT "";TAB( 24)"ACCOUNTS DUE":PRINT TAB( 24)"------------":PRINT 4040 PRINT "";TAB( 10)"NAME BALANCE DUE DATE":PRINT "";UL$:PRINT 4050 FILE "R",1,DSK$+ "EXPTIT",1:GET 1,1,5;NREC:FOR REC= 2TO NREC- 1:GET 1,REC;NAME$[12],DUMMY$[12],BAL,DUEDATE$[9]:IF BAL< = 0OR REC= 17THEN 4090 4060 IF FLAG= 1THEN 4080 4070 D7$= DUEDATE$:GOSUB 14000:IF SJUL+ DAYS< = D7THEN 4090 4080 PRINT "";TAB( 10)NAME$;"";:MO= BAL:GOSUB 114:PRINT TAB( 25)MO$;"";TAB( 40)DUEDATE$:SUM= SUM+ BAL 4090 NEXT REC 4092 GET 1,17,25;BAL:PRINT :PRINT TAB( 10)"PROGRESSIVE CASH EXPENDITURE...........";:MO= - BAL:GOSUB 114:PRINT MO$:PRINT :FILE "C",1 4100 PRINT "";UL$:PRINT "";TAB( 10)"TOTAL";:MO= SUM:GOSUB 114:PRINT TAB( 25)"";MO$ 4110 PRINT "";UL$;"" 4130 PRINT :INPUT "HIT <RETURN> TO CONTINUE: ";A:RETURN 4150 REM 4985 REM 4990 REM 4995 REM 5000 FILE "R",1,DSK$+ "BNKTIT",1 5010 REC= 1:GET 1,REC;NREC 5020 PRINT :PLOT 12,27,24,3,20,0:PRINT "BANK BALANCES":PLOT 3,20,2:PRINT "-------------" 5030 IF NREC< = 2THEN 5090 5040 PRINT :PRINT :PRINT " NAME IDENT BALANCE LAST T'ACTION DATE":PRINT :PRINT "";UL$;"":PRINT :PRINT 5050 FOR REC= 2TO NREC- 1 5060 GET 1,REC;NAME$[12],NUMBER$[13],BAL,DATE$[9] 5070 PRINT ""NAME$;" ";NUMBER$;" ";:MO= BAL:GOSUB 114:PRINT MO$;" ";DATE$ 5080 NEXT REC 5090 PRINT :PRINT "";UL$;"":FILE "C",1 5095 PRINT :PRINT :INPUT "HIT <RETURN> TO CONTINUE: ";A:RETURN 5100 REM 6000 PRINT :PLOT 12,27,11,3,20,0:PRINT "FREE RECORDS":PLOT 3,20,2:PRINT "============" 6010 PRINT :PRINT :PRINT " FILE DESCRIPTION TOTAL USED FREE":FOR I= 1TO 54:PRINT "-";:NEXT :PRINT :PRINT 6020 FILE "R",1,"INCTIT",1:GET 1,1;A:PRINT "INCTIT INCOME TITLES";TAB( 33)19;TAB( 43)"";A- 1;TAB( 50)"";19- A+ 1:FILE "C",1 6030 FILE "R",1,"INCOME",1:GET 1,1;A:PRINT "INCOME INCOME DETAILS";TAB( 33)66;TAB( 43)"";A- 1;TAB( 50)"";66- A+ 1:FILE "C",1 6040 FILE "R",1,"EXPTIT",1:GET 1,1,5;A:PRINT "EXPTIT EXPENDITURE TITLES";TAB( 33)64;TAB( 43)"";A- 1;TAB( 50)"";64- A+ 1:FILE "C",1 6050 FILE "R",1,"EXPEND",1:GET 1,1;A:PRINT "EXPEND EXPENDITURE DETAILS";TAB( 33)600;TAB( 43)"";A- 1;TAB( 50)"";600- A+ 1:FILE "C",1 6060 FILE "R",1,"BNKTIT",1:GET 1,1;A:PRINT "BNKTIT BANK & SAVINGS TITLES";TAB( 33)10;TAB( 43)"";A- 1;TAB( 50)"";10- A+ 1:FILE "C",1 6070 FILE "R",1,"TRANS",1:GET 1,1;A:PRINT "TRANS BANK TRANSACTIONS";TAB( 33)400;TAB( 43)"";A- 1;TAB( 50)"";400- A+ 1:FILE "C",1 6080 FILE "R",1,"PAYS",1:GET 1,1;A:PRINT "PAYS PAY DETAILS";TAB( 33)52;TAB( 43)"";A- 1;TAB( 50)"";52- A+ 1:FILE "C",1 6090 FILE "R",1,"PAYTIT",1:GET 1,1;A:PRINT "PAYTIT PAY (INCOME) TITLES";TAB( 33)8;TAB( 43)"";A- 1;TAB( 50)"";8- A+ 1:FILE "C",1 6100 FILE "R",1,"ASSETS",1:GET 1,1;A:PRINT "ASSETS ASSET DETAILS";TAB( 33)24;TAB( 43)"";A- 1;TAB( 50)"";24- A+ 1:FILE "C",1 6110 FILE "R",1,"LIABS",1:GET 1,1;A:PRINT "LIABS LIABILITY DETAILS";TAB( 33)24;TAB( 43)"";A- 1;TAB( 50)"";24- A+ 1:FILE "C",1 6114 PRINT :PRINT "";:FOR I= 1TO 54:PRINT "=";:NEXT :PRINT 6120 PRINT :PRINT :PRINT :INPUT "HIT <RETURN> TO CONTINUE: ";A:RETURN 6990 REM 7000 FILE "R",1,DSK$+ "BNKTIT",1 7020 GET 1,1;NBANK 7030 IF NBANK= 2THEN PLOT 7,3,5,16:PRINT "NO BANK ACCOUNTS ON FILE":FOR I= 1TO 1000:NEXT I:FILE "C",1,2:GOTO 7310 7040 PLOT 12,3,1,1:PRINT "CURRENT SAVINGS ACCOUNTS ARE:" 7050 FOR REC= 2TO NBANK- 1 7060 GET 1,REC;BNAME$[12]:PLOT 3,5,REC+ 3:PRINT REC- 1,"";BNAME$;"" 7070 NEXT REC 7080 PLOT 3,0,30,11:PRINT "SELECT ACCOUNT NUMBER OR <RET> TO ABORT ";:GOSUB 74:IF VAL (Y$)= 0THEN FILE "C",1:GOTO 7310 7090 PRINT :IF VAL (Y$)< 1OR VAL (Y$)> (NBANK- 2)THEN PLOT 7:GOTO 7080 7100 BACCT$= " "+ Y$:FILE "C",1 7110 FILE "R",1,DSK$+ "EXPTIT",1 7130 GET 1,1,5;NREC 7140 IF NREC= 2THEN PLOT 7,12,3,10,14:PRINT "NO CURRENT ACCOUNTS!!":FOR I= 1TO 1000:NEXT :FILE "C",1:GOTO 7310 7150 PLOT 12,3,1,1:PRINT "CURRENT EXPENDITURE ACCOUNTS ARE:" 7160 FOR REC= 2TO NREC- 1 7170 GET 1,REC;NME$[12] 7180 IF REC< = 15THEN PLOT 3,0,REC+ 1:PRINT REC- 1;" ";NME$;"":GOTO 7230 7190 IF REC= 17THEN 7230 7200 IF REC< = 29THEN PLOT 3,16,REC- 13:PRINT REC- 1;" ";NME$;"":GOTO 7230 7210 IF REC< = 43THEN PLOT 3,32,REC- 27:PRINT REC- 1;" ";NME$;"":GOTO 7230 7220 PLOT 3,48,REC- 41:PRINT REC- 1;" ";NME$;"" 7230 NEXT REC 7250 PLOT 3,5,25,11:INPUT "SELECT ACCOUNT NUMBER OR <RET> TO ABORT....";ACNUM$ 7260 IF ACNUM$= ""THEN FILE "C",1:GOTO 7310 7270 IF VAL (ACNUM$)< 1OR VAL (ACNUM$)> NREC- 2OR VAL (AC$)= 16THEN PLOT 7:GOTO 7150 7272 IF LEN (AC$)< 2THEN AC$= " "+ AC$ 7275 FILE "C",1 7280 GOSUB 15010 7290 FILE "R",1,"ALLOTS",1:GET 1,1;NREC:IF NREC= 14THEN PLOT 7,3,0,31,11:PRINT "YOU HAVE USED YOUR QUOTA OF 13 RECORDS":FOR I= 1TO 1000:NEXT :GOTO 7310 7300 PUT 1,NREC;AC$[2],BA$[2],AMT,SD$[9],FRQ$[2]:NR= NR+ 1:PUT 1,1;NR:FILE "C",1 7310 RETURN 7320 REM 7480 7490 REM 7500 FILE "R",1,DSK$+ "BNKTIT",1:GET 1,1;NR:IF NR< = 2THEN FILE "C",1:PLOT 7,3,0,31,11:PRINT "NO BANK ACCOUNTS ON FILE":FOR I= 1TO 1000:NEXT :GOTO 7870 7510 FOR I= 2TO NR- 1:GET 1,I;SA$(I- 1)[12]:NEXT I 7520 FILE "C",1 7530 FILE "R",1,"EXPTIT",1:GET 1,1,5;NR 7540 FOR I= 2TO NR- 1:GET 1,I;EA$(I- 1)[12]:NEXT I:FILE "C",1 7550 FILE "R",1,"ALLOTS",1:GET 1,1;NREC 7560 IF NREC< = 2THEN PLOT 7,3,0,31,11:PRINT "NO ALLOTMENTS RECORDED":FOR I= 1TO 1000:NEXT :GOTO 7870 7570 PLOT 12,3,0,1,27,24:PRINT " BANK ACCOUNT EXPEND. ACCT." 7580 PLOT 3,0,2:PRINT "RECNO NAME NO NAME AMOUNT DATE FRQ" 7590 SCREEN= 2:FOR I= 4TO 28:PLOT 3,1,I,11:NEXT I 7600 FOR REC= 2TO NREC- 1 7610 GET 1,REC;AC$[2],BA$[2],AMT,SD$[9],FRQ$[2]:AC= VAL (AC$):BA= VAL (BA$) 7620 PLOT 3,0,SCREEN+ 4:PRINT ""REC;:PLOT 3,3,SCREEN+ 4:PRINT ""BA$;" (";SA$(BA);") ";AC$;" (";EA$(AC);") ";:MO= AMT:GOSUB 114:PRINT MO$;" ";SD$;" ";FRQ$ 7630 SCREEN= SCREEN+ 1 7640 NEXT REC 7650 GOSUB 150 7660 IF Q$= "N"THEN FILE "C",1:GOTO 7870 7670 GOSUB 160 7680 GET 1,RREC;AC$[2],BA$[2],AMT,SD$[9],FRQ$[2]:AC= VAL (AC$):BA= VAL (BA$) 7690 GOSUB 190:PLOT 3,3,ROW:PRINT "";BA$;"":PLOT 3,3,ROW:GOSUB 200:IF Z1= 13THEN 7710 7700 BA$= " "+ CHR$ (Z1):BA= VAL (BA$) 7710 PLOT 3,3,ROW:PRINT BA$;" (";SA$(BA);")" 7720 PLOT 3,21,ROW:PRINT "";AC$;"":PLOT 3,21,ROW:GOSUB 200:IF Z1= 13THEN 7740 7730 Z1$= CHR$ (Z1):INPUT "";A$:AC$= Z1$+ A$:AC= VAL (AC$) 7735 IF LEN (AC$)< 2THEN AC$= " "+ AC$ 7740 PLOT 3,21,ROW:PRINT AC$;" (";EA$(AC);")" 7750 MO= AMT:GOSUB 114:PLOT 3,39,ROW:PRINT "";MO$;"":PLOT 3,39,ROW:GOSUB 200:IF Z1= 13THEN 7770 7760 Z1$= CHR$ (Z1):INPUT "";A$:AMT= VAL (Z1$+ A$):MO= AMT:GOSUB 114 7770 PLOT 3,39,ROW:PRINT MO$ 7780 PLOT 3,50,ROW:PRINT "";SD$;"":PLOT 3,50,ROW:GOSUB 200:IF Z1= 13THEN 7810 7790 Z1$= CHR$ (Z1):INPUT "";A$:TD$= Z1$+ A$:GOSUB 21000:IF ERR= 1THEN PLOT 7:GOTO 7780 7800 SD$= TD$ 7810 PLOT 3,50,ROW:PRINT SD$ 7820 PLOT 3,60,ROW:PRINT "";FRQ$;"":PLOT 3,60,ROW:GOSUB 200:IF Z1= 13THEN 7840 7830 Z1$= CHR$ (Z1):INPUT "";A$:FRQ$= Z1$+ A$ 7835 IF LEN (FR$)< 2THEN FR$= " "+ FR$ 7840 PLOT 3,60,ROW:PRINT FRQ$ 7850 PUT 1,RREC;AC$[2],BA$[2],AMT,SD$[9],FRQ$[2] 7860 GOSUB 180:GOTO 7660 7870 RETURN 7880 REM 7890 7980 7990 8000 PLOT 3,0,31,11:INPUT "ENTER TODAY'S DATE: ";TD$:GOSUB 21000:D7$= TD$:GOSUB 14000:JTD= D7:PLOT 12,3,28,14:PRINT "WORKING" 8010 FILE "R",1,"ALLOTS",1:GET 1,1;NR:IF NR< = 2THEN PLOT 7,3,0,31,11:PRINT "NO ALLOTMENTS RECORDED":FOR I= 1TO 3000:NEXT :GOTO 8360 8022 FILE "R",2,"BNKTIT",1:GET 2,1;NB:FOR I= 2TO NB- 1:GET 2,I;SA$(I- 1)[12]:NEXT I:FILE "C",2 8024 FILE "R",2,"EXPTIT",1:GET 2,1,5;NB:FOR I= 2TO NB- 1:GET 2,I;EA$(I- 1)[12]:NEXT I:FILE "C",2 8030 FOR REC= 2TO NR- 1 8040 GET 1,REC;AC$[2],BA$[2],AMT,SD$[9],FR$[2]:IF AMT= 0THEN 8340 8050 D7$= SD$:GOSUB 14000:IF D7< = JTDTHEN 8060 8055 PRINT " PAYMENT ALREADY ON FILE FOR ";EA$(VAL (AC$))"":FOR I= 1TO 1000:NEXT :GOTO 8340 8060 GOSUB 8500 8310 GOSUB 8700:PUT 1,REC,9;NI$[9]:GOTO 8040 8340 NEXT REC 8360 FILE "C",1:RETURN 8380 8400 FOR KL= ERTO ER- 10STEP - 1:IF KL< 2THEN NV= 1:GOTO 8430 8410 GET 2,KL,3;D7$[9]:GOSUB 14000:IF D7> = PDTHEN NV= 2:GOTO 8430 8420 NEXT KL:NV= 1 8430 RETURN 8480 8490 REM 8500 PE= VAL (FR$):DU$= SD$:NI$= SD$ 8510 JU= 12/ PE:IF JUMP< 1THEN 8580 8520 D7$= NI$:GOSUB 14000:Y1= Y1- 1900 8530 M= M+ INT (JUMP) 8540 IF M< = 12THEN 8560 8550 M= M- 12:Y1= Y1+ 1 8560 N1$= MID$ (STR$ (D),2)+ "."+ MID$ (STR$ (M),2)+ "."+ MID$ (STR$ (Y1),2):TD$= N1$:GOSUB 21000:D7$= TD$:GOSUB 14000:T1= D7 8570 GOTO 8590 8580 JUMP= INT (365/ PERIOD):D7$= NI$:GOSUB 14000:T1= D7+ JUMP 8590 REM 8600 D7= T1:GOSUB 8900:NI$= D7$ 8610 REM 8620 RETURN 8680 8700 PRINT " MAKING PAYMENT AGAINST ";EA$(VAL (AC$))"" 8705 FILE "R",2,"EXPEND",1:GET 2,1;NE 8710 PUT 2,NE;AC$[2],SD$[9],"ALLOTMENT "[12],0,"I"[1],AMT 8720 PUT 2,NE+ 1;AC$[2],SD$[9],SA$(VAL (BA$))[12],0,"P"[1],AMT 8730 PUT 2,1;NE+ 2:FILE "C",2 8740 FILE "R",2,"BNKTIT",1:GET 2,VAL (BA$)+ 1,26;BAL,OD$[9]:D7$= OD$:GOSUB 14000:OD= D7:D7$= SD$:GOSUB 14000:IF OD< D7THEN OD$= SD$ 8750 BAL= BAL- AMT:PUT 2,VAL (BA$)+ 1,26;BAL,OD$[9]:FILE "C",2 8760 FILE "R",2,"TRANS",1:GET 2,1;NT:PUT 2,NT;BA$[2],SD$[9],EA$(VAL (AC$))[12],0,AMT,"W"[1]:PUT 2,1;NT+ 1:FILE "C",2 8770 RETURN 8880 8900 J2= D7 8902 J3= INT (J2+ C9) 8904 D8= J2- J3 8906 J2= J3 8908 L= J2+ 2483589 8910 N= INT ((4* L/ 146097)+ C9) 8912 L= L- INT (((146097* N+ 3)/ 4)+ C9) 8914 Y2= INT ((4000* (L+ 1)/ 1461001)+ C9) 8916 L= L- INT (1461* (Y2/ 4)+ C9)+ 31 8918 M1= INT (80* (L/ 2447)+ C9) 8920 C9= .001 8922 D1= L- INT ((2447* M1/ 80)+ C9) 8924 IF M1> 0GOTO 8928 8926 D1= D1- 1 8928 L= INT ((M1/ 11)+ C9) 8930 D8= INT (10* D8+ .5) 8932 D1= D1+ (D8/ 10) 8934 M1= M1+ 2- 12* L 8936 Y2= 100* (N- 49)+ Y2+ L 8938 D1$= STR$ (D1):D1$= RIGHT$ (D1$,(LEN (D1$)- 1)):IF LEN (D1$)= 1THEN D1$= " "+ D1$ 8940 Y1$= STR$ (Y2):Y1$= RIGHT$ (Y1$,2) 8942 M1$= MID$ (STRMTH$,M1* 3,3) 8944 D7$= D1$+ " "+ M1$+ " "+ Y1$:RETURN 8950 10000 REM 10010 PLOT 15,12,3,23,5 10020 PRINT "ENTER DETAILS" 10040 PLOT 3,1,10:PRINT "ACCOUNT NUMBER" 10050 PLOT 3,1,11:PRINT "ACCOUNT NAME" 10060 PLOT 3,1,12:PRINT "BALANCE" 10070 PLOT 3,1,14:PRINT "AMOUNT OF BILL $" 10080 PLOT 3,1,15:PRINT "DATE OF BILL (D.M.YY)" 10081 PLOT 3,1,16:PRINT "DETAILS" 10082 PLOT 3,1,17:PRINT "DUE DATE (D.M.YY) OR RET" 10090 PLOT 3,25,10:PRINT ""ACNUM$"" 10100 PLOT 3,25,11:PRINT ""NME$"" 10110 MO= BAL:GOSUB 114:PLOT 3,25,12:PRINT ""MO$"" 10120 PLOT 3,25,14:PRINT " " 10130 PLOT 3,25,15:PRINT " " 10131 PLOT 3,25,16:PRINT " " 10132 PLOT 3,25,17:PRINT " " 10140 REM 10150 PLOT 6,2,3,0,19:GOSUB 20000 10210 X= 25:Y= 14:ML= 8:NA$= "N" 10220 PLOT 6,38 10230 GOSUB 86 10240 IF KB= 9GOTO 10230 10250 AMT= VAL (FI$) 10260 X= 25:Y= 15:ML= 8:NA$= "A" 10270 PLOT 6,38 10280 GOSUB 86 10290 IF KB= 9GOTO 10210 10300 TD$= FI$:GOSUB 21000:IF ERR= 1THEN PLOT 7:GOTO 10260 10305 DATE$= TD$ 10310 X= 25:Y= 16:ML= 12:NA$= "A" 10320 PLOT 6,38 10330 GOSUB 86 10340 IF KB= 9THEN 10260 10350 DETAILS$= FI$ 10352 X= 25:Y= 17:ML= 8:NA$= "A":PLOT 6,38:GOSUB 86:IF KB= 9THEN 10310 10353 IF FI$= ""THEN DDATE$= DATE$:GOTO 10460 10354 TD$= FI$:GOSUB 21000:IF ERR= 1THEN PLOT 7:GOTO 10352 10360 DDATE$= TD$ 10460 PLOT 6,2:RETURN 11000 REM 11010 PLOT 15,12,3,23,5 11020 PRINT "ENTER DETAILS" 11030 PLOT 3,1,9:PRINT "ACCOUNT NUMBER" 11040 PLOT 3,1,10:PRINT "ACCOUNT NAME" 11045 IF VAL (ACNUM$)= 16THEN PLOT 3,1,11:PRINT "TOTAL TO DATE":GOTO 11060 11050 PLOT 3,1,11:PRINT "BALANCE" 11055 PLOT 3,1,12:PRINT "DUE DATE" 11060 IF VAL (AC$)= 16THEN PLOT 3,1,14:PRINT "AMT OF PAYMENT $":GOTO 11070 11065 PLOT 3,1,14:PRINT "AMT OF PAYMENT OR RET $" 11070 IF VAL (AC$)= 16THEN PLOT 3,1,15:PRINT "DATE OF PAYMENT":GOTO 11100 11075 PLOT 3,1,15:PRINT "DATE OF PAYMENT OR RET" 11100 PLOT 3,25,9:PRINT ""ACNUM$"" 11110 PLOT 3,25,10:PRINT ""NME$"" 11115 IF VAL (ACNUM$)= 16THEN MO= - BAL:GOSUB 114:PLOT 3,25,11:PRINT ""MO$"":GOTO 11125 11120 MO= BAL:GOSUB 114:PLOT 3,25,11:PRINT ""MO$"" 11125 PLOT 3,25,12:PRINT ""DDATE$"" 11130 PLOT 3,25,14:PRINT " " 11140 PLOT 3,25,15:PRINT " " 11170 REM 11180 PLOT 6,2,3,0,17:GOSUB 20000 11190 X= 25:Y= 14:ML= 8:NA$= "N" 11200 PLOT 6,38 11210 GOSUB 86 11220 IF KB= 9GOTO 11210 11221 IF FI$= ""AND VAL (ACNUM$)= 16THEN PLOT 7:GOTO 11190 11222 IF FI$= ""THEN AMT= BAL:GOTO 11240 11230 AMT= VAL (FI$) 11240 X= 25:Y= 15:ML= 8:NA$= "A" 11250 PLOT 6,38 11260 GOSUB 86 11270 IF KB= 9GOTO 11190 11273 IF FI$= ""AND VAL (ACNUM$)= 16THEN PLOT 7:GOTO 11240 11275 IF FI$= ""THEN DATE$= DDATE$:GOTO 11360 11280 TD$= FI$:GOSUB 21000:IF ERR= 1THEN PLOT 7:GOTO 11240 11290 DATE$= TD$ 11360 PLOT 6,2:RETURN 12000 REM 12010 PLOT 15,12,3,23,5 12020 PRINT "ENTER DETAILS" 12030 PLOT 3,1,10:PRINT "ACCOUNT NUMBER" 12040 PLOT 3,1,11:PRINT "ACCOUNT NAME" 12050 PLOT 3,1,12:PRINT "ACCOUNT IDENTIFICATION" 12060 PLOT 3,1,13:PRINT "ACCOUNT BALANCE " 12070 PLOT 3,1,14:PRINT "LAST TRANSACTION DATE" 12080 PLOT 3,1,16:PRINT "CHEQUE NUMBER" 12100 PLOT 3,25,10:PRINT ""BACCT$"" 12110 PLOT 3,25,11:PRINT ""BNAME$"" 12120 PLOT 3,25,12:PRINT ""BDETAIL$"" 12130 MO= BBAL:GOSUB 114:PLOT 3,25,13:PRINT ""MO$"" 12140 PLOT 3,25,14:PRINT ""LBDATE$"" 12150 PLOT 3,25,16:PRINT " " 12170 REM 12180 PLOT 6,2,3,0,18:GOSUB 20000 12190 X= 25:Y= 16:ML= 6:NA$= "N" 12200 PLOT 6,38 12210 GOSUB 86 12220 IF KB= 9GOTO 12210 12230 CHNUM= VAL (FI$) 12360 PLOT 6,2:RETURN 13000 REM 13010 PLOT 14,12,3,23,5 13020 PRINT "ENTER PAYEE" 13140 PLOT 15,3,10,14:PRINT " " 13145 PLOT 3,10,15:PRINT " " 13150 REM 13160 PLOT 6,2,3,0,18:GOSUB 20000 13170 X= 10:Y= 14:ML= 40:NA$= "A" 13180 PLOT 6,38 13190 GOSUB 86 13200 IF KB= 9GOTO 13190 13210 T1$= FI$ 13211 X= 10:Y= 15:ML= 40:NA$= "A" 13212 PLOT 6,38 13213 GOSUB 86 13214 IF KB= 9GOTO 13170 13215 PYEE$= T1$+ FI$ 13220 PLOT 6,2:RETURN 13980 REM 13990 REM 14000 Y1= VAL (RIGHT$ (D7$,2)):D= VAL (LEFT$ (D7$,2)) 14010 FOR K= 1TO 12:IF MID$ (STRMTH$,K* 3,3)= MID$ (D7$,4,3)THEN M= K:GOTO 14030 14020 NEXT K 14030 Y1= Y1+ 1900 14040 C9= .001 14050 M9= (- 1)* INT (((14- M)/ 12)+ C9) 14060 J1= D- 2447095+ INT ((1461* (Y1+ 4800+ M9)/ 4)+ C9) 14070 J2= J1+ INT ((367* (M- 2- 12* M9)/ 12)+ C9) 14080 J1= J2- INT ((3* (Y1+ 4900+ M9)/ 400)+ C9) 14090 J2= J1 14100 D7= J2:RETURN 15000 REM 15010 PLOT 15,12,3,23,5 15020 PRINT "ENTER DETAILS" 15030 PLOT 3,1,10:PRINT "BANK ACCOUNT NUMBER" 15040 PLOT 3,1,11:PRINT "EXP. ACCOUNT NUMBER" 15060 PLOT 3,1,14:PRINT "REGULAR AMOUNT $" 15070 PLOT 3,1,15:PRINT "START DATE (D.M.YY)" 15080 PLOT 3,1,16:PRINT "FREQ. (12,26,52 ETC)" 15100 PLOT 3,25,10:PRINT ""BA$"" 15110 PLOT 3,25,11:PRINT ""AC$"" 15130 PLOT 3,25,14:PRINT " " 15140 PLOT 3,25,15:PRINT " " 15150 PLOT 3,25,16:PRINT " " 15170 REM 15180 PLOT 6,2,3,0,19:GOSUB 20000 15190 X= 25:Y= 14:ML= 8:NA$= "N" 15200 PLOT 6,38 15210 GOSUB 86 15220 IF KB= 9GOTO 15210 15230 AMT= VAL (FI$) 15240 X= 25:Y= 15:ML= 8:NA$= "A" 15250 PLOT 6,38 15260 GOSUB 86 15270 IF KB= 9GOTO 15190 15280 TD$= FI$:GOSUB 21000:IF ERR= 1THEN PLOT 7:GOTO 15240 15290 SDATE$= TD$ 15300 X= 25:Y= 16:ML= 12:NA$= "N" 15310 PLOT 6,38 15320 GOSUB 86 15330 IF KB= 9THEN 15240 15340 FRQ$= FI$ 15390 PLOT 6,2:RETURN 19997 REM 19998 REM 19999 REM 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 20950 REM 20960 REM 20970 REM 20980 REM 20990 REM 21000 ERR= 0:IF LEN (TD$)= 0THEN ERR= 1:GOTO 21080 21003 FOR JI= 1TO LEN (TD$):T6= ASC (MID$ (TD$,JI,1)):IF NOT (T6= 46OR (T6> 47AND T6< 58))THEN ERR= 1:GOTO 21080 21005 NEXT JI 21020 IF MID$ (TD$,2,1)= "."THEN TD$= "0"+ TD$ 21030 IF MID$ (TD$,5,1)= "."THEN TD$= LEFT$ (TD$,3)+ "0"+ RIGHT$ (TD$,4) 21040 MM= VAL (MID$ (TD$,4,2)) 21050 MM$= " "+ MID$ (STRMTH$,MM* 3,3)+ " " 21060 TD$= LEFT$ (TD$,2)+ MM$+ RIGHT$ (TD$,2) 21070 IF LEFT$ (TD$,1)= "0"THEN TD$= " "+ RIGHT$ (TD$,8) 21080 RETURN 30000 REM 30010 REM 30020 REM 30030 REM 30040 REM 30050 REM 30060 GOSUB 30110:GOTO 30150 30110 FOR I= 1TO 19:READ UN$(I):NEXT :FOR I= 2TO 9:READ TE$(I):NEXT :FOR I= 2TO 5:READ MU$(I):NEXT 30120 DATA ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,ELEVEN,TWELVE,THIRTEEN,FOURTEEN,FIFTEEN,SIXTEEN,SEVENTEEN,EIGHTEEN 30130 DATA NINETEEN,TWENTY,THIRTY,FORTY,FIFTY,SIXTY,SEVENTY,EIGHTY,NINETY,THOUSAND,MILLION,BILLION,TRILLION 30140 RETURN 30150 CH$= "":DO$= "":CE$= "":IF VAL (AM$)< .01THEN CH$= "*** VOID ***":RETURN 30160 FOR I= 1TO LEN (AM$):IF MID$ (AM$,I,1)= "."THEN DE= I:GOTO 30180 30170 NEXT I:DE= 0 30180 IF DE= 0THEN DO$= AM$:GOTO 30210 30190 IF DE= 1THEN DO$= "":CE$= MID$ (AM$,2,2):GOTO 30210 30200 DO$= LEFT$ (AM$,DE- 1):CE$= MID$ (AM$,DE+ 1,2) 30210 IF VAL (CE$)= 0THEN CE$= "":AM$= DO$ 30220 IF LEN (CE$)= 1THEN CE$= CE$+ "0" 30230 IF INT (LEN (DO$)/ 3)< > LEN (DO$)/ 3THEN DO$= "0"+ DO$:GOTO 30230 30240 FOR I= LEN (DO$)/ 3TO 1STEP - 1:D1= VAL (LEFT$ (DO$,1)):D2= VAL (MID$ (DO$,2,1)):D3= VAL (MID$ (DO$,3,1)) 30250 IF D1> 0THEN CH$= CH$+ UN$(D1)+ " HUNDRED " 30260 IF D2= 0THEN CH$= CH$+ UN$(D3)+ " " 30270 IF D2= 1THEN CH$= CH$+ UN$(10+ D3)+ " " 30280 IF D2< = 1THEN 30310 30290 CH$= CH$+ TE$(D2):IF D3> 0THEN CH$= CH$+ "-"+ UN$(D3)+ " ":GOTO 30310 30300 CH$= CH$+ " " 30310 IF I> 1THEN DO$= MID$ (DO$,4):IF D1+ D2+ D3> 0THEN CH$= CH$+ MU$(I)+ " " 30320 NEXT I 30330 IF CH$= " "THEN CH$= "NONE" 30340 IF CE$< > ""THEN 30370 30350 CH$= "EXACTLY "+ CH$:IF VAL (AM$)= 1THEN CH$= CH$+ " DOLLAR":GOTO 30380 30360 CH$= CH$+ " DOLLARS":GOTO 30380 30370 CH$= CH$+ " AND "+ CE$+ "/100 DOLLARS" 30380 FOR I= 1TO LEN (CH$):IF MID$ (CH$,I,2)= " "THEN CH$= MID$ (CH$,1,I)+ MID$ (CH$,I+ 2):I= I- 1 30390 NEXT 30400 RETURN