5 CLS:KEY OFF:SCREEN 0,0,0:WIDTH 80:CLEAR:FOR I=1 TO 10:KEY I,"":NEXT:KEY 2,"GOTO 60"+CHR$(13):KEY 10,"RUN"+CHR$(34)+"BLUEMENU"+CHR$(34)+CHR$(13):LIST 10-57 12 '***************** GENERAL LEDGER ENTRY WORKSHEET ************************** 16 '?????????????????????????????????????????????????????????????????????????? 18 '? GENERAL LEDGER WORKFILE ENTRY SHEET WITH MONTH SORT ? 20 '? ? 22 '? This program provides a formatted Record Form for General Ledger or ? 24 '? daily journal input. The file can be saved under your FILESPEC$. A ? 26 '? sample file for retrieval, printing and review is named WORKFILE.DAT. ? 28 '? You may request a sequential printout or a printout by month. It is ? 31 '? necessary that you input the month with three letters since the print ? 33 '? sort looks for the first three letters of the month name; i.e., Jan, ? 34 '? Feb, Mar, etc. The account numbers for DEBIT or CREDIT are entered ? 36 '? at the same time; i.e.; 23,45, otherwise you will get an error. The ? 37 '? program is listed in expanded form ON THE 360K DISK for users to ex- ? 38 '? tract routines for their use. In order to run in 64K on this disk, the ? 39 '? DIM statements in line 140 are lowered to 270. You may wish to state ? 40 '? 300 or higher for normal use. This program may be used in whole or in ? 41 '? part without attribution or license. ? 42 '? (c) G I N A C O -- 1983 Ver 5.1/160/320 ? 43 '?????????????????????????????????????????????????????????????????????????? 55 ' ***** < F2 > to RUN ******* < F10 > For BLUEMENU ***** 57 ' ====== To avoid DOCUMENTATION BOX each time, REM or DELETE line 5 ====== 60 CLS 100 FOR I! = 1 TO 10 110 KEY I!,"" 120 NEXT 130 CLS 140 SCREEN 0,0,0 150 WIDTH 80 160 CLEAR 100 170 KEY OFF 180 COLOR 7,0 190 GOSUB 4860 200 ON ERROR GOTO 5090 210 LPRINT CLEANUP$; 220 MP$ = "#,###.##" 230 DEFSTR A-H 240 DEFINT K-X 250 DEFSTR Z 260 :REM WORKFILE FOR ESTABLISHING BASIC JOURNAL ENTRIES FOR TOTAL GL PROGRAMS 270 DIM A$(100),B$(100),C$(100),D$(100),E$(100),F$(100),G$(100),H$(100),I!(100),J!(100),N1%(100),N2%(100),X%(100),NF%(100) 280 A$ = "" 290 B$ = "" 300 C$ = "" 310 D$ = "" 320 E$ = "" 330 F$ = "" 340 G$ = "" 350 H$ = "" 360 N1% = 100 370 N2% = 100 380 Z1$ = CHR$(30) 390 Z2$ = CHR$(31) 400 Z3$ = CHR$(27) 410 Z4$ = CHR$(140) 420 ON ERROR GOTO 4710 430 CLS 440 PRINT FRE(X%) 450 PRINT 460 PRINT 470 LOCATE 5,35 480 PRINT Z1$; 490 PRINT "MAIN MENU "; 500 LOCATE 6,1 510 PRINT Z2$ 520 PRINT TAB( 30)"1. START NEW RECORDS" 530 PRINT TAB( 30)"2. LOAD RECORDS FROM DISK" 540 PRINT TAB( 30)"3. REVIEW FILE RECORDS" 550 PRINT TAB( 30)"4. CHANGE RECORDS" 560 PRINT TAB( 30)"5. ADD RECORDS TO OLD FILE" 570 PRINT TAB( 30)"6. SAVE RECORDS ON DISK" 580 PRINT TAB( 30)"7. PRINT REPORT" 590 PRINT TAB( 30)"8. LOAD G.L. MENU." 600 PRINT TAB( 30)"9. END PROGRAM" 610 PRINT 620 PRINT TAB( 35)"SELECTION "; 630 INPUT X% 640 IF X% < 1 OR X% > 9 THEN 610 ELSE 650 650 ON X% GOTO 660,2270,1350,1490,2610,3250,3650,3580,4460 660 REM******************** ADD RECORDS ********************************* 670 FOR I! = 2 TO N1% 680 KEY OFF 690 CLS 700 LOCATE 22,1 710 PRINT STRING$(80,205) 720 LOCATE 24,1 730 PRINT STRING$(80,205) 740 LOCATE 21,10 750 PRINT (I!) 760 LOCATE 21,20 770 PRINT ""; 780 LINE INPUT "DATE: ";A$(I!) 790 GOSUB 1320 800 IF (A$(I!) = "END") OR (B$(I!) = "END") THEN N1% = I! 810 IF (A$(I!) = "END") OR (B$(I!) = "END") THEN 1290 820 GOSUB 4620 830 NF% = I! 840 LOCATE 6,1 850 WRITE NF% 860 LOCATE 6,7 870 PRINT A$(I!) 880 LOCATE 21,20 890 PRINT ""; 900 LINE INPUT "CHECK #: ";B$(I!) 910 LOCATE 6,15 920 PRINT B$(I!) 930 IF (A$(I!) = "END") OR (B$(I!) = "END") THEN N1% = I! 940 IF (A$(I!) = "END") OR (B$(I!) = "END") THEN 1290 950 LOCATE 21,20 960 PRINT ""; 970 LINE INPUT "DESCRIPTION: ";C$(I!) 980 GOSUB 1320 990 LOCATE 6,26 1000 PRINT C$(I!) 1010 LOCATE 21,20 1020 PRINT ""; 1030 LINE INPUT "TO/FROM: ";D$(I!) 1040 GOSUB 1320 1050 LOCATE 6,44 1060 PRINT D$(I!) 1070 LOCATE 21,20 1080 PRINT ""; 1090 INPUT "DEBIT & CREDIT ACCT #'S: ";E$(I!),F$(I!) 1100 GOSUB 1320 1110 LOCATE 6,61 1120 PRINT E$(I!) 1130 LOCATE 6,68 1140 PRINT F$(I!) 1150 LOCATE 21,20 1160 PRINT ""; 1170 LINE INPUT "AMOUNT: ";G$(I!) 1180 GOSUB 1320 1190 LOCATE 6,73 1200 PRINT G$(I!) 1210 Y$ = "" 1220 LOCATE 10,20 1230 PRINT "IS INPUT CORRECT "; 1240 INPUT Y$ 1250 IF Y$ = CHR$(89) THEN 1280 : IF Y$ = CHR$(121) THEN 1280 1260 IF Y$ = CHR$(78) THEN 680 : IF Y$ = CHR$(110) THEN 680 1270 GOTO 1210 1280 NEXT 1290 N2% = N1% 1300 GOTO 430 1310 REM * * * * * * CLEAR ENTRY ROUTINE * * * * * * 1320 LOCATE 21,20 1330 PRINT STRING$(60,32) 1340 RETURN 1350 REM******************** REVIEW OLD FILES **************************** 1360 CLS 1370 IF A$(2) = "" THEN 4550 1380 GOSUB 4620 1390 FOR J! = 1 TO 50 1400 FOR I! = 2 TO N2% 1410 NF% = I! 1420 PRINT TAB( 1);NF%; TAB( 7);A$(I!); TAB( 15);B$(I!); TAB( 26);C$(I!); TAB( 44);D$(I!); TAB( 61);E$(I!); TAB( 68);F$(I!); TAB( 73);G$(I!) 1430 NEXT I! 1440 PRINT TAB( 30)""; 1450 INPUT " TO CONTINUE ";X% 1460 IF (A$(N2%) = "END") OR (B$(N2%) = "END") THEN 430 1470 IF B$(2) = "" THEN 430 1480 NEXT J! 1490 REM********************** CHANGE RECORDS **************************** 1500 IF A$(2) = "" GOTO 4550 1510 CLS 1520 I! = N2% 1530 N3% = 0 1540 LOCATE 10,20 1550 PRINT ""; 1560 INPUT "WHAT RECORD NUMBER TO CHANGE ";N3% 1570 CLS 1580 IF (N3% < 2) OR (N3% > N2%) THEN LOCATE 11,20 : PRINT "MUST BE GREATER THAN 002 OR LESS THAN N2" : GOTO 1520 1590 I! = N3% 1600 GOSUB 4620 1610 LOCATE 6,1 1620 WRITE N3% 1630 LOCATE 6,7 1640 PRINT ;A$(N3%); TAB( 15);B$(N3%); TAB( 26);C$(N3%); TAB( 44);D$(N3%); TAB( 61);E$(N3%); TAB( 68);F$(N3%); TAB( 73);G$(N3%) 1650 A$ = "" 1660 LOCATE 15,20 1670 PRINT ""; 1680 INPUT "IS THIS THE RECORD YOU WANT TO CHANGE ";A$ 1690 IF (A$ = CHR$(89)) OR (A$ = CHR$(121)) THEN 1710 1700 IF (A$ = CHR$(78)) OR (A$ = CHR$(110)) THEN 430 1710 LOCATE 21,1 1720 PRINT STRING$(80,205) 1730 LOCATE 23,1 1740 PRINT STRING$(80,205) 1750 LOCATE 21,10 1760 PRINT (I!) 1770 LOCATE 21,20 1780 PRINT ""; 1790 LINE INPUT "DATE : ";A$(N3%) 1800 GOSUB 1320 1810 NF% = I! 1820 LOCATE 6,1 1830 WRITE NF% 1840 LOCATE 6,7 1850 PRINT A$(N3%) 1860 LOCATE 21,20 1870 PRINT ""; 1880 LINE INPUT "CHECK #: ";B$(N3%) 1890 GOSUB 1320 1900 LOCATE 6,15 1910 PRINT B$(N3%) 1920 LOCATE 21,20 1930 PRINT ""; 1940 LINE INPUT "DESCRIPTION: ";C$(N3%) 1950 GOSUB 1320 1960 LOCATE 6,26 1970 PRINT C$(N3%) 1980 LOCATE 21,20 1990 PRINT ""; 2000 LINE INPUT "TO/FROM: ";D$(N3%) 2010 GOSUB 1320 2020 LOCATE 6,44 2030 PRINT D$(N3%) 2040 LOCATE 21,20 2050 PRINT ""; 2060 INPUT "DEBIT & CREDIT ACCT #'S: ";E$(N3%),F$(N3%) 2070 GOSUB 1320 2080 LOCATE 6,61 2090 PRINT E$(N3%) 2100 LOCATE 6,68 2110 PRINT F$(N3%) 2120 LOCATE 21,20 2130 PRINT ""; 2140 LINE INPUT "$$ AMOUNT: ";G$(N3%) 2150 GOSUB 1320 2160 LOCATE 6,73 2170 PRINT G$(N3%) 2180 Y$ = "" 2190 LOCATE 10,20 2200 PRINT STRING$(60,32) 2210 LOCATE 10,20 2220 PRINT "IS INPUT CORRECT "; 2230 INPUT Y$ 2240 IF (Y$ = CHR$(89)) OR (Y$ = CHR$(121)) THEN 430 2250 IF (Y$ = CHR$(78)) OR (Y$ = CHR$(110)) THEN 1750 2260 GOTO 2180 2270 REM************************* INPUTS DISK TO MEMORY ****************** 2280 REM********************* SAVED IN ASCII AS MEMLOAD.GL1 **************** 2290 CLS 2300 LOCATE 10,25 2310 PRINT "W A R N I N G" 2320 LOCATE 11,25 2330 PRINT "??????????????" 2340 LOCATE 13,25 2350 PRINT "THIS WILL LOAD OVER WHAT IS NOW IN MEMORY" 2360 LOCATE 15,25 2370 PRINT " TO CONTINUE" 2380 LOCATE 17,25 2390 PRINT " TO RETURN TO MENU" 2400 LOCATE 19,25 2410 PRINT ""; 2420 INPUT "CHOICE";X% 2430 IF (X% < 1) OR (X% > 2) THEN 2360 ELSE 2440 2440 ON X% GOTO 2450,430 2450 CLS 2460 LOCATE 10,25 2470 PRINT "WHAT IS FILESPEC$ "; 2480 INPUT FS$ 2490 LOCATE 12,25 2500 PRINT "L O A D I N G" 2510 :REM******************** ACTUAL WRITE ROUTINE ************************ 2520 OPEN "I",1,FS$ 2530 INPUT #1,N2% 2540 FOR I! = 2 TO N2% 2550 INPUT #1,A$(I!),B$(I!),C$(I!),D$(I!),E$(I!),F$(I!),G$(I!) 2560 IF EOF(1) THEN CLOSE : CLS : LOCATE 10,20 : PRINT "LOADED TO EOF" : FOR L% = 1 TO 1000 : NEXT L% : GOTO 430 2570 NEXT I! 2580 ON ERROR GOTO 4710 2590 IF (A$(I!) = "END") OR (B$(I!) = "END") THEN CLOSE : CLS : LOCATE 10,20 : PRINT "SAVED END" : FOR L% = 1 TO 1000 : NEXT L% : GOTO 430 2600 GOTO 430 2610 REM************************ ADD RECORDS TO FILE ******************** 2620 N5% = N2% 2630 N1% = 300 2640 FOR I! = N5% TO N1% 2650 CLS 2660 GOSUB 4620 2670 LOCATE 20,1 2680 PRINT STRING$(80,205) 2690 LOCATE 22,1 2700 PRINT STRING$(80,205) 2710 LOCATE 21,10 2720 PRINT (I!) 2730 LOCATE 21,20 2740 PRINT ""; 2750 LINE INPUT "DATE : ";A$(I!) 2760 GOSUB 1320 2770 GOSUB 4620 2780 NF% = I! 2790 LOCATE 6,1 2800 WRITE NF% 2810 LOCATE 6,7 2820 PRINT A$(I!) 2830 LOCATE 21,20 2840 PRINT ""; 2850 LINE INPUT "CHECK #: ";B$(I!) 2860 LOCATE 6,15 2870 PRINT B$(I!) 2880 IF (A$(I!) = "END") OR (B$(I!) = "END") THEN N1% = I! 2890 IF (A$(I!) = "END") OR (B$(I!) = "END") THEN 3230 2900 LOCATE 21,20 2910 PRINT ""; 2920 LINE INPUT "DESCRIPTION: ";C$(I!) 2930 GOSUB 1320 2940 LOCATE 6,26 2950 PRINT C$(I!) 2960 LOCATE 21,20 2970 PRINT ""; 2980 LINE INPUT "TO/FROM: ";D$(I!) 2990 GOSUB 1320 3000 LOCATE 6,44 3010 PRINT D$(I!) 3020 LOCATE 21,20 3030 PRINT ""; 3040 INPUT "DEBIT & CREDIT ACCT #'S: ";E$(I!),F$(I!) 3050 GOSUB 1320 3060 LOCATE 6,61 3070 PRINT E$(I!) 3080 LOCATE 6,68 3090 PRINT F$(I!) 3100 LOCATE 21,20 3110 PRINT ""; 3120 LINE INPUT "$$$ AMOUNT: ";G$(I!) 3130 GOSUB 1320 3140 LOCATE 6,73 3150 PRINT G$(I!) 3160 Y$ = "" 3170 LOCATE 10,20 3180 PRINT "IS INPUT CORRECT "; 3190 INPUT Y$ 3200 IF (Y$ = CHR$(89)) OR (Y$ = CHR$(121)) THEN 3220 3210 IF (Y$ = CHR$(78)) OR (Y$ = CHR$(110)) THEN 2710 3220 NEXT I! 3230 N2% = N1% 3240 GOTO 430 3250 REM********************** WRITES MEMORY TO DISK ******************** 3260 CLS 3270 IF A$(2) = "" THEN 4550 3280 CLS 3290 LOCATE 10,25 3300 PRINT "W A R N I N G" 3310 LOCATE 11,25 3320 PRINT "??????????????" 3330 LOCATE 13,25 3340 PRINT "THIS WILL WRITE OVER WHAT IS NOW ON DISK" 3350 LOCATE 15,25 3360 PRINT " TO CONTINUE" 3370 LOCATE 17,25 3380 PRINT " TO RETURN TO MENU" 3390 LOCATE 19,25 3400 PRINT ""; 3410 INPUT "CHOICE";Y! 3420 IF (Y! < 1) OR (Y! > 2) THEN 3420 ELSE 3430 3430 ON Y! GOTO 3440,430 3440 CLS 3450 LOCATE 10,25 3460 PRINT "WHAT IS FILESPEC$ "; 3470 INPUT FS$ 3480 LOCATE 12,25 3490 PRINT "S A V I N G" 3500 :REM*********************** ACTUAL WRITE ROUTINE ******************** 3510 OPEN "O",1,FS$ 3520 WRITE #1,N2% 3530 FOR I! = 2 TO N2% 3540 WRITE #1,A$(I!),B$(I!),C$(I!),D$(I!),E$(I!),F$(I!),G$(I!) 3550 IF A$(I!) = "END" THEN CLOSE : CLS : LOCATE 10,20 : PRINT "SAVED END" : FOR L% = 1 TO 1000 : NEXT L% : GOTO 430 3560 NEXT I! 3570 ON ERROR GOTO 4710 3580 REM*********************** START GL PROGRAM SERIES ***************** 3590 CLS 3600 LOCATE 20,10 3610 PRINT "General Ledger Program not available as part of BLUEBERRY PIE A La MODE" 3620 FOR I! = 1 TO 3000 3630 NEXT 3640 GOTO 430 3650 CLS 3660 :REM**************** REPORT PRINT ROUTINE ************************ 3670 REM***************** FULL PRINT OUT ******************************** 3680 CLS 3690 LOCATE 8,30 3700 PRINT "SET UP PRINTER AND PAPER." 3710 LOCATE 10,30 3720 PRINT "IS FILE LOADED ?" 3730 LOCATE 12,30 3740 PRINT " TO CONTINUE" 3750 LOCATE 14,30 3760 PRINT " FOR MENU "; 3770 INPUT X% 3780 ON X% GOTO 3790,430 3790 CLS 3800 LOCATE 10,30 3810 PRINT "DO YOU WANT FULL PRINT OUT OR BY MONTH?" 3820 LOCATE 12,30 3830 PRINT " FOR FULL PRINT OUT" 3840 PRINT 3850 LOCATE 14,30 3860 PRINT " IF BY MONTH "; 3870 INPUT X% 3880 ON X% GOTO 3890,4140 3890 L% = 0 3900 LPRINT STRING$(5,10) 3910 L% = 5 3920 LPRINT ITALIC$; 3930 LPRINT DARK$; 3940 LPRINT TAB( 20)"FULL PRINTOUT FOR YEAR TO DATE";END.ITALIC$ 3950 LPRINT STRING$(2,10) 3960 L% = 7 3970 GOSUB 4670 3980 L% = 9 3990 FOR J! = 1 TO 50 4000 FOR I! = 2 TO N2% 4010 NF% = I! 4020 LPRINT TAB( 1);NF%; TAB( 7);A$(I!); TAB( 15);B$(I!); TAB( 26);C$(I!); TAB( 44);D$(I!); TAB( 61);E$(I!); TAB( 68);F$(I!); TAB( 73);G$(I!) 4030 L% = L% + 1 4040 IF L% = 60 THEN LPRINT CHR$(12) : LPRINT STRING$(5,10) : L% = 5 4050 NEXT I! 4060 PRINT TAB( 30)""; 4070 INPUT " TO CONTINUE ";X% 4080 IF (A$(N2%) = "END") OR (B$(N2%) = "END") THEN 430 4090 IF B$(100) = "" THEN 430 4100 LPRINT CHR$(12) 4110 LPRINT STRING$(4,10) 4120 NEXT J! 4130 GOTO 430 4140 REM************** MONTH SELECT PRINT OUT *************************** 4150 CLS 4160 LOCATE 10,25 4170 PRINT "THIS WILL PRINT OUT BY MONTH SELECTION" 4180 PRINT 4190 PRINT TAB( 25)" TO CONTINUE" 4200 PRINT 4210 PRINT TAB( 25)" TO RETURN TO MENU "; 4220 INPUT X% 4230 ON X% GOTO 4240,430 4240 PRINT 4250 PRINT TAB( 25)"WHAT MONTH (ENTER 3 LETTERS -- I.E. JAN,FEB)" 4260 PRINT 4270 PRINT TAB( 25); 4280 INPUT "MONTH ABBREVIATION: ";MO$ 4290 LPRINT ITALIC$;DARK$; 4300 LPRINT TAB( 25);"PRINT OUT BY MONTH -- 1982";END.ITALIC$; 4310 LPRINT STRING$(2,10) 4320 GOSUB 4670 4330 FOR J! = 1 TO 50 4340 FOR I! = 2 TO N2% 4350 NF% = I! 4360 IF LEFT$(A$(I!),3) = MO$ THEN LPRINT TAB( 1);NF%; TAB( 7);A$(I!); TAB( 15);B$(I!); TAB( 26);C$(I!); TAB( 44);D$(I!); TAB( 61);E$(I!); TAB( 68);F$(I!); TAB( 73);G$(I!) 4370 IF A$(2) = "" THEN 430 4380 NEXT I! 4390 PRINT 4400 PRINT TAB( 30)""; 4410 INPUT " TO CONTINUE ";X% 4420 IF (A$(N2%) = "END") OR (B$(N2%) = "END") THEN 430 4430 NEXT J! 4440 LPRINT "REF# DATE CHECK # DESCRIPTION TO/FROM D# C# $$ AMOUNT" 4450 GOTO 430 4460 REM****************** TERMINATION ********************************** 4470 CLS 4480 Y$ = "" 4490 LOCATE 10,20 4500 PRINT "HAVE YOU SAVED YOUR FILE "; 4510 INPUT AY$ 4520 IF (Y$ = CHR$(89)) OR (Y$ = CHR$(121)) THEN 4540 4530 IF (Y$ = CHR$(78)) OR (Y$ = CHR$(110)) THEN 430 4540 END 4550 REM***************** EMPTY FILE CHECK ****************************** 4560 CLS 4570 LOCATE 10,30 4580 PRINT "NO RECORDS IN FILE" 4590 FOR I! = 1 TO 1000 4600 NEXT 4610 GOTO 430 4620 REM*********** HEADING ROUITINE -- SCREEN PRINT ******************** 4630 LOCATE 2,1 4640 PRINT "REF# DATE CHECK # DESCRIPTION TO/FROM D# C# $$ AMOUNT"; 4650 PRINT "???? ????? ??????? ????????????? ?????????????? ???? ???? ?????????" 4660 RETURN 4670 REM************ HEADING ROUTINE -- PRINT OUT ************************ 4680 LPRINT "REF# DATE CHECK # DESCRIPTION TO/FROM D# C# $$ AMOUNT"; 4690 LPRINT "---- ----- ------- ------------- -------------- ---- ---- ---------" 4700 RETURN 4710 REM***************** ERROR REPORT ROUTINE ************************** 4720 CLS 4730 CLOSE 4740 LOCATE 10,30 4750 PRINT "ERROR TRAP" 4760 LOCATE 12,30 4770 PRINT "ERROR IS IN LINE "; ERL 4780 LOCATE 14,30 4790 PRINT "ERROR IS "; ERR 4800 LOCATE 16,30 4810 PRINT "PRESS TO CONTINUE "; 4820 INPUT X% 4830 RESUME 430 4840 CLOSE 4850 END 4860 REM **** PRINTER SUBROUTINES *** 4870 SMALL$ = CHR$(15) 4880 UNSMALL$ = CHR$(18) 4890 EXPAND.SMALL$ = CHR$(14) + CHR$(15) 4900 CANX.EXP.COMP$ = CHR$(18) + CHR$(20) 4910 EXPAND$ = CHR$(14) 4920 EXPAND.END$ = CHR$(20) 4930 DARK$ = CHR$(27) + CHR$(69) 4940 ITALIC$ = CHR$(27) + CHR$(52) 4950 ITALIC.EXP.CON$ = CHR$(14) + CHR$(15) + CHR$(27) + CHR$(52) 4960 ITALIC.EXP$ = CHR$(27) + CHR$(52) + CHR$(14) 4970 END.ITALIC$ = CHR$(27) + CHR$(53) 4980 START.ULINE$ = CHR$(27) + CHR$(45) + CHR$(1) 4990 END.ULINE$ = CHR$(27) + CHR$(45) + CHR$(0) 5000 PERM.EXPAN$ = CHR$(27) + CHR$(87) + CHR$(1) 5010 END.PERMEXP$ = CHR$(27) + CHR$(87) + CHR$(0) 5020 START.DSTRIKE$ = CHR$(27) + CHR$(71) 5030 END.DSTRIKE$ = CHR$(27) + CHR$(72) 5040 TINYLINE$ = CHR$(27) + CHR$(83) + CHR$(0) 5050 END.TINY$ = CHR$(27) + CHR$(84) 5060 ESC$ = CHR$(27) 5070 CLEANUP$ = CHR$(27) + CHR$(64) 5080 RETURN 5090 REM ********* PRINTER ERROR ROUTINE *************** 5100 IF ERR = 24 THEN 5130 ELSE 5110 5110 IF ERR = 25 THEN 5130 ELSE 5120 5120 ON ERROR GOTO 0 5130 KEY OFF 5140 BEEP 5150 BEEP 5160 LOCATE 25,1 5170 PRINT SPC( 79) 5180 LOCATE 25,20 5190 PRINT "CHECK PRINTER - PRESS ANY KEY TO CONTINUE" 5200 IF INKEY$ = "" THEN 5200 5210 KEY ON 5220 RESUME 5230 END 65000 REM********************** DISK SAVE ROUTINE ************************* 65100 SAVE "B:WORKFILE.BAS"