Listing of file='COMREP.BAS;01' on disk='vmedia/home_budget_3-sector.ccvf'
100 REM **************** COMBINED REPORTS ******************* 120 CLEAR 4000:DIM TINC(18),TEX(64),TINC$(18),TEX$(64),BCAT(18),IAC(64) 130 DD= PEEK (65535):DSK$= MID$ (STR$ (DD- 1),2)+ ":" 140 IF DD= 1THEN PLOT 12,14,3,10,15:INPUT "LOAD DATA DISK & HIT <RET>: ";A 150 UL$= "---------------------------------------------------------------" 155 U1$= "===============================================================" 160 GOTO 530 180 190 POKE 33278,0 200 IF PEEK (33278)= 0GOTO 200 210 IF PEEK (33278)= 89THEN PRINT "ES":Q$= "Y":RETURN 220 IF PEEK (33278)= 78THEN PRINT "O":Q$= "N":RETURN 230 PLOT 26,32,26:GOTO 190 250 260 POKE 33278,0 270 Y= PEEK (33278) 280 IF Y= 0GOTO 270 290 Y$= CHR$ (Y):RETURN 310 320 REM MO ->->-> MO$ 330 RH$= STR$ ((1000* (MO* SGN (MO)- INT (MO* SGN (MO)))+ 1005)/ 10) 340 IF VAL (RH$)> = 200THEN MO= (MO* SGN (MO)+ 1)* SGN (MO) 350 LH$= STR$ (INT (MO* SGN (MO))* SGN (MO)):IF VAL (LH$)= 0AND SGN (MO)= - 1THEN LH$= "-0" 360 LH$= "$"+ LH$ 370 IF LEN (LH$)> = 7THEN 390 380 LH$= " "+ LH$:GOTO 370 390 RH$= MID$ (RH$,3,2):MO$= LH$+ "."+ RH$:RETURN 410 420 REM MO ->->-> MO$ 430 RH$= STR$ ((1000* (MO* SGN (MO)- INT (MO* SGN (MO)))+ 1005)/ 10) 440 IF VAL (RH$)> = 200THEN MO= (MO* SGN (MO)+ 1)* SGN (MO) 450 LH$= STR$ (INT (MO* SGN (MO))* SGN (MO)):IF VAL (LH$)= 0AND SGN (MO)= - 1THEN LH$= "-0" 460 IF LEN (LH$)> = 3THEN 480 470 LH$= " "+ LH$:GOTO 460 480 RH$= MID$ (RH$,3,2):MO$= LH$+ "."+ RH$+ "%":RETURN 510 530 PLOT 12,14,3,20,1:PRINT "COMBINED REPORTS":PLOT 15 540 ISUM= 0:SUM= 0:BAL= 0:TEX= 0:EXSUM= 0 542 FOR I= 1TO 16:TINC(I)= 0:NEXT 544 FOR I= 1TO 56:TEX(I)= 0:NEXT 550 PLOT 3,3,5:PRINT "OPTIONS ARE:" 560 PLOT 3,13,7:PRINT "1. BALANCE SHEET FOR ONE CATEGORY" 570 PLOT 3,13,9:PRINT "2. BALANCE SHEET FOR ALL CATEGORIES" 580 PLOT 3,13,11:PRINT "3. END" 590 PLOT 3,5,22:PRINT "PLEASE MAKE A SELECTION....";:GOSUB 250:ANS= VAL (Y$):PRINT 600 IF NOT (ANS> = 1AND ANS< = 3)THEN PLOT 7:GOTO 530 610 ON ANSGOSUB 1000,2000,3000 620 GOTO 530 980 1000 PICK= 1:FILE "R",1,DSK$+ "INCTIT",1 1010 GET 1,1;NREC:NACCT= NREC- 1 1020 PLOT 12,3,1,1:PRINT "CURRENT ACCOUNTS ARE:" 1030 FOR REC= 2TO NREC- 1:IF REC= 3THEN 1050 1040 GET 1,REC;NAME$[12],BU$[1]:PLOT 3,5,REC+ 3:PRINT ""NAME$" BUDGET CATEGORY: ";BU$;"" 1050 NEXT REC 1060 PRINT :PRINT "ENTER BUDGET CATEGORY: ";:GOSUB 250:BSEL= VAL (Y$):PRINT :IF BSEL< 1OR BSEL> 8THEN PLOT 7,28,11,28:GOTO 1060 1070 FILE "C",1:T$= "BUD CAT"+ STR$ (BSEL):GOTO 2002 1690 1980 1990 REM 2000 PICK= 2:T$= "TOTAL " 2002 PRINT :PLOT 3,10,15 2004 FOR I= 1TO 18:TINC(I)= 0:BCAT(I)= 0:NEXT I 2006 FOR I= 1TO 64:TEX(I)= 0:IAC(I)= 0:NEXT I 2010 GOSUB 9000:PRINT PRNTER$;PLNGTH$;EM$;SH$ 2020 PRINT SPACE$;GR$;TAB( 13+ TB)T$;" INCOME & EXPENDITURE SUMMARY";RH$:PRINT SP$;TAB( 13+ TB)"=--=--=--=--=--=---=--=--=--=--=--=--=":PRINT 2030 IF PFLAG= 0THEN PLOT 3,0,30,11:GOSUB 4000 2040 PRINT SPACE$;WHITE$;TAB( 3+ TB)"DETAILS";TAB( 19+ TB)"INCOME EXPEND BALANCE PERCENTAGE":PRINT SPACE$;MAGEFTA$;UL$:PRINT 2050 FILE "R",1,DSK$+ "INCTIT",1:GET 1,1;N2REC:NACCT= N2REC- 1 2060 FILE "R",2,DSK$+ "INCOME",1:GET 2,1;NIREC 2065 2070 FOR ITIT= 2TO N2REC- 1:SEL= ITIT- 1 2080 GET 1,ITIT;TINC$(SEL)[12],BCAT$[1]:BCAT(SEL)= VAL (BCAT$) 2090 NEXT ITIT:BCAT(2)= 1:FILE "C",1 2095 2096 IF PICK= 1AND BSEL< > 1THEN 2100 2097 GOSUB 2600:REM PAYS FROM PAY FILE 2098 2100 FOR REC= 2TO NIREC- 1:GET 2,REC;NUM$[2],DATE$[9],DETAIL$[12],AMT 2110 SEL= VAL (NUM$):IF SEL= 1THEN 2140 2115 IF PICK= 1AND BCAT(SEL)< > BSELTHEN 2140 2120 TINC(SEL)= TINC(SEL)+ AMT 2130 ISUM= ISUM+ AMT 2140 NEXT REC 2150 FILE "C",2 2155 2160 FILE "R",1,DSK$+ "EXPTIT",1:GET 1,1,5;NTREC 2170 FOR TREC= 2TO NTREC- 1:ESEL= TREC- 1 2180 GET 1,TREC;TEX$(ESEL)[12],DU$[10],IAC$[2],ZZ:IAC(ESEL)= VAL (IAC$) 2185 IF ESEL= 16THEN CBAL= - ZZ 2190 NEXT TREC:FILE "C",1 2192 TEX$(16)= "CASH BALANCE" 2195 2200 FILE "R",2,DSK$+ "EXPEND",1:GET 2,1;NREC 2210 FOR REC= 2TO NREC- 1 2220 GET 2,REC;NUM$[2],DU$[25],IP$[1],AMT:NUM= VAL (NUM$) 2225 IF NUM= 16THEN 2280 2230 IF IP$< > "P"THEN 2280 2240 REM IF PAYMENT 2245 IF PICK= 1AND BCAT(IAC(NUM))< > BSELTHEN 2280 2250 TEX(NUM)= TEX(NUM)+ AMT 2260 EXSUM= EXSUM+ AMT 2270 REM ENDIF 2280 NEXT REC:FILE "C",2 2285 IF PICK= 2OR (PICK= 1AND BSEL= 1)THEN TEX(16)= CBAL:EXSUM= EXSUM+ CBAL 2295 IF PICK= 1AND BSEL< > 1THEN 2390 2296 2300 FILE "R",3,DSK$+ "PAYS",1:GET 3,1;NPREC 2310 FOR PREC= 2TO NPREC- 1 2320 FOR I= 1TO 15 2330 GET 3,PREC,I* 4+ 38;AMT 2340 TEX(I)= TEX(I)+ AMT 2350 EXSUM= EXSUM+ AMT 2360 NEXT I 2370 NEXT PREC:FILE "C",3 2380 2390 FOR I= 1TO N2REC- 2:IF TINC(I)= 0THEN 2420 2395 BAL= BAL+ TINC(I) 2400 PRINT SPACE$;WHITE$;TINC$(I);:MO= TINC(I):GOSUB 330:PRINT TAB( 15+ TB)MO$;:MO= BAL:GOSUB 330:PRINT TAB( 39+ TB)GR$;MO$; 2410 MO= TINC(I)/ ISUM* 100:GOSUB 430:PRINT RED$;TAB( 52+ TB)MO$ 2420 NEXT I 2430 PRINT :FOR I= 1TO NTREC- 2:IF TEX(I)= 0THEN 2460 2435 BAL= BAL- TEX(I) 2440 PRINT SPACE$;YELLOW$;TEX$(I);:MO= TEX(I):GOSUB 330:PRINT TAB( 27+ TB)MO$;:MO= BAL:GOSUB 330:PRINT TAB( 39+ TB)GR$;MO$; 2450 MO= TEX(I)/ EXSUM* 100:GOSUB 430:PRINT RED$;TAB( 52+ TB)MO$ 2460 NEXT I 2470 PRINT SPACE$;MAGENTA$;U1$;GREEN$ 2480 GOSUB 9500 2490 PRINT :INPUT "HIT <RETURN> TO CONTINUE: ";A:RETURN 2590 2600 FILE "R",1,DSK$+ "PAYS",1:GET 1,1;NREC,NSAL:SEL= 1 2610 FOR REC= 2TO NREC- 1:AMT= 0 2620 FOR IBYTE= 1TO NSAL- 1 2630 GET 1,REC,IBYTE* 4+ 10;ITEM 2640 AMT= AMT+ ITEM 2650 NEXT IBYTE 2655 TINC(SEL)= TINC(SEL)+ AMT 2660 ISUM= ISUM+ AMT 2670 NEXT REC 2680 FILE "C",1:RETURN 2690 3000 PLOT 12,3,5,12:INPUT "LOAD APPROPRIATE PROGRAM DISK AND HIT <RETURN> ";A:LOAD "MENU":RUN 4000 PRINT "WORKING: THIS MAY TAKE SOME TIME":PLOT 3,0,5:RETURN 8980 REM 8992 8994 REM 9000 PLOT 3,0,31,11:PRINT "TO PRINTER OR SCREEN: ";:GOSUB 260:IF Y$= "P"THEN PRINT "RINTER":GOTO 9070 9003 IF Y$< > "S"THEN PLOT 7:GOTO 9000 9005 PRINT "CREEN" 9010 REM IF OUTPUT TO SCREEN 9020 PFLAG= 0 9035 PLNGTH$= "":SH$= "":RH$= "" 9040 EMPH$= "":SPACE$= "":MAGENTA$= "":PRNTR$= "":CYAN$= "":GREEN$= "":WHITE$= "":RED$= "":YELLOW$= "":GOTO 9140 9060 REM ELSE 9070 PLOT 3,0,31,11:INPUT "TURN ON PRINTER & SET PAPER: HIT <RETURN> WHEN READY ";A:PLOT 12 9080 POKE 33289,132:PFLAG= 1:TMP= PEEK (33265) 9100 FILE "R",6,DSK$+ "PRNTER",1:GET 6,1;PRNTER$[7],EMPH$[4],DUMMY$[20],PLNGTH$[4],DU$[20],SH$[4],RH$[4]:FILE "C",6 9110 SPACE$= " ":MAGENTA$= "":CYAN$= "":GREEN$= "":WHITE$= "":RED$= "":YELLOW$= "" 9130 REM ENDIF 9140 TB= LEN (SPACE$):RETURN 9150 REM 9160 REM 9480 9490 REM 9500 IF PFLAG= 1THEN POKE 33265,TMP:POKE 33289,64 9510 RETURN 9520 REM