Compucolor.org – Virtual Media

Listing of file='ASLIAB.BAS;01' on disk='vmedia/home_budget_3-sector.ccvf'

120 CLEAR 6000
130 DD= PEEK (65535):DSK$= MID$ (STR$ (DD- 1),2)+ ":"
140 IF DD= 1THEN PLOT 12,14,3,10,15:INPUT "LOAD DATA DISK AND HIT <RET> ";A:PLOT 15
150 NS= 25:DIM ARDATE(NS,2),DATE$(NS),AMT(NS),CD$(NS),NDATE$(12,NS),NAMT(12,NS),NCD$(12,NS),NK(NS):SCREEN= 0
160 DIM OB(12),EX(12),NB$(12),NN$(12),BAL(12),RATE(12),PER(12),JBD(12):STRMTH$= "  JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
170 UL$= " --------------------------------------------------------------"
180 U1$= " =============================================================="
190 GOTO 460
220 POKE 33278,0
230 Y= PEEK (33278)
240 IF Y= 0GOTO 230
250 Y$= CHR$ (Y):RETURN
280 POKE 33278,0
290 IF PEEK (33278)= 0GOTO 290
300 IF PEEK (33278)= 80THEN PRINT "RINTER":Q$= "P":RETURN
310 IF PEEK (33278)= 83THEN PRINT "CREEN":Q$= "S":RETURN
320 PLOT 7,26,32,26:GOTO 280
360 RH$= STR$ ((1000* (MO* SGN (MO)- INT (MO* SGN (MO)))+ 1005)/ 10)
370 IF VAL (RH$)> = 200THEN MO= (MO* SGN (MO)+ 1)* SGN (MO)
380 LH$= STR$ (INT (MO* SGN (MO))* SGN (MO)):IF VAL (LH$)= 0AND SGN (MO)= - 1THEN LH$= "-0"
390 LH$= "$"+ LH$
400 IF LEN (LH$)> = MSTHEN 420
410 LH$= " "+ LH$:GOTO 400
420 RH$= MID$ (RH$,3,2):MO$= LH$+ "."+ RH$:RETURN
460 MS= 7:PRINT :PLOT 12,14,3,24,1:PRINT "ASSETS AND LIABILITIES":PLOT 15
470 PLOT 3,10,5:PRINT "OPTIONS ARE:"
480 PLOT 3,10,7:PRINT "1. CALCULATE AND DISPLAY A CURRENT LIABILITY"
490 PLOT 3,10,8:PRINT "2. SUMMARIZE ALL LIABILITIES"
510 PLOT 3,10,9:PRINT "3. SUMMARIZE ALL ASSETS"
520 PLOT 3,10,10:PRINT "4. PRINT BALANCE SHEET OF NET WORTH"
530 PLOT 3,10,15:PRINT "9. END"
540 PLOT 3,5,22:PRINT "PLEASE MAKE A SELECTION....";:GOSUB 220:ANS= VAL (Y$)
550 IF NOT ((ANS> = 1AND ANS< = 4)OR ANS= 9)THEN PLOT 7:GOTO 460
560 ON ANSGOSUB 1000,6000,8000,8520,9000,9000,9000,9000,9000
570 KOUNT= 0:SCREEN= 0:LBAL= 0:CBAL= 0:ABAL= 0:TBAL= 0
580 GOTO 460
1000 CHOICE= 1:FILE "R",1,DSK$+ "LIABS",1
1010 GET 1,1;NREC
1020 IF NREC= 2THEN PLOT 7,3,5,16:PRINT "NO LIABILITIES ON FILE":FOR I= 1TO 1500:NEXT I:FILE "C",1:GOTO 1830
1030 PLOT 12,3,1,1:PRINT "CURRENT ACCOUNTS ARE:"
1040 FOR REC= 2TO NREC- 1
1050 GET 1,REC;NAME$[20]:PLOT 3,5,REC+ 3:PRINT REC- 1,"";NAME$;""
1060 NEXT REC
1070 PLOT 3,0,30,11:PRINT "SELECT ACCOUNT NUMBER ";:GOSUB 220
1080 PRINT :IF VAL (Y$)< 1OR VAL (Y$)> (NREC- 2)THEN PLOT 7:GOTO 1070
1090 AR= VAL (Y$):FR= AR+ 1:LR= AR+ 2:A1= 1:GOSUB 6030:GOTO 1830
1610 PRINT PRNTER$;PLNGTH$;EMPH$
1620 PRINT SPACE$;SH$;TAB( 22+ LEN (SP$))NNAME$(1);RH$:PRINT :PRINT SP$;MA$;UL$;GR$
1630 PRINT SPACE$;TAB( 2+ LEN (SP$))"DATE          ITEM          ";CYAN$;"CREDIT";
1640 PRINT GREEN$;"       DEBIT     ";WHITE$;" BALANCE";GREEN$
1650 PRINT SPACE$;MAGENTA$;UL$;GREEN$:PRINT
1660 PRINT SPACE$;NBDATE$(1);TAB( 10+ LEN (SP$))"BALANCE";:MO= BAL(1):GOSUB 360:PRINT TAB( 52+ LEN (SP$))MO$:RETURN
1830 PRINT SP$;MA$;U1$;GR$:GOSUB 5500
1850 PRINT :PLOT 3,0,31,11:INPUT "HIT <RETURN> TO CONTINUE: ";A:RETURN
1860 END
2274 MO= NAMT(XY,TT):GOSUB 360:AMT$= MO$:MO= BAL(XY):GOSUB 360:BAL$= MO$
2278 ITEM$= "PAYMENT":TB= 28:IF NCD$(XY,TT)= "D"THEN ITEM$= "LOAN":TB= 40
2280 PRINT SPACE$;NDATE$(XY,TT);TAB( 10+ LEN (SP$))ITEM$;TAB( TB+ LEN (SP$))AMT$;TAB( 52+ LEN (SP$))BAL$
2298 SCREEN= SCREEN+ 1:IF SCREEN= 23AND PLAG= 0THEN PLOT 3,0,31,11:INPUT "HIT <RETURN> TO CONTINUE: ";A:FOR I= 1TO 24:PLOT 3,0,I+ 4,11:NEXT :SCREEN= 0:PLOT 3,0,5
2306 RETURN
2326 MO= IS:GOSUB 360:AMT$= MO$:MO= BAL(XY):GOSUB 360:BAL$= MO$
2330 ITEM$= "INTEREST":TB= 40
2332 PRINT SPACE$;NIDATE$;TAB( 10+ LEN (SP$))ITEM$;TAB( TB+ LEN (SP$))AMT$;TAB( 52+ LEN (SP$))BAL$
2334 SCREEN= SCREEN+ 1:IF SCREEN= 23AND PFLAG= 0THEN PLOT 3,0,31,11:INPUT "HIT <RETURN> TO CONTINUE: ";A:FOR I= 1TO 24:PLOT 3,0,I+ 4,11:NEXT :SCREEN= 0:PLOT 3,0,5
2338 RETURN
2412 Y1= VAL (RIGHT$ (D7$,2)):D= VAL (LEFT$ (D7$,2))
2413 FOR K= 1TO 12:IF MID$ (STRMTH$,K* 3,3)= MID$ (D7$,4,3)THEN M= K:GOTO 2415
2414 NEXT K
2415 Y1= Y1+ 1900
2417 C9= .001
2419 M9= (- 1)* INT (((14- M)/ 12)+ C9)
2421 J1= D- 2447095+ INT ((1461* (Y1+ 4800+ M9)/ 4)+ C9)
2423 J2= J1+ INT ((367* (M+ 2- 12* M9)/ 12)+ C9)
2425 J1= J2- INT ((3* (Y1+ 4900+ M9)/ 400)+ C9)
2427 J2= J1
2460 D7= J2:RETURN
2490 J2= D7
2502 J3= INT (J2+ C9)
2504 D8= J2- J3
2506 J2= J3
2508 L= J2+ 2483589
2510 N= INT ((4* L/ 146097)+ C9)
2512 L= L- INT (((146097* N+ 3)/ 4)+ C9)
2514 Y2= INT ((4000* (L+ 1)/ 1461001)+ C9)
2516 L= L- INT (1461* (Y2/ 4)+ C9)+ 31
2518 M1= INT (80* (L/ 2447)+ C9)
2520 C9= .001
2522 D1= L- INT ((2447* M1/ 80)+ C9)
2524 IF M1> 0GOTO 2528
2526 D1= D1- 1
2528 L= INT ((M1/ 11)+ C9)
2530 D8= INT (10* D8+ .5)
2532 D1= D1+ (D8/ 10)
2534 M1= M1+ 2- 12* L
2536 Y2= 100* (N- 49)+ Y2+ L
2560 D1$= STR$ (D1):D1$= RIGHT$ (D1$,(LEN (D1$)- 1)):IF LEN (D1$)= 1THEN D1$= " "+ D1$
2561 Y1$= STR$ (Y2):Y1$= RIGHT$ (Y1$,2)
2562 M1$= MID$ (STRMTH$,M1* 3,3)
2563 D7$= D1$+ " "+ M1$+ " "+ Y1$:RETURN
2590 N= KOUNT
2600 INC= (2^ INT (LOG (N)/ LOG (2)))
2610 INC= INT (INC/ 2):IF INC< 1THEN RETURN
2620 FOR I= 1TO INC:FOR J= I+ INCTO NSTEP INC:K= J:T1= ARDATE(K,1):T2= ARDATE(K,2)
2630 IF ARDATE(K- INC,1)< = T1THEN 2650
2640 ARDATE(K,1)= ARDATE(K- INC,1):ARDATE(K,2)= ARDATE(K- INC,2):K= K- INC:IF K> INCTHEN 2630
2650 ARDATE(K,1)= T1:ARDATE(K,2)= T2:NEXT J,I:GOTO 2610
3000 PE= PE(XY)
3010 JU= 12/ PE:IF JUMP< 1THEN 3120
3030 D7$= NIDATE$:GOSUB 2412:Y1= Y1- 1900
3040 M= M+ INT (JUMP)
3050 IF M< = 12THEN 3090
3070 M= M- 12:Y1= Y1+ 1
3090 NIDATE$= MID$ (STR$ (D),2)+ "."+ MID$ (STR$ (M),2)+ "."+ MID$ (STR$ (Y1),2):TD$= NIDATE$:GOSUB 21045:NIDATE$= TD$
3100 GOTO 3140
3120 JUMP= INT (365/ PERIOD):D7$= NIDATE$:GOSUB 2412:D7= D7+ JUMP:GOSUB 2490:NIDATE$= D7$
3140 RETURN
5000 PLOT 3,0,30,11:PRINT "TO PRINTER OR SCREEN: ";:GOSUB 280
5002 IF Q$= "P"THEN 5072
5005 IF Q$< > "S"THEN PLOT 7:GOTO 5000
5020 PFLAG= 0
5035 PLNGTH$= "":SH$= "":RH$= ""
5040 EMPH$= "":SPACE$= "":MAGENTA$= "":PRNPR$= "":CYAN$= "":GREEN$= "":WHITE$= "":RED$= "":YELLOW$= "":GOTO 5120
5070 PLOT 3,0,31,11:INPUT "TURN ON PRINTER & SET PAPER: HIT <RETURN> WHEN READY ";A
5072 POKE 33289,132:PFLAG= 1:TMP= PEEK (33265)
5090 FILE "R",6,DSK$+ "PRNTER",1:GET 6,1;PRNTER$[7],EMPH$[4],DUMMY$[20],PLNGTH$[4],DUMMY$[20],SH$[4],RH$[4]:FILE "C",6
5095 SPACE$= "         ":MAGENTA$= "":CYAN$= "":GREEN$= "":WHITE$= "":RED$= "":YELLOW$= ""
5120 RETURN
5500 IF PFLAG= 1THEN POKE 33265,TMP:POKE 33289,64
5505 RETURN
6000 CHOICE= 2
6005 FR= 2:MS= 8:LBAL= 0:FILE "R",1,DSK$+ "LIABS",1
6010 GET 1,1;LREC:A1= LREC- 2
6020 IF LREC= 2THEN PLOT 7,3,5,16:PRINT "NO LIABILITIES ON FILE":FOR I= 1TO 1500:NEXT I:FILE "C",1:GOTO 6930
6030 PLOT 12,3,10,14:INPUT "ENTER TODAY'S DATE (D.M.YY): ";TD$:GOSUB 21045:IF ERR= 1THEN 6030
6035 DATE$= TD$:D7$= DATE$:GOSUB 2412:JTDAY= D7
6037 PLOT 3,0,30,11:PRINT "TO PRINTER OR SCREEN: ";:GOSUB 280
6040 PLOT 12,3,10,14:PRINT "WORKING: THIS MAY TAKE SOME TIME":PLOT 3,10,15:PRINT "SEARCHING LIABILITIES FILE"
6090 FOR RLEC= FRTO LREC- 1
6100 SEL= RLEC- 1:IF CH= 1THEN SEL= 1
6110 GET 1,RLEC;NN$(SEL)[12],DU$[8],BAL(SEL),NBDATE$(SEL)[9],RATE(SEL),PERIOD(SEL):D7$= NB$(SE):GOSUB 2412:JB(SEL)= D7
6120 OB(SEL)= BAL(SEL):NEXT RLEC:FILE "C",1
6125 FOR I= 1TO NS:NK(I)= 0:NEXT I:PLOT 3,10,16:PRINT "SEARCHING INCOMES FILE FOR LOANS":IF CH= 1THEN SEL= AR
6130 FILE "R",1,DSK$+ "INCOME",1:GET 1,1;NREC
6140 FOR REC= 2TO NREC- 1
6145 GET 1,REC;INUM$[2],IDATE$[9],DETAIL$[12],IAMT
6150 IF NOT (VAL (INUM$)= 2)THEN 6210
6160 D7$= IDATE$:GOSUB 2412:JI= D7
6175 IF NOT (JI< = JTDAY)THEN 6210
6181 FOR IK= 1TO A1:IF DE$< > NN$(IK)THEN 6200
6184 IF JI< JB(IK)THEN 6200
6185 AP= IK
6187 NK(AP)= NK(AP)+ 1
6190 NDATE$(AP,NK(AP))= IDATE$:NAMT(AP,NK(AP))= IAMT:NCD$(AP,NK(AP))= "D"
6200 NEXT IK
6210 NEXT REC:FILE "C",1:FILE "R",1,DSK$+ "EXPTIT",1:GET 1,1,5;NTREC
6215 PLOT 3,10,17:PRINT "SEARCHING EXPENDITURE TITLES FILE"
6220 FOR REC= 2TO NTREC- 1
6225 GET 1,REC,21;LACNUM$[2]
6227 IF CH= 1AND VAL (LA$)< > SELTHEN 6242
6230 IF (CH= 2OR CH= 5)AND (VAL (LACNUM$)< 1OR VAL (LA$)> A1)THEN 6242
6235 IF CH= 1THEN AP= 1:EX(AP)= REC- 1:GOTO 6242
6240 AP= VAL (LA$):EX(AP)= REC- 1
6242 NEXT REC:FILE "C",1:PLOT 3,10,18:PRINT "SEARCHING EXPENDITURE FILE FOR REPAYMENTS"
6243 FILE "R",1,DSK$+ "EXPEND",1:GET 1,1;NREC
6255 FOR REC= 2TO NREC- 1
6260 GET 1,REC;EACNUM$[2]
6262 FOR AP= 1TO A1
6265 IF VAL (EACNUM$)< > EX(AP)THEN 6350
6275 GET 1,REC,28;IP$[1]
6290 GET 1,REC,3;EDATE$[9],DUMMY$[17],EAMT:IF IP$= "I"AND EAMT< 0THEN IP$= "P"
6292 IF IP$< > "P"THEN 6350
6295 D7$= EDATE$:GOSUB 2412:JEDATE= D7
6300 IF JEDATE< JB(AP)THEN 6350
6310 IF NOT (JEDATE< = JTDAY)THEN 6350
6320 NK(AP)= NK(AP)+ 1
6325 NDATE$(AP,NK(AP))= EDATE$:NAMT(AP,NK(AP))= EAMT:NCD$(AP,NK(AP))= "C":IF EAMT< 0THEN NC$(AP,NK(AP))= "D"
6350 NEXT AP:NEXT REC:FILE "C",1:PLOT 3,10,19:PRINT "SEARCHING PAYS FILE FOR REPAYMENTS"
6370 FILE "R",1,DSK$+ "PAYS",1:GET 1,1;NPAY
6375 FOR REC= 2TO NPAY- 1:FOR AP= 1TO A1:IF EX(AP)> 15THEN 6425
6380 GET 1,RE,5;EDATE$[9]:GET 1,RE,EX(AP)* 4+ 38;EAMT:D7$= EDATE$:GOSUB 2412:JEDATE= D7
6385 IF NOT (JEDATE> = JB(AP)AND EAMT< > 0)THEN 6425
6395 IF NOT (JEDATE< = JTDAY)THEN 6425
6405 NK(AP)= NK(AP)+ 1
6410 NDATE$(AP,NK(AP))= EDATE$:NAMT(AP,NK(AP))= EAMT:NCD$(AP,NK(AP))= "C"
6425 NEXT AP:NEXT REC:FILE "C",1
6426 GOSUB 5002:IF CH= 1THEN GOSUB 1610:GOTO 6442
6427 IF CH= 5THEN RETURN
6428 PRINT PRNTER$;PLNGTH$;EMPH$;SH$
6430 PRINT SPACE$;TAB( 17+ LEN (SP$))"UPDATED LIABILITIES FOR ";TD$;RH$:PRINT SP$;TAB( 17+ LEN (SP$))"=--=--=--=--=--=-=--=--=--=--=--=":PRINT
6434 PRINT SPACE$;MAGENTA$;UL$;GREEN$
6436 PRINT SPACE$;TAB( 2+ LEN (SP$))WHITE$;"     NAME               START DATE  START AMT        BALANCE";GREEN$
6438 PRINT SPACE$;MAGENTA$;UL$;GREEN$:PRINT
6442 FOR XY= 1TO A1:KO= NK(XY)
6450 IF KOUNT= 0THEN 6485
6454 FOR I= 1TO KOUNT
6456 D7$= NDATE$(XY,I):GOSUB 2412:ARDATE(I,1)= D7:ARDATE(I,2)= I
6458 NEXT I
6460 GOSUB 2590
6485 NIDATE$= NBDATE$(XY):START= 1
6495 GOSUB 3000
6500 D7$= NIDATE$:GOSUB 2412:JNIDATE= D7
6505 IF JNIDATE> JTDAYTHEN 6815
6520 IF START> KOUNTOR KOUNT= 0THEN 6580
6525 FOR I= STARTTO KOUNT
6530 TT= ARDATE(I,2)
6535 D7$= NDATE$(XY,TT):GOSUB 2412
6540 IF D7> JNIDATETHEN 6580
6550 IF NCD$(XY,TT)= "C"THEN BAL(XY)= BAL(XY)- NAMT(XY,TT):IF CH= 1THEN GOSUB 2274
6555 IF NCD$(XY,TT)= "D"THEN BAL(XY)= BAL(XY)+ NAMT(XY,TT):IF CH= 1THEN GOSUB 2274
6560 START= START+ 1
6570 NEXT I
6580 IS= (RATE(XY)/ PERIOD(XY))* BAL(XY)/ 100:BAL(XY)= BAL(XY)+ IS
6800 IF CH= 1THEN GOSUB 2326
6805 GOTO 6495
6815 IF START> KOUNTOR KOUNT= 0THEN 6900
6820 FOR I= STARTTO KOUNT
6825 TT= ARDATE(I,2):IF NCD$(XY,TT)= "C"THEN BAL(XY)= BAL(XY)- NAMT(XY,TT):IF CH= 1THEN GOSUB 2274
6830 IF NCD$(XY,TT)= "D"THEN BAL(XY)= BAL(XY)+ NAMT(XY,TT):IF CH= 1THEN GOSUB 2274
6835 START= START+ 1
6840 NEXT I
6900 IF CH= 1THEN RETURN
6901 IF CH= 5THEN GOSUB 8825:GOTO 6905
6902 PRINT TAB( 2+ LEN (SP$))NNAME$(XY);TAB( 25+ LEN (SP$))NB$(XY);:MO= OB(XY):GOSUB 360:PRINT TAB( 36+ LEN (SP$))MO$;:MO= BAL(XY):GOSUB 360:PRINT TAB( 51+ LEN (SP$))MO$
6905 LBAL= LBAL+ BAL(XY)
6910 NEXT XY:IF CH= 5THEN RETURN
6915 PRINT :PRINT SPACE$;MAGENTA$;UL$;GREEN$
6920 PRINT SPACE$;YELLOW$;"  TOTAL LIABILITIES";:MO= LBAL:GOSUB 360:PRINT GREEN$;TAB( 51+ LEN (SP$))MO$
6925 PRINT SPACE$;MAGENTA$;U1$;GREEN$:PRINT :GOSUB 5500
6930 IF CH= 5THEN RETURN
6940 PRINT :PLOT 3,0,31,11:INPUT "HIT <RETURN> TO CONTINUE: ";A:RETURN
8000 MS= 8:CHOICE= 4:LBAL= 0
8005 FILE "R",1,DSK$+ "ASSETS",1
8010 GET 1,1;LREC
8024 PLOT 12,3,10,14:INPUT "ENTER TODAY'S DATE (D.M.YY): ";TD$:GOSUB 21045:IF ERR= 1THEN 8024
8026 DATE$= TD$:D7$= DATE$:GOSUB 2412:JTDAY= D7
8030 GOSUB 5000:PLOT 12,3,10,15:PRINT "WORKING: THIS MAY TAKE SOME TIME":IF CHOICE= 5THEN RETURN
8040 PRINT PRNTER$;PLNGTH$;EMPH$;SH$
8042 PRINT SPACE$;TAB( 24+ LEN (SP$))"ASSETS AS AT ";DATE$;RH$:PRINT SP$;TAB( 24+ LEN (SP$))"=--=--=--=--=--=--=--=":PRINT
8045 IF PFLAG= 0THEN PLOT 3,0,30,11:PRINT "WORKING: THIS MAY TAKE SOME TIME":PLOT 3,0,4
8047 PRINT SPACE$;MAGENTA$;UL$;GREEN$
8050 PRINT SPACE$;TAB( 10+ LEN (SP$))WHITE$;"ITEM            VALUE DATE      VALUE      CURRNT VAL";GREEN$
8060 PRINT SPACE$;MAGENTA$;UL$;GREEN$:PRINT
8065 IF LREC= 2THEN 8111
8070 FOR RLEC= 2TO LREC- 1:KOUNT= 0
8080 GET 1,RLEC;NAME$[20],BAL,BDATE$[9],APPRATE:D7$= BDATE$:GOSUB 2412:JBDATE= D7:CURV= BAL+ (JTDAY- JBDATE+ 1)/ 365* APPRATE/ 100* BAL
8090 PRINT TAB( 2+ LEN (SP$))NAME$;TAB( 26+ LEN (SP$))BDATE$;:MO= BAL:GOSUB 360:PRINT TAB( 38+ LEN (SP$))MO$;
8095 MO= CURV:GOSUB 360:PRINT TAB( 51+ LEN (SP$))MO$
8100 LBAL= LBAL+ BAL:CBAL= CBAL+ CURV
8110 NEXT RLEC
8111 FILE "C",1:FILE "R",1,DSK$+ "BNKTIT",1:GET 1,1;NREC:IF NREC= 2THEN 8120
8112 FOR REC= 2TO NREC- 1:GET 1,REC;NAME$[12],DUMMY$[13],BAL,BDATE$[9]
8113 PRINT TAB( 2+ LEN (SP$))NAME$;TAB( 26+ LEN (SP$))BDATE$;:MO= BAL:GOSUB 360:PRINT TAB( 38+ LEN (SP$))MO$;TAB( 51+ LEN (SP$))MO$
8114 LBAL= LBAL+ BAL:CBAL= CBAL+ BAL
8115 NEXT REC
8120 FILE "C",1:PRINT :PRINT SPACE$;MAGENTA$;UL$;GREEN$
8130 PRINT SPACE$;YELLOW$;"  TOTAL ASSETS";:MO= LBAL:GOSUB 360:PRINT GREEN$;TAB( 38+ LEN (SP$))MO$;:MO= CBAL:GOSUB 360:PRINT TAB( 51+ LEN (SP$))MO$
8140 PRINT SPACE$;MAGENTA$;U1$;GREEN$:PRINT :GOSUB 5500
8150 PRINT :PLOT 3,0,31,11:INPUT "HIT <RETURN> TO CONTINUE: ";A:RETURN
8520 CHOICE= 5:GOSUB 6005
8521 ABAL= 0
8522 FILE "R",1,DSK$+ "ASSETS",1
8523 GET 1,1;LREC
8530 PRINT PRNTER$;PLNGTH$;EMPH$;SH$
8533 PRINT SPACE$;GR$;TAB( 20+ LEN (SP$))"NETT VALUE AS AT ";DATE$;RH$:PRINT TAB( 20+ LEN (SP$));"=--=--=--=---=--=--=--=--=":PRINT
8537 PRINT SPACE$;MAGENTA$;UL$;GREEN$
8540 PRINT SPACE$;TAB( 10+ LEN (SP$))WHITE$;"ITEM               ASSETS   LIABILITIES      BALANCE";GREEN$
8550 PRINT SPACE$;MAGENTA$;UL$;GREEN$:PRINT
8555 IF LREC= 2THEN 8620
8560 FOR RLEC= 2TO LREC- 1:KOUNT= 0
8570 GET 1,RLEC;NAME$[20],BAL,BDATE$[9],APPRATE:D7$= BDATE$:GOSUB 2412:JBDATE= D7:CURV= BAL+ (JTDAY- JBDATE+ 1)/ 365* APPRATE/ 100* BAL
8575 ABAL= ABAL+ CURV:TBAL= TBAL+ CURV
8580 PRINT TAB( 2+ LEN (SP$))NAME$;:MO= CURV:GOSUB 360:PRINT CYAN$;TAB( 26+ LEN (SP$))MO$;:MO= TBAL:GOSUB 360:PRINT WHITE$;TAB( 51+ LEN (SP$))MO$;GREEN$
8610 NEXT RLEC
8620 FILE "C",1:FILE "R",1,DSK$+ "BNKTIT",1:GET 1,1;NREC:IF NREC= 2THEN 8120
8630 FOR REC= 2TO NREC- 1:GET 1,REC;NAME$[12],DUMMY$[13],BAL,BDATE$[9]
8635 ABAL= ABAL+ BAL:TBAL= TBAL+ BAL
8640 PRINT TAB( 2+ LEN (SP$))NAME$;:MO= BAL:GOSUB 360:PRINT CYAN$;TAB( 26+ LEN (SP$))MO$;:MO= TBAL:GOSUB 360:PRINT WHITE$;TAB( 51+ LEN (SP$))MO$;GREEN$
8660 NEXT REC
8670 PRINT :FILE "C",1:GOSUB 6442:GOTO 8860
8825 TBAL= TBAL- BAL(XY)
8830 PRINT YELLOW$;TAB( 2+ LEN (SP$))NNAME$(XY);:MO= BAL(XY):GOSUB 360:PRINT RED$;TAB( 38+ LEN (SP$))MO$;:MO= TBAL:GOSUB 360:PRINT WHITE$;TAB( 51+ LEN (SP$))MO$;GREEN$
8850 RETURN
8860 PRINT :PRINT SPACE$;MAGENTA$;UL$;GREEN$
8870 PRINT SPACE$;YELLOW$;"  TOTALS";:MO= ABAL:GOSUB 360:PRINT CYAN$;TAB( 26+ LEN (SP$))MO$;:MO= LBAL:GOSUB 360:PRINT RED$;TAB( 38+ LEN (SP$))MO$;
8875 MO= ABAL- LBAL:GOSUB 360:PRINT WHITE$;TAB( 51+ LEN (SP$))MO$;GREEN$
8880 PRINT SPACE$;MAGENTA$;U1$;GREEN$:PRINT :GOSUB 5500
8890 PRINT :PLOT 3,0,31,11:INPUT "HIT <RETURN> TO CONTINUE: ";A:RETURN
9000 PRINT :PLOT 12,3,5,12:INPUT "LOAD APPROPRIATE PROGRAM DISK AND HIT <RETURN> ";A:LOAD "MENU":RUN
21045 ERR= 0:IF LEN (TD$)= 0THEN ERR= 1:GOTO 21130
21050 FOR JI= 1TO LEN (TD$):T6= ASC (MID$ (TD$,JI,1)):IF NOT (T6= 46OR (T6> 47AND T6< 58))THEN ERR= 1:GOTO 21130
21055 NEXT JI
21070 IF MID$ (TD$,2,1)= "."THEN TD$= "0"+ TD$
21080 IF MID$ (TD$,5,1)= "."THEN TD$= LEFT$ (TD$,3)+ "0"+ RIGHT$ (TD$,4)
21090 MM= VAL (MID$ (TD$,4,2))
21100 MM$= " "+ MID$ (STRMTH$,MM* 3,3)+ " "
21110 TD$= LEFT$ (TD$,2)+ MM$+ RIGHT$ (TD$,2)
21120 IF LEFT$ (TD$,1)= "0"THEN TD$= " "+ RIGHT$ (TD$,8)
21125 GOTO 21140
21130 PLOT 7
21140 RETURN