Listing of file='UPASST.BAS;01' on disk='vmedia/home_budget_2-sector.ccvf'
0 REM ************* UPDATE ASSETS AND LIABILITIES ********* 1 REM 50 CLEAR 2000:DIM EX(15) 52 DD= PEEK (65535):DSK$= MID$ (STR$ (DD- 1),2)+ ":" 54 GOTO 350 56 REM 58 REM ****************** YES/NO *************************** 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 ************** INKEY (SINGLE KEY INPUT) ************* 74 POKE 33278,0 76 Y= PEEK (33278) 78 IF Y= 0GOTO 76 80 Y$= CHR$ (Y):RETURN 82 REM 110 REM ************* FORMAT MONEY ************************** 112 REM MO ->->-> MO$ 114 RH$= STR$ ((1000* (MO- INT (MO))+ 1005)/ 10):LH$= STR$ (INT (MO)):LH$= "$"+ MID$ (LH$,2) 116 IF LEN (LH$)> = 6THEN 120 118 LH$= " "+ LH$:GOTO 116 120 RH$= MID$ (RH$,3,2):MO$= LH$+ "."+ RH$:RETURN 121 REM 130 REM ************* FORMAT PERCENT ************************ 140 REM MO ->->-> MO$ 150 RH$= STR$ ((1000* (MO* SGN (MO)- INT (MO* SGN (MO)))+ 1005)/ 10) 160 IF VAL (RH$)> = 200THEN MO= (MO* SGN (MO)+ 1)* SGN (MO) 170 LH$= STR$ (INT (MO* SGN (MO))* SGN (MO)):IF VAL (LH$)= 0AND SGN (MO)= - 1THEN LH$= "-0" 180 IF LEN (LH$)> = 3THEN 200 190 LH$= " "+ LH$:GOTO 180 200 RH$= MID$ (RH$,3,2):MO$= LH$+ "."+ RH$+ "%":RETURN 330 REM ************* MAIN PROGRAM ************************* 340 REM 350 IF DD= 1THEN PLOT 12,3,10,14:INPUT "LOAD DATA DISK AND HIT <RETURN> ";A 360 PLOT 12,3,15,1:PRINT "UPDATE ASSETS AND LIABILITIES" 450 PLOT 3,16,16:PRINT "1. UPDATE ASSETS 460 PLOT 3,16,17:PRINT "2. UPDATE LIABILITIES 475 PLOT 3,16,18:PRINT "3. END" 480 PLOT 3,10,28:PRINT "PLEASE SELECT ONE OF THE ABOVE OPTIONS...";:GOSUB 74 490 IF Y$< "1"OR Y$> "3"THEN PLOT 7:GOTO 360 500 ON VAL (Y$)GOSUB 1000,2000,3000 510 GOTO 360 970 REM 980 REM ******************** UPDATE ASSETS ****************** 990 REM 1000 CHOICE= 1:FILE "R",1,DSK$+ "ASSETS",1 1010 PLOT 12,27,24:PRINT :PRINT "REC NAME VALUE DATE APP.RATE INT.RATE" 1020 REC= 1:GET 1,REC;NREC 1030 IF NREC< = 2THEN PLOT 7:GOTO 1120 1040 SCREEN= 0:FOR I= 4TO 28:PLOT 3,1,I,11:NEXT I 1050 FOR REC= 2TO NREC- 1 1060 GET 1,REC;NAME$[20],AMT,DATE$[9],R1,R2 1070 PLOT 3,1,SCREEN+ 4:PRINT ""REC;:PLOT 3,5,SCREEN+ 4:PRINT ""NAME$;" ";:MO= AMT:GOSUB 114:PRINT MO$;" ";DATE$;" ";:IF CHOICE= 2THEN 1077 1075 MO= R1:GOSUB 150:PRINT MO$;:MO= R2:GOSUB 150:PLOT 3,54,SCREEN+ 4:PRINT MO$:GOTO 1080 1077 MO= R1:GOSUB 150:PRINT MO$;:PLOT 3,54,SCREEN+ 4:PRINT R2 1080 SCREEN= SCREEN+ 1:IF SCREEN< 25THEN 1100 1090 GOSUB 1130:SCREEN= 0:FOR I= 4TO 28:PLOT 3,1,I,11:NEXT I:REM EDIT 1100 NEXT REC 1110 GOSUB 1130 1120 FILE "C",1:RETURN 1130 PLOT 3,1,30,11:PRINT "UPDATE ANY RECORDS (Y/N)? ";:GOSUB 60 1140 IF Q$= "N"THEN RETURN 1150 PLOT 3,1,30,11:INPUT "ENTER RECORD NUMBER ";RREC:IF RREC> (NREC- 1)OR RREC< 2THEN PLOT 7:GOTO 1150 1155 PLOT 3,1,30,11:PRINT "ENTER CORRECTED DATA OR <RETURN> " 1160 GET 1,RREC;NAME$[20],AMT,DATE$[9],R1,R2 1170 ROW= (RREC- (INT ((RREC- 2)/ 25)* 25))+ 2:PLOT 3,5,ROW:PRINT "";NAME$;"":PLOT 3,5,ROW:GOSUB 1500:IF Z1= 13THEN 1180 1175 A2$= CHR$ (Z1):INPUT "";A$:NAME$= A2$+ A$ 1180 IF LEN (NAME$)< > 20THEN NAME$= NAME$+ " ":GOTO 1180 1190 PLOT 3,5,ROW:PRINT NAME$ 1200 MO= AMT:GOSUB 114:PLOT 3,26,ROW:PRINT "";MO$;"":PLOT 3,26,ROW:GOSUB 1500:IF Z1= 13THEN 1210 1205 A2$= CHR$ (Z1):INPUT "";A$:AMT= VAL (A2$+ A$):MO= AMT:GOSUB 114 1210 PLOT 3,26,ROW:PRINT MO$ 1220 PLOT 3,36,ROW:PRINT "";DATE$;"":PLOT 3,36,ROW:GOSUB 1500:IF Z1= 13THEN 1230 1225 A2$= CHR$ (Z1):INPUT "";A$:TD$= A2$+ A$:GOSUB 10000:IF ERR= 1THEN PLOT 7:GOTO 1220 1227 DATE$= TD$ 1230 PLOT 3,36,ROW:PRINT DATE$ 1240 MO= R1:GOSUB 150:PLOT 3,46,ROW:PRINT "";MO$;"":PLOT 3,46,ROW:GOSUB 1500:IF Z1= 13THEN 1250 1245 A2$= CHR$ (Z1):INPUT "";A$:R1= VAL (A2$+ A$):MO= R1:GOSUB 150 1250 PLOT 3,46,ROW:PRINT MO$ 1255 IF CHOICE= 2THEN 1272 1260 MO= R2:GOSUB 150:PLOT 3,54,ROW:PRINT "";MO$;"":PLOT 3,54,ROW:GOSUB 1500:IF Z1= 13THEN 1270 1265 A2$= CHR$ (Z1):INPUT "";A$:R2= VAL (A2$+ A$):MO= R2:GOSUB 150 1270 PLOT 3,54,ROW:PRINT MO$:GOTO 1280 1272 PLOT 3,54,ROW:PRINT "";R2;"":PLOT 3,55,ROW:GOSUB 1500:IF Z1= 13THEN 1276 1274 A2$= CHR$ (Z1):INPUT "";A$:R2= VAL (A2$+ A$) 1276 PLOT 3,54,ROW:PRINT R2 1280 PUT 1,RREC;NAME$[20],AMT,DATE$[9],R1,R2 1290 GOTO 1130 1500 POKE 33278,0 1510 Z1= PEEK (33278):IF Z1= 0THEN 1510 1520 RETURN 1970 REM 1980 REM ******************* LIABILITIES ********************* 1990 REM 2000 CHOICE= 2:FILE "R",1,DSK$+ "LIABS",1 2010 PLOT 12,27,24:PRINT :PRINT "REC NAME VALUE DATE INT.RATE INT.PER'D":GOTO 1020 2020 REM 3000 PRINT :PLOT 12,3,5,12:INPUT "LOAD APPROPRIATE PROGRAM DISK AND HIT <RETURN> ";A:LOAD "MENU":RUN 9900 PLOT 3,1,30:PRINT "EDIT ANY MORE (Y/N)? ";:GOSUB 60:RETURN 9930 REM 9940 REM 9950 REM ******************** DATE ROUTINE ******************* 9960 REM 9970 REM INPUT DATE AS D.M.YY ,ASSIGN TO TD$, AND CALL THIS 9980 REM OUTPUT IS TD$ IN THE FORM OF '12 JAN 81' 9990 REM 10000 ERR= 0:IF LEN (TD$)= 0THEN ERR= 1:GOTO 10080 10002 FOR JI= 1TO LEN (TD$):T6= ASC (MID$ (TD$,JI,1)):IF NOT (T6= 46OR (T6> 47AND T6< 58))THEN ERR= 1:GOTO 10080 10004 NEXT JI 10010 STRMTH$= " JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" 10020 IF MID$ (TD$,2,1)= "."THEN TD$= "0"+ TD$ 10030 IF MID$ (TD$,5,1)= "."THEN TD$= LEFT$ (TD$,3)+ "0"+ RIGHT$ (TD$,4) 10040 MM= VAL (MID$ (TD$,4,2)) 10050 MM$= " "+ MID$ (STRMTH$,MM* 3,3)+ " " 10060 TD$= LEFT$ (TD$,2)+ MM$+ RIGHT$ (TD$,2) 10070 IF LEFT$ (TD$,1)= "0"THEN TD$= " "+ RIGHT$ (TD$,8) 10080 RETURN