Compucolor.org – Virtual Media

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

100 REM  *************** CREATE ****+*************************
110 REM
120 GOTO 250
130 PO= PEEK (32940)+ PEEK (32941)* 256+ 1:SA= 28672+ 128* Y+ X+ X:ZZ= INT (SA/ 256):POKE PO+ 3,SA- 256* ZZ:POKE PO+ 4,ZZ:SA= SA- 2:POKE PO+ 1,ASC (NA$):FI$= ""
190 PLOT 3,X,Y:KB= CALL (ML):IF KB= 9OR PEEK (PO)= 0THEN RETURN
220 FOR I= 2TO PEEK (PO)* 2STEP 2:FI$= FI$+ CHR$ (PEEK (SA+ I)):NEXT I:RETURN
250 PLOT 27,4:PRINT "RUN FIELDS":PLOT 27,27:CLEAR 500
260 DD= PEEK (65535):DSK$= MID$ (STR$ (DD- 1),2)+ ":"
300 PLOT 12,14,3,10,15
310 IF DD= 1THEN INPUT "LOAD DATA DISK AND HIT <RETURN>....";ANS
320 PLOT 12,15,27,4:PRINT "DIR":PLOT 27,27
330 PRINT :PRINT "THIS PROGRAM WILL ADD DATA FILES TO THE ABOVE DISK."
350 PRINT :PRINT "ENTER   1. TO CONTINUE"
360 INPUT "        2. TO START AGAIN....";ANS
370 IF ANS< 1OR ANS> 2THEN PLOT 7,28,11,28,11:GOTO 350
380 IF ANS= 2THEN 300
390 PLOT 12,14,3,24,15:PRINT "CREATING DATA FILES":PLOT 15
400 FILE "N",DSK$+ "PRNTER",1,128,1
410 FILE "N",DSK$+ "INCTIT",19,20,19
420 FILE "N",DSK$+ "INCOME",66,27,66
430 FILE "N",DSK$+ "EXPTIT",64,38,64
440 FILE "N",DSK$+ "EXPEND",600,32,30
450 FILE "N",DSK$+ "BNKTIT",10,38,10
460 FILE "N",DSK$+ "TRANS",400,38,40
470 FILE "N",DSK$+ "PAYS",52,131,13
480 FILE "N",DSK$+ "PAYTIT",8,16,8
490 FILE "N",DSK$+ "ASSETS",24,48,8
500 FILE "N",DSK$+ "LIABS",24,48,8
505 FILE "N",DSK$+ "ALLOTS",13,19,13
510 PLOT 12,14,3,25,15:PRINT "INITIALIZING FILES":PLOT 15
520 FILE "R",1,DSK$+ "INCTIT",1
530 INCAC= 1:INCAC$= "PAY":GOSUB 3000
540 PUT 1,2;INCAC$[12],BUDCAT$[1],"Y"[1],FRQ$[2],FAMT
542 PUT 1,3;"LOANS"[12],"9"[1],"N"[1],"0"[2],0
550 PUT 1,1;4
560 FILE "C",1
570 FILE "R",1,DSK$+ "INCOME",1:PUT 1,1;2:FILE "C",1
580 FILE "R",1,DSK$+ "EXPTIT",1
590 FOR I= 1TO 15:PUT 1,I+ 1;"SPARE       "[12],"    "[4],0,"    "[4],0,"          "[10]:NEXT
591 PUT 1,17;"CASH"[12],"5"[1],"N"[1]," 1"[2],0,"  "[2]," 1"[2],0,"          "[10]
595 PUT 1,18;"MISC"[12],"5"[1],"N"[1]," 1"[2],0,"  "[2]," 1"[2],0,"          "[10]
600 PUT 1,1;2,19:FILE "C",1
610 FILE "R",1,DSK$+ "EXPEND",1:PUT 1,1;2:FILE "C",1
620 FILE "R",1,DSK$+ "BNKTIT",1:PUT 1,10;"SPARE       "[12]
630 PUT 1,1;2:FILE "C",1
640 FILE "R",1,DSK$+ "TRANS",1:PUT 1,1;2
642 FOR I= 2TO 400:PUT 1,I,33;"N"[1]:NEXT :FILE "C",1
650 FILE "R",1,DSK$+ "PAYS",1
660 FOR I= 2TO 52:PUT 1,I;0,"         "[9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"9"[2],0,"9"[2],0,"9"[2],0,"9"[2],0,"9"[2],0
670 PUT 1,1;2,1,1,1:FILE "C",1
680 FILE "R",1,DSK$+ "PAYTIT",1
690 FOR I= 2TO 8:PUT 1,I;"SPARE       "[12]:NEXT
700 PUT 1,1;2:FILE "C",1
710 FILE "R",1,DSK$+ "ASSETS",1:PUT 1,1;2:FILE "C",1
720 FILE "R",1,DSK$+ "LIABS",1:PUT 1,1;2:FILE "C",1
722 FILE "R",1,DSK$+ "ALLOTS",1:PUT 1,1;2
724 FOR I= 2TO 13:PUT 1,I;"                   "[19]:NEXT I
730 FILE "C",1:FILE "R",1,DSK$+ "PRNTER",1
2000 PLOT 27,24,14,12,3,15,1:PRINT "ENTER PRINTER PARAMETERS:"
2010 PLOT 15,3,10,4:INPUT "ENTER BAUD RATE: ";BR
2020 IF BR= 110THEN BR= 1:SB= 15:GOTO 2110
2030 SB= 14
2040 IF BR= 150THEN BR= 2:GOTO 2110
2050 IF BR= 300THEN BR= 3:GOTO 2110
2060 IF BR= 1200THEN BR= 4:GOTO 2110
2070 IF BR= 2400THEN BR= 5:GOTO 2110
2080 IF BR= 4800THEN BR= 6:GOTO 2110
2090 IF BR= 9600THEN BR= 7:GOTO 2110
2100 PLOT 7:GOTO 2000
2110 PRNTR$= CHR$ (SB)+ CHR$ (27)+ CHR$ (18)+ CHR$ (BR)+ CHR$ (15)+ CHR$ (27)+ CHR$ (13):PUT 1;PRNTR$[7]:PRINT "";
2120 GOSUB 2360:FOR I= 1TO 1000:NEXT :PRINT "";:GOSUB 2360
2130 PLOT 3,0,6:INPUT "ENTER ASCII VALUES TO SET EMPHASIZED PRINT............: ";A$:FIELD= 8:GOSUB 2280
2150 INPUT "ENTER ASCII VALUES TO RESET EMPHASIZED PRINT..........: ";A$:FIELD= 12:GOSUB 2280
2170 INPUT "ENTER ASCII VALUES TO RESET SKIP-OVER-PERF. TO ZERO...: ";A$:FIELD= 16:GOSUB 2280
2190 INPUT "ENTER ASCII VALUES TO TURN OFF THE PAPER-OUT SENSOR...: ";A$:FIELD= 20:GOSUB 2280
2210 INPUT "ENTER ASCII VALUES TO RESET PRINTER TO DEFAULT VALUES.: ";A$:FIELD= 24:GOSUB 2280
2250 INPUT "ENTER ASCII VALUES TO SET THE PAPER LENGTH............: ";A$:FIELD= 32:GOSUB 2280
2252 INPUT "ENTER ASCII VALUES TO SET COMPRESSED CHARACTERS.......: ";A$:FIELD= 28:GOSUB 2280
2255 INPUT "ENTER ASCII VALUES TO RESET COMPRESSED CHARACTERS.....: ";A$:FIELD= 36:GOSUB 2280
2260 INPUT "ENTER ASCII VALUES TO SET DOUBLE WIDTH PRINT..........: ";A$:FIELD= 40:GOSUB 2280
2262 INPUT "ENTER ASCII VALUES TO RESET DOUBLE WIDTH PRINT........: ";A$:FIELD= 44:GOSUB 2280
2264 INPUT "ENTER ASCII VALUES TO SET ITALICS.....................: ";A$:FIELD= 48:GOSUB 2280
2266 INPUT "ENTER ASCII VALUES TO RESET ITALICS...................: ";A$:FIELD= 52:GOSUB 2280
2267 INPUT "ENTER ASCII VALUES TO SET DOUBLE STRIKE...............: ";A$:FIELD= 56:GOSUB 2280
2268 INPUT "ENTER ASCII VALUES TO RESET DOUBLE STRIKE.............: ";A$:FIELD= 60:GOSUB 2280
2270 FILE "C",1:GOTO 2500
2280 A(1)= 0:A(2)= 0:A(3)= 0:A(4)= 0:KO= 1
2290 IF LEN (A$)= 0THEN 2340
2300 FOR I= 1TO LEN (A$)
2310 IF MID$ (A$,I,1)= ","THEN A(KO)= VAL (LEFT$ (A$,I- 1)):A$= MID$ (A$,I+ 1):KO= KO+ 1:I= 0
2320 NEXT I
2330 A(KO)= VAL (A$)
2340 CODE$= CHR$ (A(1))+ CHR$ (A(2))+ CHR$ (A(3))+ CHR$ (A(4)):PUT 1,1,FIELD;CODE$[4]
2350 RETURN
2360 PLOT 3,10,30:PRINT "PLEASE ENTER THE REQUIRED VALUES OR HIT <RETURN>"
2370 PLOT 3,10,31:PRINT "NOTE: ENTER EACH CODE SEPARATED BY COMMAS":RETURN
2500 PLOT 12,3,5,12:INPUT "LOAD THE APPROPRIATE PROGRAM DISK AND HIT <RETURN>: ";A:LOAD "MENU":RUN
3000 REM  *************** PROTECTED FIELDS ********************
3010 PLOT 12,3,23,1,14
3020 PRINT "ENTER PAY DETAILS"
3030 PLOT 3,0,5,11,3,5,5,15
3040 FOR I= 1TO 20:PLOT 10,11:NEXT I
3050 PLOT 3,1,10:PRINT "ACCOUNT NUMBER"
3060 PLOT 3,1,11:PRINT "ACCOUNT NAME"
3070 PLOT 3,1,13:PRINT "NOW ENTER THE BUDGET CATEGORY (1-9)"
3080 PLOT 3,1,14:PRINT "BUDGET CATEGORY"
3090 PLOT 3,1,16:PRINT "ENTER NUMBER OF TIMES PER YEAR (EG 52,26,12  ETC.)
3100 PLOT 3,1,17:PRINT "FREQUENCY"
3110 PLOT 3,1,19:PRINT "ENTER FORECAST AMOUNT"
3120 PLOT 3,1,20:PRINT "FORECAST          $"
3130 PLOT 3,20,10:PRINT "1"
3140 PLOT 3,20,11:PRINT "PAY"
3150 PLOT 3,20,14:PRINT " "
3160 PLOT 3,20,17:PRINT "  "
3170 PLOT 3,20,20:PRINT "         "
3180 REM
3190 PLOT 3,0,24
3200 PRINT "           1. ONLY LEFT & RIGHT CURSOR ALLOWED."
3210 PRINT "           2. CURSOR WON'T GO OUT OF A FIELD."
3220 PRINT "           3. DEL/INS CHAR AND DEL LINE ALL WORK."
3230 PRINT "           4. ALPHA CHARS DISABLED IN NUMERIC FLD."
3240 PRINT "           5. TAB KEY BACKS UP A FIELD."
3250 X= 20:Y= 14:ML= 1:NA$= "A":PLOT 6,38
3260 GOSUB 130:IF KB= 9GOTO 3260
3270 BUDCAT$= FI$
3280 X= 20:Y= 17:ML= 2:NA$= "A":PLOT 6,38:GOSUB 130:IF KB= 9GOTO 3250
3290 FRQ$= FI$
3300 X= 20:Y= 20:ML= 9:NA$= "N":PLOT 6,38:GOSUB 130:IF KB= 9GOTO 3280
3310 FAMT= VAL (FI$):PLOT 6,2:RETURN