1 KEY OFF 2 COLOR 5, 0, 6 3 DIM AF$(60, 3, 1), NF(60, 4, 1), CR(60), DB(60), C(60), SC(60, 15), D(60), SD(60, 15), LC$(60, 9), LD$(60, 9) 4 DIM AC$(60), S(60), AD$(60), TD(60), TC(60), CD(60), C2(60), TC$(60), TD$(60), PD(60), PC(60), LOTUS(60), CD$(60) 6 GOSUB 40000 8 GOSUB 400 9 REM Menu1 (data entry) is at 400. Menu2 (create files) is at 1000. JKEY is at 40000. Autorun is at 30000. Manual Menu2 is at 9000. Hitting ret("0") at menu2 sends you to 9000 (MainMenu3) . Mastfile input is at 1100. Transaction input is at 1200. Update is at 1 1400. 10 GOTO 6 100 RETURN 190 RETURN 320 RETURN 400 CLS : PRINT : PRINT : PRINT : PRINT : PRINT " DATA ENTRY BY JOEY EVANS LINE 400": PRINT "===============================================================================": PRINT 401 PRINT " J.M. LABS EXECUTIVE COMPUTING MAIN MENU 1" 402 PRINT : PRINT "===============================================================================": PRINT 410 PRINT "1. CREATE NEW SEQUENTIAL FILE.........................LINE 7000" 420 PRINT "2. LOAD OLD SEQUENTIAL FILE...........................LINE 3000" 430 PRINT "3. OPEN AND SAVE SEQUENTIAL FILE......................LINE 4000" 440 PRINT "4. REVIEW OLD FILE OR UPDATE..........................LINE 8000" 450 PRINT : PRINT "5. CREATE RANDOM FILE...........................LINE 100" 460 PRINT "6. SAVE NEW RANDOM FILE...............................LINE 600" 470 PRINT "7. LOAD OLD RANDOM FILE" 480 PRINT "8 SAVE OLD FILE TO NEW RANDOMFILE" 484 PRINT : PRINT "9. RUN YOUR PROGRAM AUTOMATICALLY..............LINE 3000" 485 PRINT : PRINT "0. RUN YOUR PROGRAM MANUALLY ..................LINE 1000" 486 PRINT : PRINT "===============================================================================": CODE1 = 0: B = 0 488 PRINT "AUTOMATIC CODE=9 0 = RETURN": INPUT CODE1: IF CODE1 = 9 THEN 30000 489 IF CODE1 < 9 THEN B = CODE1 490 REM 491 IF B = 0 THEN 1000 492 ON B GOSUB 7000, 3000, 4000, 8000, 100, 600, 600, 600 493 RETURN 498 RETURN 600 REM 610 REM OPEN "R", #1, FILE$, 100 614 FIELD #1, 20 AS N$, 20 AS D$, 4 AS J$, 4 AS G$, 8 AS P$, 2 AS A$, 2 AS B$, 40 AS T$ 618 INPUT "2DIGIT CODE"; RECORD% 619 IF RECORD% < 1 THEN CLOSE : END 620 REM GOTO SEQ CREATE FILE 624 REM LSET N$ = AF$(X, 1) 626 REM LSET D$ = AF$(X, 2) 628 REM LSET I$ = AF$(X, 3) 630 REM LSET G$ = NF(X, 2) 632 REM LSET J$ = MKS$(NF(X, 1)) 633 REM LSET G$ = MKS$(NF(X, 2)) 634 REM LSET A$ = MKI$(NF(X, 3)) 636 REM LSET B$ = MKI$(NF(X, 4)) 638 REM LSET P$ = MKD$(NF(X, 5)) 645 PUT #1, RECORD% 648 GOTO 618 649 RETURN 700 GOTO 2 718 REM 748 GOTO 718 749 RETURN 860 PRINT : PRINT : PRINT : PRINT : PRINT " TO QUIT HIT ZERO" 861 INPUT "NAME "; ZN$ 862 IF ZN$ = "0" THEN RETURN 865 LR$ = LEFT$(ZN$, 1) 870 FOR x% = 1 TO NR 876 IF LEFT$(N$(x%), 1) = LR$ THEN GOSUB 190 878 NEXT x% 879 RETURN 880 PRINT : PRINT : PRINT : PRINT : PRINT " TO QUIT HIT ZERO" 881 INPUT "STORY "; ZS$ 882 IF ZS$ = "0" THEN RETURN 885 LR$ = LEFT$(ZS$, 1) 890 FOR x% = 1 TO NR 896 IF LEFT$(S$(x%), 1) = LR$ THEN GOSUB 190 898 NEXT x% 899 RETURN 900 PRINT : PRINT : PRINT : PRINT : PRINT " TO QUIT HIT ZERO" 961 INPUT "DATE "; ZD$ 962 IF ZD$ = "0" THEN RETURN 965 LR$ = LEFT$(ZD$, 1) 970 FOR x% = 1 TO NR 976 IF LEFT$(D$(x%), 1) = LR$ THEN GOSUB 190 978 NEXT x% 979 RETURN 980 REM 999 END 999 RETURN 1000 CLS : PRINT "------------------------------------------------------------------------------": PRINT " MENU 2 ACCOUNTING JOURNALS PREPARATION line 1000" 1005 PRINT : PRINT "-------------------------------------------------------------------------------" 1010 REM 1015 PRINT 1020 PRINT "1. CREATE TRANSACTION JOURNALS & ADJUSTMENTS..........10000" 1030 PRINT "2. UPDATE TRANSACTION JOURNALS & ADJUSTMENTS 10100": PRINT 1040 PRINT "3. CREATE, FORMAT SELECT, & SAVE MASTERFILE...........10200.....SUBR 11000" 1045 PRINT "4. UPDATE GENERAL LEDGER ACCOUNTS MASTERFILE 10300": PRINT 1050 PRINT "5. CREATE ACCOUNTS RECEIVABLES MASTERFILE.......10400" 1055 PRINT "6. UPDATE ACCOUNTS RECEIVABLES MASTERFILE 10500": PRINT 1060 PRINT "7. CREATE ACCOUNTS PAYABLE MASTERFILE...........10600" 1065 PRINT "8. UPDATE ACCOUNTS PAYABLE MASTERFILE 10700": PRINT : PRINT "-------------------------------------------------------------------------------" 1066 B = 0 1067 PRINT " PROCEED TO NEXT MENU 3 HIT RETURN": PRINT 1068 INPUT B 1069 IF B = 0 THEN 1085 1070 ON B GOSUB 10000, 10100, 10200, 10300 1075 RETURN: REM TO MAIN MENU 1079 RETURN 1080 REM================================================= 1085 CLS : PRINT " MENU 3 ACCOUNTING STATEMENTS ...... 1080....sub9000" 1086 GOSUB 9000 1087 PRINT " SELECT OR TYPE 99 FOR !HELP! ": B = 0 1088 REM 1090 INPUT B 1092 IF B = 99 THEN GOSUB 33000 1095 REM 1096 IF B = 11 THEN 1000 1097 IF B = 12 THEN 400 1098 ON B GOSUB 1100, 1200, 1400, 1500, 1600, 1700, 1250, 5200, 1800, 5300 1099 RETURN: REM TO MAIN MENU 1100 GOSUB 2100: REM======================= MASTERFILE INPUT ROUTINE 1105 IF CODE1 = 9 THEN 1110 1107 DE = 0 1108 PRINT "GOTO DATA ENTRY = 0 ?": INPUT DE 1109 IF DE > 0 THEN RETURN 1110 OPEN "I", #1, "MASTER1.txt": GOSUB 3090: REM DATA ENTRY 1111 C% = 1: PRINT "COLUMNS ="; C% 1112 FOR A% = 1 TO NR 1113 AC$(A%) = AF$(A%, 1, 1): GOSUB 99000 1114 CD$(A%) = AF$(A%, 3, C%): AD$(A%) = AF$(A%, 2, C%) 1115 TC(A%) = NF(A%, 1, C%): PC(A%) = TC(A%) 1116 TD(A%) = NF(A%, 2, C%): PD(A%) = TD(A%) 1117 CD(A%) = NF(A%, 3, C%) 1118 PRINT A%, AC$(A%) 1119 NEXT A% 1120 CLOSE 1: RETURN 1200 REM ================================= TRANSACTIONFILE INPUT ROUTINE 1204 NC = 1 1206 NR0 = 1: NR1 = 15: NR2 = 0: NR = 15: AF = 2: NF = 4: C = 1: NM$ = "TRANSACT" 1208 OPEN "I", #1, "TRANSACT.txt" 1210 GOSUB 3090: REM DATA ENTRY 1211 C = 1 1212 FOR A = 1 TO NR 1213 TC$(A) = AF$(A, 1, C): GOSUB 99000 1214 TD$(A) = AF$(A, 2, C) 1215 DB(A) = NF(A, 3, C) 1216 CR(A) = NF(A, 2, C) 1217 S(A) = NF(A, 1, C): PRINT "transaction no."; A, S(A) 1218 C2(A) = NF(A, 4, C) 1219 NEXT A: REM=========================== END 1220 RETURN 1250 REM ================================= ADJUSTMENTS $ INCOME STATEMENT 1256 NR0 = 1: NR = 5: NR1 = 0: NR2 = 5: AF = 2: NF = 4: C = 1: NM$ = "ADJUST1": REM TEMPORARY GOTO 1260 OPEN "I", #1, "ADJUST1.txt": GOSUB 3090: REM DATA ENTRY 1271 GOSUB 1211 1272 GOSUB 1400: REM ADJUSTMENTS 1273 PRINT "==============================================================================="; " INCOME STATEMENT J.M. LABS SUPERFLEX ACCOUNTING" 1275 REM ______________________________________________________________________________" 1280 FOR A% = 40 TO 60 1282 L$ = AC$(A%): L$ = L$ + SPACE$(26 - LEN(L$)) 1283 PRINT L$; TD(A%), TC(A%): FD = FD + TD(A%): FC = FC + TC(A%) 1285 NEXT A% 1288 PRINT "______________________________________________________________________________": PRINT " INCOME = ", FD; " "; FC; " TOTAL="; FC - FD; : REM GOSUB1595 1290 INPUT wate 1295 RETURN 1400 REM ================================= DOING THE BOOKS MASTER UPDATE 1405 IF REDO = 1 THEN 1499: REM SKIP UPDATE 1410 KY = 0: REM ? 1411 CK = 0: REM E(R)=0 1450 REM ----------------------------- 1452 FOR T = NR0 TO NR1 + NR2: REM 15 TEST TRANSACS. CT=2 IS CREDITS CT=3 IS DEBITS 1455 IF C2(T) = 2 THEN IF CODE > 2 THEN CK = 2: REM CODE 3 IS RECEIVABLES CODE 4 IS PAYABLES CODE 2 CASHFLOW 1458 IF C2(T) = 1 THEN 1460 1459 IF C2(T) = 3 THEN IF CODE > 2 THEN 1472 1460 PRINT "TRANSACTION #"; T; " "; 1461 GOSUB 99000 1462 REM -----------------------CREDITS 1463 GOSUB 99000 1464 GOSUB 99000 1465 R = CR(T): PRINT TC(R); "+"; S(T); "="; 1466 TC(R) = TC(R) + S(T): PRINT TC(R); "=TC("; R; ") "; 1470 C(R) = C(R) + 1: x = C(R): SC(R, x) = S(T): LC$(R, x) = TC$(T) 1471 IF CK = 2 THEN 1485 1472 REM -----------------------DEBITS 1475 R = DB(T): PRINT TD(R); "+"; S(T); "="; 1476 TD(R) = TD(R) + S(T): PRINT TD(R); "=TD("; R; ")" 1480 D(R) = D(R) + 1: x = D(R): SD(R, x) = S(T): LD$(R, x) = TC$(T) 1482 IF CODE1 = 9 THEN 1490 1485 INPUT YY 1490 NEXT T 1499 RETURN 1500 CLS : PRINT 1510 PRINT "===============================================================================" 1520 PRINT " J.M. LABS TRIAL BALANCE SHEET LINE 1500": PRINT "-------------------------------------------------------------------------------" 1525 TOTASSET = 0: TOTLIAB = 0: S1 = S1 + 1: REM PREVENTS DOUBLE ADDING 1530 FOR A = 1 TO 60 1532 L$ = AC$(A): L$ = L$ + SPACE$(26 - LEN(L$)) 1535 PRINT L$, TD(A), TC(A) 1540 IF S1 > 2 THEN GOTO 1550 1545 TOTASSET = TOTASSET + TD(A): TOTLIAB = TOTLIAB + TC(A) 1550 IF A = 20 THEN GOSUB 1595: REM SCREEN PAUSE 1551 IF A = 40 THEN GOSUB 1595: REM SCREEN PAUSE 1560 NEXT A 1565 PRINT "-------------------------------------------------------------------------------": PRINT "ASSETS= $ "; TOTASSET; " LIABILITIES + EQUITY = $"; TOTLIAB 1570 INPUT wate: GOSUB 1595 1580 RETURN 1595 INPUT XXX 1597 RETURN 1600 REM 1651 REM 1652 PRINT "*******************" 1700 IF CODE1 = 9 THEN NU = 60 AND N4 = 1: REM ============================================================= LEDGERS 1701 REM 1702 IF CODE1 = 9 THEN 1709 1703 REM 1705 INPUT "CRT DISPLAY?"; CRT$ 1707 INPUT "HOW MANY ACCOUNTS"; NU: INPUT " START AT WHICH ACCOUNT"; N4 1709 N2 = N4 + NU - 1 1710 FOR MR% = N4 TO N2 1711 IF CRT$ <> "Y" THEN 1790 1712 IF CRT$ <> "Y" THEN 1787 1714 CLS : PRINT "================================================================== ACCOUNTFLEX" 1715 PRINT " "; AC$(MR%); " ACCOUNT #"; MR% 1718 PRINT "===============================================================================" 1720 PRINT : PRINT " "; PD(MR%); " "; PC(MR%); " ORIGINAL VALUES" 1725 PRINT "-------------------------------------------------------------------------------" 1735 FOR x% = 1 TO C(MR%) 1738 PRINT " "; SC(MR%, x%); " "; LC$(MR%, x%) 1740 NEXT x% 1750 FOR x% = 1 TO D(MR%) 1755 PRINT " "; SD(MR%, x%); " "; LD$(MR%, x%) 1758 NEXT x% 1760 PRINT "______________________________________________________________________________" 1765 PRINT " "; TD(MR%); " "; TC(MR%) 1770 GOSUB 1790 1772 PRINT " "; TD(MR%); " "; TC(MR%) 1780 REM 1785 PRINT "_______________________________________________________________________________": PRINT : PRINT 1786 INPUT XXXX 1787 NEXT MR% 1788 RETURN 1790 IF CD$(MR%) = "L" OR CD$(MR%) = "S" THEN TC(MR%) = TC(MR%) - TD(MR%) 1792 IF CD$(MR%) = "A" OR CD$(MR%) = "E" THEN TD(MR%) = TD(MR%) - TC(MR%) 1794 IF CD$(MR%) = "L" OR CD$(MR%) = "S" THEN TD(MR%) = 0 1796 IF CD$(MR%) = "A" OR CD$(MR%) = "E" THEN TC(MR%) = 0 1797 LOTUS(MR%) = ABS(TC(MR%) - TD(MR%)) 1798 RETURN 1800 REM ==================================== CLOSING ROUTINE 1810 REM 1815 FOR CC% = 41 TO 60 STEP 1 1816 REM 1818 IF CD$(CC%) = "E" THEN TD(40) = TD(40) + TD(CC%) 1819 IF CD$(CC%) = "E" THEN TD(CC%) = 0 1822 IF CD$(CC%) = "S" THEN TC(40) = TC(40) + TC(CC%) 1823 IF CD$(CC%) = "S" THEN TC(CC%) = 0 1830 NEXT CC% 1845 FOR CC% = 1 TO 20 STEP 1 1848 IF CD$(CC%) = "F" THEN TD(21) = TD(21) + TD(CC%) 1849 IF CD$(CC%) = "F" THEN TD(CC%) = 0 1852 IF CD$(CC%) = "C" THEN TC(21) = TC(21) + TC(CC%) 1853 IF CD$(CC%) = "C" THEN TC(CC%) = 0 1860 NEXT CC% 1890 RETURN 1900 REM 2000 BEEP 2100 REM ================================= TYPE OF BUSINESS MASTERFILE SELECT 2104 CLS : PRINT : PRINT : PRINT : PRINT 2107 PRINT " BUSINES MASTERFILE SELECTION at 2100": PRINT "===============================================================================": PRINT " MENU 4 -JM LABS" 2109 PRINT : PRINT 2110 PRINT " 1. SOLE PROPRIETOR - SALES ONLY .......2170" 2115 PRINT " 2. SOLE PROPRIETOR - SERVICE ONLY ......2200" 2120 PRINT " 3. SOLE PROPRIETOR - COMBO ..............2300" 2125 PRINT " 4. PARTNERSHIPS - COMBO ..................2400" 2130 PRINT " 5. CORPORATIONS - SALES ONLY ..............2500" 2135 PRINT " 6. CORPORATIONS - MANUFACTURING COMBO ......2600" 2140 PRINT " 7. OTHER.....................................2700" 2145 PRINT " 8. GO TO MENU 3 - MAIN at 1080" 2147 PRINT " 9. GO TO MENU 1 - at 400 " 2148 PRINT " 10. ACCOUNTS RECIEVABLES ..........2800" 2149 PRINT " 11. ACCOUNTS PAYABLES..............2900" 2150 PRINT : PRINT : PRINT "===============================================================================" 2153 IF CODE1 = 9 THEN PRINT "......................AUTOMATIC FOR #1 ONLY" 2154 IF CODE1 = 9 THEN 2170 2155 PRINT : PRINT : PRINT "SELECT ONE": INPUT BT 2156 IF CODE1 = 9 THEN 2170 2157 IF BT = 8 THEN 1080 2159 IF BT = 9 THEN 400 2160 ON BT GOSUB 2170, 2200, 2300 2169 RETURN 2170 REM ================== SOLE PROPRIETOR SALES 2172 IF CODE1 = 9 THEN 2176 2175 PRINT "COLUMN =": INPUT C% 2176 NR = 60: AF = 3: NF = 3: NC = 1: CODE = 1 2177 PRINT "DAMMIT!!!!!" 2178 NM$ = "MASTER1": PRINT NM$ 2190 RETURN 2200 REM ================== SOLE PROPRIETOR SERVICE 2204 OPEN "I", #1, "MASTER2" 2205 CLS : PRINT : PRINT : PRINT 2206 NR = 40: AF = 3: NF = 3: CODE = 1 2207 PRINT "COLUMN = ": INPUT NC 2208 NM$ = "MASTER2" 2250 RETURN: REM======================================== 2300 REM ================== SOLE PROPRIETOR COMBO 2304 OPEN "I", #1, "MASTER3" 2305 CLS : PRINT : PRINT : PRINT 2306 NR = 60: AF = 3: NF = 3: CODE = 1 2307 PRINT "COLUMN = ": INPUT NC 2308 NM$ = "MASTER3" 2350 RETURN: REM======================================== 2400 REM ================== PARTNERSHIP 2404 OPEN "I", #1, "MASTER4" 2406 NR = 60: AF = 2: NF = 4 2408 NM$ = "MASTER4" 2450 RETURN: REM======================================== 2500 REM ================== CORPORATION 2504 OPEN "I", #1, "MASTER5" 2506 NR = 60: AF = 2: NF = 4 2508 NM$ = "MASTER5" 2550 RETURN: REM======================================== 2600 REM ================== CORPORATION 2604 OPEN "I", #1, "MASTER6" 2606 NR = 60: AF = 3: NF = 3: CODE = 1 2608 NM$ = "MASTER6" 2650 RETURN: REM======================================== 2700 REM ================== OTHER 2704 OPEN "I", #1, "MASTER7" 2706 NR = 60: AF = 3: NF = 3 = CODE = 1 2708 NM$ = "MASTER7" 2750 RETURN: REM======================================== 2804 OPEN "I", #1, "RECEIVABLES" 2806 NR = 60: AF = 3: NF = 3: CODE = 3 2808 NM$ = "RECEIVABLES" 2850 RETURN: REM======================================== 2900 REM 2904 OPEN "I", #1, "PAYABLES" 2906 NR = 60: AF = 3: NF = 3: CODE = 4 2908 NM$ = "PAYABLES" 2950 RETURN: REM======================================== 3000 REM ************************* NEW SEQUENTIAL FILE LOADER 3010 PRINT "FILE NAME IS...": INPUT NM$ 3015 PRINT "HOW MANY ROWS/RECORDS": INPUT NR 3020 PRINT "HOW MANY ALPHA FIELDS": INPUT AF 3025 PRINT "HOW MANY NUMERIC FIELDS": INPUT NF 3030 PRINT "HOW MANY COLUMNS 0R PAGES": INPUT NC 3050 PRINT NM$: INPUT WAIT$ 3055 REM 3090 FOR C% = 1 TO NC 3100 FOR A% = 1 TO NR 3105 FOR B% = 1 TO AF 3110 INPUT #1, AF$(A%, B%, C%) 3115 NEXT B% 3120 FOR B% = 1 TO NF 3125 INPUT #1, NF(A%, B%, C%) 3130 NEXT B% 3131 NEXT A% 3132 NEXT C% 3135 CLOSE #1 3150 IF JKEY > 55 THEN GOSUB 60000 3190 RETURN 4000 REM ************************* NEW SEQUENTIAL FILE SAVER 4050 OPEN "O", #1, NM$ 4090 FOR C% = 1 TO NC 4100 FOR A% = 1 TO NR 4105 FOR B% = 1 TO AF 4110 PRINT #1, AF$(A%, B%, C%) 4200 NEXT B% 4400 FOR B% = 1 TO NF 4510 PRINT #1, NF(A%, B%, C%) 4550 NEXT B% 4600 NEXT A% 4650 NEXT C% 4660 CLOSE #1 4690 RETURN 4700 REM ==================================== DELIMITER FORMATING 4710 OPEN "O", #1, "D" + NM$ 4720 FOR A% = 1 TO NR 4725 GOTO 4735 4730 WRITE #1, AF$(A%, 1, 1), AF$(A%, 2, 1), AF$(A%, 3, 1), NF(A%, 1, 1), NF(A%, 2, 1), NF(A%, 3, 1) 4735 WRITE #1, AF$(A%, 1, 1), LOTUS(A%) 4750 NEXT A% 4760 CLOSE #1 4790 RETURN 4800 REM ======= SDF ASCII 4801 REM 4805 GOSUB 6000 4850 RETURN 5100 REM ================================= MASTERFILE OUTPUT ROUTINE 5104 REM OPEN 5106 NR = 60: NA = 2: NN = 4 5107 PRINT "COLUMN = ": INPUT NC 5108 NM$ = "FILE0004.PRN" 5111 REM ----------------------------- 5112 FOR A = 1 TO NR 5113 AF$(A, 1, C) = AC$(A) 5114 AF$(A, 2, C) = CD$(A): AF$(A, 3, C) = AD$(A) 5115 NF(A, 1, C) = TD(A) 5116 NF(A, 2, C) = TC(A) 5117 NF(A, 3, C) = CD(A) 5118 NEXT A: REM=========================== END 5119 GOSUB 4000: REM DATA OUTRY 5120 RETURN 5200 REM ========================lotus=123 MASTERFILE OUTPUT ROUTINE 5204 GOSUB 5100 5205 REM OPEN #1,"O",FILE0004.PRN 5206 NR = 60 5209 PRINT "COLUMN = ": INPUT NC 5211 REM ----------------------------- 5212 FOR C% = 1 TO NC 5214 REM 5222 FOR A% = 1 TO NR 5223 WRITE #1, AF$(A%, 1, C%), LOTUS(A%) 5228 NEXT A% 5238 NEXT C%: REM=========================== END 5250 CLOSE #1: RETURN 5300 REM =================================== SAVE FINAL MASTER LEDGER TO DISK 5310 GOSUB 1500 5320 INPUT "PRINTOUT ?"; PR$ 5330 IF PR$ = "YES" THEN GOSUB 1600 5332 IF PR$ = "Y" THEN GOSUB 1600 5340 GOSUB 5100 5350 GOSUB 11000: REM FORMAT SELECT & 4000 SAVE 5360 RETURN 6000 REM ==================================== DELIMITED TO FIXED ASCII- SDF 6010 SCREEN 0, 0, 0: WIDTH 80: KEY OFF: CLS 6020 REM 6030 INPUT "NAME OF DELIM INPUT FILE:", IN$ 6040 OPEN IN$ FOR INPUT AS #1 6050 INPUT "NAME OF OUTFILE:", FOUT$ 6060 OPEN FOUT$ FOR OUTPUT AS #2 6070 REM================== WRITEOUT 1ST REC UNDER A RULER. . . . . 6080 LINE INPUT #1, ILL$ 6090 FOR LOP = 1 TO 4 6100 PRINT : PRINT 6110 FOR LOP2 = 10 TO 80 STEP 10 6120 PRINT USING " ###"; (LOP - 1) * 80 + LOP2; 6130 NEXT 6140 PRINT 6150 FOR LOP2 = 1 TO 8 6160 PRINT "****:****!"; 6170 NEXT 6180 PRINT 6190 NEXT 6200 REM 6210 DIM FL(255) 6220 DIM FT(255) ' 0 FOR STRINGS, 1 FOR NUMERIC 6230 INDEX = 0 6240 WHILE LEN(ILL$) > 0 6250 INDEX = INDEX + 1 6260 IF LEFT$(ILL$, 1) <> CHR$(34) THEN 6330 6270 REM 6280 FT(INDEX) = 0 6290 PS = 2 6300 IF MID$(ILL$, PS, 1) <> CHR$(34) THEN PS = PS + 1: GOTO 6300 6310 L$ = MID$(ILL$, 2, PS - 2): PS = PS + 1 6320 GOTO 6390 6330 REM 6340 FT(INDEX) = 1 6350 PS = 1 6360 IF LEN(ILL$) > PS THEN IF MID$(ILL$, PS + 1, 1) <> "," THEN PS = PS + 1: GOTO 6360 6370 L$ = MID$(ILL$, 1, PS) 6380 IF LEN(ILL$) > PS THEN PS = PS + 1 6390 IF LEN(ILL$) - PS > 0 THEN ILL$ = RIGHT$(ILL$, LEN(ILL$) - PS) ELSE ILL$ = "" 6400 LOCATE 4, 1 6410 L$ = L$ + SPACE$(255 - LEN(L$)) 6420 FOR LOP = 1 TO 4 6430 PRINT : PRINT : PRINT : PRINT MID$(L$, (LOP - 1) * 80 + 1, 80) 6440 NEXT LOP 6450 LOCATE 20, 1 6460 PRINT "Field Number "; INDEX; " is a "; 6470 IF FT(INDEX) = 0 THEN PRINT "string." ELSE PRINT "number" 6480 PRINT "HOW LONG IS LONGEST THIS FIELD CAN BE? " 6485 LOCATE 21, 42 6487 INPUT FL(INDEX) 6490 WEND 6500 CLOSE #1 6510 OPEN IN$ FOR INPUT AS #1 6520 REM LOAD DATA CONVERT AND WRITE TO NEW FILE========================= MOTOR 6530 WHILE NOT EOF(1) 6540 LINE INPUT #1, NL$ 6550 FOR LOP = 1 TO INDEX 6560 IF FT(LOP) = 0 THEN 6620 6570 LN = 0: REM LN=LENGTH 6580 IF LEN(NL$) > LN THEN IF MID$(NL$, LN + 1, 1) <> "," THEN LN = LN + 1: GOTO 6580 6590 NS$ = LEFT$(NL$, LN) 6600 NS$ = SPACES$(FL(LOP) - LEN(NS$)) + NS$ 6610 GOTO 6660 6620 LN = 2 6630 IF MID$(NL$, LN, 1) <> CHR$(34) THEN LN = LN + 1: GOTO 6630 6640 NS$ = MID$(NL$, 2, LN - 2) 6650 IF FL(LOP) - LEN(NS$) > 0 THEN NS$ = NS$ + SPACES$(FL(LOP) - LEN(NS$)) 6660 PRINT #2, NS$; 6670 LN = LN + 1 6680 IF LEN(NL$) > LN THEN NL$ = RIGHT$(NL$, LEN(NL$) - LN) ELSE NL$ = "" 6690 NEXT LOP 6700 PRINT #2, "" 6710 WEND 6720 CLOSE #1 6730 CLOSE #2 6740 END 7000 REM ********************************** CREATE SEQUENTIAL FILE ROUTINE 7010 PRINT "FILE NAME IS...": INPUT NM$ 7015 PRINT "HOW MANY ROWS/RECORDS": INPUT NR 7020 PRINT "HOW MANY ALPHA FIELDS": INPUT AF 7025 PRINT "HOW MANY NUMERIC FIELDS": INPUT NF 7030 PRINT "HOW MANY COLUMNS 0R PAGES": INPUT NC 7040 PRINT "START AT WHICH RECORD": INPUT ST 7045 PRINT "STOP AT WHICH RECORD": INPUT SP 7055 PRINT "START AT WHICH COLUMN": INPUT CST 7056 PRINT "STOP AT WHICH COLUMN": INPUT CSTOP 7090 FOR C% = CST TO CSTOP 7100 FOR A% = ST TO SP 7105 FOR B% = 1 TO AF 7108 T9 = 999 7109 PRINT "RECORD NO."; A%; ", FIELD "; B%; "="; F$(B%): INPUT "TYPE 1 TO CHANGE THIS FIELD"; T9 7110 IF T9 <> 1 THEN 7120 7118 INPUT AF$(A%, B%, C%) 7120 NEXT B% 7130 FOR B% = 1 TO NF 7137 T9 = 9 7139 PRINT "RECORD NO."; A%; ", FIELD "; AF + B%; "="; F$(B% + AF): INPUT "TYPE 1 TO CHANGE THIS FIELD"; T9 7142 IF T9 <> 1 THEN 7150 7145 INPUT NF(A%, B%, C%) 7150 NEXT B% 7160 NEXT A% 7170 NEXT C% 7180 RETURN 8000 REM ********************************** REVIEW SEQUENTIAL FILE ROUTINE 8010 PRINT "HEYY!!!!!!!!!!!!" 8090 FOR C% = 1 TO NC 8100 FOR A% = 1 TO NR 8104 PRINT "RECORD NUMBER = "; A%, 8105 FOR B% = 1 TO AF 8110 PRINT AF$(A%, B%, C%); " "; 8120 NEXT B% 8130 FOR B% = 1 TO NF 8145 PRINT NF(A%, B%, C%); " "; 8150 NEXT B% 8155 INPUT NX 8156 PRINT 8160 NEXT A% 8170 NEXT C% 8175 INPUT HEY 8180 RETURN 9000 PRINT "===============================================================================": PRINT " J.M. LABS SUPERFLEX ACCOUNTING SOFTWARE BY JOE ANDERSON EVANS" 9010 PRINT "===============================================================================" 9089 PRINT : PRINT " 1. MASTERFILE SELECTION @ MENU 4...............LINE 1100....subr 2100" 9090 PRINT " 2. INPUT TRANSACTIONFILE........................LINE 1200" 9095 PRINT " 3. UPDATE MASTER WITH TRANSACTIONS..............LINE 1400" 9098 PRINT " 4. DO TRIAL BALANCE SHEET TO CRT................LINE 1500": PRINT 9100 PRINT " 5. PRINT TRIAL BALANCE SHEET....................LINE 1600" 9150 PRINT " 6. DO COMPLETE LEDGER OF BOOKS TO PRINTER.......LINE 1700" 9191 PRINT " 7. DO ADJUSTMENTS & INCOME STATEMENTS...........LINE 1250" 9192 PRINT " 8. DO CASHFLOW & LOTUS MacroMaster import.......LINE 5200": PRINT 9193 PRINT " 9. DO CLOSING ROUTINE...........................LINE 1800" 9194 PRINT " 10. DO FINAL BALANCE SHEET & SAVE NEW LEDGER.....LINE 5300....subr 5100" 9198 PRINT " 11. RETURN TO...................................MENU 2" 9200 PRINT " 12. RETURN TO.................................. MENU 1": PRINT : PRINT "===============================================================================" 9300 RETURN 9330 STOP 10000 REM =================================== CREATE TRANSACTION FILE ROUTINE 10001 F$(1) = "TRANSACTION DESCRIPTION": F$(2) = "DATE": F$(3) = "AMOUNT": F$(4) = "CREDIT-SOURCE OF MONEY": F$(5) = "DEBIT - DESTINATION OF MONEY": F$(6) = "GENERAL=1 PAYABL=2 RECEIVABLE=3 CASHFLOW=4" 10003 GOSUB 7000 10005 PRINT NM$ 10010 GOSUB 4000 10090 RETURN 10100 RETURN 10200 INPUT "NEWFILE=Y$"; Y$: IF Y$ <> "Y" THEN 10205 10201 F$(1) = "ACCOUNT NAME": F$(2) = "GENERAL LEDGER": F$(3) = "CODE A,L,S,E": F$(4) = "CREDIT": F$(5) = "DEBIT": F$(6) = "NUMCODE" 10203 GOSUB 7000 10205 PRINT NM$ 10210 GOSUB 11000 10290 RETURN 10300 REM 11000 REM =================================== FILE FORMATS SELECTION 11010 CLS : PRINT : PRINT : PRINT : PRINT : PRINT "MENU 2A FILE FORMAT SELECTION .......at 11000": PRINT : PRINT 11020 PRINT " 1. REGULAR ..............................4000" 11025 PRINT " 2. DELIMITED.............................4700" 11030 PRINT " 3. ASCII SDF.............................4800" 11035 PRINT " 4. OTHER" 11040 PRINT : PRINT : PRINT : PRINT : INPUT FC 11050 ON FC GOSUB 4000, 4700, 4800, 4800 11055 RETURN 30000 REM AUTOMATIC LEDGER 30009 CLS : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT " NOW LOADING YOUR LEDGER . . . MASTER ACCOUNT BOOKS ": PRINT : PRINT : PRINT : GOSUB 1595 30010 GOSUB 1100 30015 GOSUB 1200 30019 CLS : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT " NOW LOADING TRANSACTION JOURNAL AND . . . DOING YOUR BOOKS ": PRINT : PRINT : PRINT : GOSUB 1595 30020 GOSUB 1400 30030 GOSUB 1500: INPUT wate 30033 CLS : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT " NOW LOADING ADJUSTMENTS JOURNAL AND . . . DOING YOUR BOOKS ": PRINT : PRINT : PRINT : GOSUB 1595 30035 GOSUB 1250: INPUT wate 30036 REM NOW TO TRANSFER VALUES FROM TRANSAC TO LEDGER ENTRIES 30040 GOSUB 1700: INPUT wate 30049 CLS : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT " NOW CLOSING YOUR INCOME ACCOUNTS AND DOING INCOME SUMMARY ": PRINT : PRINT : PRINT : GOSUB 1595 30050 GOSUB 1800: INPUT wate 30060 GOSUB 1500: INPUT wate 30100 RETURN 33000 REM ============================= HELP ! ! ! 33005 PRINT " THE MASTERFILE IS THE LEDGER ACCOUTS" 33010 PRINT " THE TRANSACTIONFILE IS THE CUURRENT ACTIVITY LIKE CHECKS, DEPOSITS,ETC " 33020 PRINT " CASH IS ALWAYS ACCT. #21" 33022 PRINT " SALES OR REVENUE IS ALWAYS ACCT.#41 " 33024 PRINT " INCOME SUMMARY IS ALWAYS ACCT.#40 " 33030 PRINT " ACCOUNTS 1-20 ARE CASHFLOW ACCOUNTS " 33050 FOR x = 1 TO 30: BEEP: PRINT "$"; : NEXT x 33100 RETURN 40000 REM 40001 REM 40002 REM 40003 REM 40004 INPUT " ENTER YOUR KEYCODE"; KYCODE 40005 REM 40008 REM 40009 REM 40010 REM 40014 REM 40015 REM 40050 PRINT : PRINT " MAKE 10, 20, 30 OR MORE COPIES OF THIS DISK AND SELL THEM TO YOUR BUDDIES !!"; " USE THE DISK-LABELS PROVIDED OR WRITE PROGRAM-NAME ON THE BLANK LABELS ....." 40052 PRINT " COLLECT $5 FOR TRYOUT COST. TELL THEM THAT THE DISK WILL TELL THEM WHEN AND " 40053 PRINT " WHERE TO SEND THE OTHER $5. YOU KEEP THE $5 AS YOUR SALES PROFIT. EASY HUH?" 40060 REM ******************************* GRAVY ROUTINE 40090 PRINT : PRINT : PRINT " GO NOTEPAD OR WORDPAD AND FILE->OPEN->A:\GRAVY.TXT. PRINT IT OUT. PUT YOUR
INTO THE #3 POSITION." 40091 PRINT : PRINT " PUT #3
... INTO-> #2 POSITION" 40092 PRINT " PUT #2
... INTO-> #1 POSITION" 40093 PRINT : PRINT " PRINT THE LETTER OUT ON YOUR PRINTER. THEN FILE->SAVE AS->A:\GR.TXT" 40094 PRINT " THEN MAKE 1O COPIES TO GIVE TO 10 PEOPLE WHO NEED MONEY FAST. IT WORKS!!" 40099 PRINT : PRINT : PRINT : INPUT " HIT ENTER"; RTNN 41000 RETURN 50000 PRINT : PRINT " IMPORTANT MESSAGE TO PROGRAM BUYER !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!": PRINT 50002 PRINT : PRINT : PRINT " YOU MUST CALL (314)355-3200 TO GET YOUR ACCESS CODE. WE'LL TELL YOU WHERE" 50003 PRINT " TO SEND THE $20 BALANCE OR ANOTHER $5 TRYOUT FEE. UNTIL THEN THIS PROGRAM ": PRINT 50004 PRINT : PRINT " !!!!!!!!!!!!!!!!!!!!!!! WILL NOT WORK !!!!!!!!!!!!!!!!!!!!!!!!!!": PRINT 50005 PRINT : PRINT " WHEN WE GET A PAYMENT WE WILL CALL YOU WITH YOUR NEW ACCESS CODE. THEN AND" 50006 PRINT " ONLY THEN THIS PROGRAM WILL RUN NORMALLY FOREVER FOR $20 BALANCE OR 100 MORE" 50010 PRINT " TIMES FOR ANOTHER $5. THATS 5CENTS PER RUN " 50020 PRINT : INPUT " HIT ENTER"; ETR 50030 CLS : RETURN 60000 REM OLD GRAVY ROUTINE *********************************************** 60005 INPUT "KEYCODE"; KYCODE 60010 IF KYCODE = 11130 THEN RETURN 60012 IF KYCODE = 9236 THEN JKEY = JKEY - 50 60013 GOSUB 40014 60050 IF KYCODE = 9236 THEN GOSUB 80000 60060 IF KYCODE = 9236 THEN RETURN 60100 CLS : PRINT : PRINT : PRINT " ITS OVER....BLOW POP!" 60200 REM ***LINE 3150 IF JKEY >55 THEN 6000 ***LINE 40015 IF JKEY >50 60250 GOSUB 40000 60300 GOSUB 50000 60400 GOTO 60000 60500 RETURN 61000 REM 61020 REM NM$ = "GRAVY.TXT": REM NR = 1: REM AF = 5: REM NF = 2: REM NC = 1: RN$ = "MONEY-FACT HIT RETURN": REM NF(1, 1, 1) = JOEKEY 61055 REM GOSUB 3050: REM LOAD LETTER 61070 REM GOSUB 8000: REM WRITE OUT LETTER 80000 REM *********************************************** 80015 OPEN "I", #1, "POKEY" 80018 INPUT #1, PKEY 80019 CLS : PRINT " POKEY="; PKEY: CLOSE #1 80020 PKEY = PKEY + 1 80022 INPUT ; ANYKEY 80024 OPEN "O", #1, "POKEY": PRINT #1, PKEY: CLOSE #1 80025 IF PKEY > 4 THEN GOTO 81000 80030 RETURN 80050 REM ************************************************ 81000 GOSUB 50000 81005 PRINT "GONE TO . . . " 99000 FOR x = 1 TO 50000 99900 NEXT x 99990 RETURN