5 CLS: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
10 REM ***** ADDITIONAL DOCUMENTATION UNDER BLUEBERY.DOC IN DOS **********
11 '?????????????????????????????????????????????????????????????????????
13 '?      *** LABEL/FILE PROGRAM IN MONOCHROME FOR THE IBM PC ***       ?
14 '?                                                                    ?
15 '?    This is a bonus program for BLUEBERRY PIE A La Mode Buyers.     ?
17 '?  It is a combination LABEL, DATA FILE, "what have you", record and ?
19 '?  filing system.  It will print out 3 line labels on the EPSON or   ?
21 '?  GEMINI printer.  The 4th, 5th and 6th lines are held in file and  ?
23 '?  only printed out in the final summary report.  This program has   ?
24 '?  been set up as a limited data management file for demonstration   ?
25 '?  purposes. It is on this disk also as LABELPRO.BAS (in compressed  ?
26 '?  form) with a five-line label set-up and a single line printout.   ?
27 '?  BLUEBERY.BAS has been modified so that a basic programmer can see ?
28 '?  the ease with which this program can be adapted  for custom use.  ?
29 '?  The program is completely INKEY$ format-protected and is multi-   ?
30 '?  MENU driven.  Additional information concerning both LABELPRO.BAS ?
31 '?  and BLUEBERY.BAS is in BLUEBERY.DOC which can be DOSS accessed by ?
32 '?  TYPE command.  This program may be used in whole or in part with- ?
34 '?  out restriction, license, or attribution. COLOR STATEMENTS are    ?
35 '?  in the program. They may easily activated by any programmer.      ?
36 '?               (c) G I N A C O --- 1963            Ver 5.2/320/160  ?
37 '?????????????????????????????????????????????????????????????????????
55 '        *****  < F2 > to RUN  *******  < F10 > For BLUEMENU  *****
57 ' **** To avoid DOCUMENTATION BOX each time, REM or DELETE  line 5 ****
60 CLS:SCREEN 0,0,0:WIDTH 80:CLEAR:FOR I=1 TO 10:KEY I,"":NEXT
100 SCREEN 0,1,0,0
110 LOCATE 1,1,0,12,13
120 A$ = ""
130 B$ = ""
140 C$ = ""
150 D$ = ""
160 E$ = ""
170 F$ = ""
180 DEFINT A-Z
190 I% = 0
200 DIM A$(200),B$(200),C$(200),D$(200),E$(200),F$(200),INPTR$(50),FIN$(50),AA$(200)
210 FINLEN% = 0
220 P! = 0
230 IN$ = ""
240 ON ERROR GOTO 12450
250 CLS
260 KEY OFF
270 BB$ = TIME$
280 GOSUB 1710
290 'GOSUB 1030
300 GOTO 890
680 GOSUB 2130
690 DEF SEG = &H40
700 A! = PEEK(&H8)
710 B! = PEEK(&H9)
720 C! = PEEK(&HA)
730 D! = PEEK(&HB)
740 POKE &H8,C!
750 POKE &H9,D!
760 POKE &HA,A!
770 POKE &HB,B!
780 IF PEEK(&H9) = 3 THEN LPT$ = "1" ELSE LPT$ = "2"
790 LOCATE 7,30,0
800 COLOR 7,0
810 PRINT "Primary Printer = LPT";LPT$ + ":";
820 COLOR 7,0
830 LOCATE 9,24
840 PRINT "To continue with program  1";
850 LOCATE 11,24,0
860 PRINT "Reset LPT1 OR LPT2        2";" ";
865 GOSUB 2510
870 GOSUB 3030
880 ON VAL(IN$) GOTO 2620,680
890 CLS
900 GOSUB 1220
910 GOSUB 2590
920 GOSUB 1560
930 GOTO 5770
940 REM =====  EMERGENCY REPAIR =====
950 CLS
960 GOSUB 1220
970 GOSUB 2590
980 GOTO 2620
990 REM =====  PROGRAM FOR BOX PRINTOUT =======
1000 CLS
1010 GOSUB 1210
1020 GOTO 5380
1030 REM =====  LPT1&2 SELECT ROUTINE ==========
1040 COLOR 7,0
1050 WW% = 76
1060 TL% = 5
1070 LL% = 13
1080 LC% = 2
1090 LOCATE TL%,LC%,0,0,7
1100 PRINT TLC$; STRING$(WW%,HL$);TRC$;
1110 FOR I% = (TL% + 1) TO (LL% - 1)
1120   LOCATE I%,LC%,0
1130   PRINT VL$;
1140   LOCATE I%, (LC% + WW% + 1),0
1150   PRINT VL$;
1160 NEXT
1170 LOCATE LL%,LC%,0
1180 PRINT BLC$; STRING$(WW%,HL$);BRC$;
1190 COLOR 7,0
1200 RETURN
1210 REM =====  PRINT BOX 1 =====
1220 COLOR 7,0
1230 WW% = 76
1240 TL% = 1
1250 LL% = 24
1260 LC% = 2
1270 LOCATE TL%,LC%,0
1280 PRINT TLC$; STRING$(WW%,HL$);TRC$;
1290 FOR I% = (TL% + 1) TO (LL% - 1)
1300   LOCATE I%,LC%,0
1310   PRINT VL$;
1320   LOCATE I%, (LC% + WW% + 1),0
1330   PRINT VL$;
1340 NEXT
1350 LOCATE LL%,LC%,0
1360 PRINT BLC$; STRING$(WW%,HL$);BRC$;
1370 COLOR 7,0
1380 RETURN
1390 REM =====  PRINT BOX 2 =====
1400 WW% = 69
1410 TL% = 18
1420 LL% = 23
1430 LC% = 6
1440 LOCATE TL%,LC%,0
1450 PRINT TLC$; STRING$(WW%,HL$);TRC$;
1460 FOR I% = (TL% + 1) TO (LL% - 1)
1470   LOCATE I%,LC%,0
1480   PRINT VL$;
1490   LOCATE I%, (LC% + WW% + 1),0
1500   PRINT VL$;
1510 NEXT
1520 LOCATE LL%,LC%,0
1530 PRINT BLC$; STRING$(WW%,HL$);BRC$;
1540 RETURN
1550 REM =====  PRINT BOX 3 =====
1560 WW% = 23
1570 TL% = 20
1580 LL% = 22
1590 LC% = 50
1600 LOCATE TL%,LC%,0
1610 PRINT TLC$; STRING$(WW%,HL$);TRC$;
1620 FOR I% = (TL% + 1) TO (LL% - 1)
1630   LOCATE I%,LC%,0
1640   PRINT VL$;
1650   LOCATE I%, (LC% + WW% + 1),0
1660   PRINT VL$;
1670 NEXT
1680 LOCATE LL%,LC%,0
1690 PRINT BLC$; STRING$(WW%,HL$);BRC$;
1700 RETURN
1710 REM =====  INITIALIZATION ROUTINE =====
1720 TLC$ = CHR$(201)
1730 TRC$ = CHR$(187)
1740 HL$ = CHR$(205)
1750 BLC$ = CHR$(200)
1760 BRC$ = CHR$(188)
1770 VL$ = CHR$(186)
1780 PR$ = "\                                 \     \                     \"
1790 M1ST$="A ??"+CHR$(16)+" Add  Records   C ??"+CHR$(16)+" Choose Printer   D ??"+CHR$(16)+" Disk Directories":
1800 M2ND$="E ??"+CHR$(16)+" Edit Records   L ??"+CHR$(16)+" Load Disk File   P ??"+CHR$(16)+" Print Label Menu":
1810 M3RD$="Q ??"+CHR$(16)+" Quit Program   R ??"+CHR$(16)+" Review Records   S ??"+CHR$(16)+" Save (Disk File)":
1820 REM =====  ZIPCLEAR INPUT ROUTINES =====
1830 DIM A%(22)
1840 FOR I% = 0 TO 21
1850   READ A%(I%)
1860 NEXT
1870 DATA&h8B55
1880 DATA&hB8EC
1890 DATA&H0600
1900 DATA&H07B7
1910 DATA&H768B
1920 DATA&H8A0C
1930 DATA&H8B2C
1940 DATA&HA76
1950 DATA&HC8A
1960 DATA&H768B
1970 DATA&H8A08
1980 DATA&H8B34
1990 DATA&H676
2000 DATA&H148A
2010 DATA&HCDFE
2020 DATA&HC9FE
2030 DATA&HCEFE
2040 DATA&HCAFE
2050 DATA&H10CD
2060 DATA&HCA5D
2070 DATA&H8
2080 DATA&H0
2090 RETURN
2100 REM =====  CLEAR LPT1&2 SELECT BOX =====
2110 REM =====  R1%=UP.LEFT.ROW% :C1%=UP.LEFT COL% =====
2120 REM =====  R2%=LOW.LEFT.ROW%:C2%=RIGHT.COL% =====
2130 REM =====  CLEAR LPT1&2 SELECT BOX =====
2140 R1% = 6
2150 C1% = 3
2160 R2% = 12
2170 C2% = 76
2180 DEF SEG
2190 SUBRT% = VARPTR(A%(0))
2200 CALL SUBRT%(R1%,C1%,R2%,C2%)
2210 RETURN
2220 REM =====  CLEAR TOP BOX FORM =====
2230 R1% = 2
2240 C1% = 3
2250 R2% = 17
2260 C2% = 78
2270 DEF SEG
2280 SUBRT% = VARPTR(A%(0))
2290 CALL SUBRT%(R1%,C1%,R2%,C2%)
2300 RETURN
2310 REM =====  CLEAR UPPER 1/2 SCREEN FOR DIRECTORY =====
2320 R1% = 1
2330 C1% = 1
2340 R2% = 17
2350 C2% = 80
2360 DEF SEG
2370 SUBRT% = VARPTR(A%(0))
2380 CALL SUBRT%(R1%,C1%,R2%,C2%)
2390 LOCATE 18,2
2400 PRINT "?"; STRING$(76,"?");"?";
2410 RETURN
2420 REM =====  CLEAR BOTTOM BOX FORM =====
2430 R1% = 19
2440 C1% = 3
2450 R2% = 23
2460 C2% = 49
2470 DEF SEG
2480 SUBRT% = VARPTR(A%(0))
2490 CALL SUBRT%(R1%,C1%,R2%,C2%)
2500 RETURN
2510 R1% = 19
2520 C1% = 3
2530 R2% = 23
2540 C2% = 78
2550 DEF SEG
2560 SUBRT% = VARPTR(A%(0))
2570 CALL SUBRT%(R1%,C1%,R2%,C2%)
2580 RETURN
2590 LOCATE 18,2,0
2600 PRINT "?"; STRING$(76,"?");"?";
2610 RETURN
2620 REM =====  QUERY CLEAR AND RETURN ROUTINE =====
2630 GOSUB 14860
2640 GOSUB 2230
2650 GOSUB 1210
2660 GOSUB 15610
2670 ON MS% GOTO 13070,680,15090,7390,5120,8900,12290,5400,4850
2680 REM =====  FULL BOX FORM =====
2690 R1% = 2
2700 C1% = 3
2710 R2% = 18
2720 C2% = 78
2730 DEF SEG
2740 SUBRT% = VARPTR(A%(0))
2750 CALL SUBRT%(R1%,C1%,R2%,C2%)
2760 RETURN
2770 REM =====  INSERT AND BOTTOM BOXES =====
2780 LOCATE 21,52,0
2790 PRINT SPC( 22);
2800 COLOR 7,0
2810 RETURN
2820 LOCATE 21,10,0
2830 PRINT SPC( 39);
2840 COLOR 7,0
2850 RETURN
2860 REM =====  "SELECT" SUBROUTINE  =====
2870 LOCATE 21,51,0
2880 PRINT SPC( 21);
2890 COLOR 7,0
2900 LOCATE 21,76
2910 COLOR 7,0
2920 LOCATE 21,53
2930 PRINT "SELECT ";
2940 COLOR 7,0
2950 RETURN
2960 LOCATE 21,52,0
2970 PRINT SPC( 21);
2980 COLOR 7,0
2990 LOCATE 21,76
3000 RETURN
3010 REM =====  END Of FORM GENERATION GO TO FORM INPUT TEXT =====
3020 IF INKEY$ > < "" GOTO 3020
3030 IN$ = INKEY$
3040 IF IN$ = "" THEN 3030
3050 IF ASC(IN$) < 49 OR ASC(IN$) > 50 THEN SOUND 400,4 : GOTO 3030
3060 RETURN
3070 IF INKEY$ > < "" GOTO 3070
3080 IN$ = INKEY$
3090 IF IN$ = "" THEN 3080
3100 IF ASC(IN$) < 49 OR ASC(IN$) > 51 THEN SOUND 400,4 : GOTO 3080
3110 RETURN
3120 IF INKEY$ > < "" GOTO 3120
3130 IN$ = INKEY$
3140 IF IN$ = "" THEN 3130
3150 IF ASC(IN$) < 49 OR ASC(IN$) > 52 THEN SOUND 400,4 : GOTO 3130
3160 RETURN
3170 IF INKEY$ > < "" GOTO 3170
3180 IN$ = INKEY$
3190 IF IN$ = "" THEN 3180
3200 IF ASC(IN$) < 49 OR ASC(IN$) > 53 THEN SOUND 400,4 : GOTO 3180
3210 RETURN
3220 IF INKEY$ > < "" GOTO 3220
3230 IN$ = INKEY$
3240 IF IN$ = "" THEN 3230
3250 IF ASC(IN$) < 49 OR ASC(IN$) > 54 THEN SOUND 400,4 : GOTO 3230
3260 RETURN
3270 IF INKEY$ > < "" GOTO 3270
3280 IN$ = INKEY$
3290 IF IN$ = "" THEN 3280
3300 IF ASC(IN$) < 49 OR ASC(IN$) > 56 THEN SOUND 400,4 : GOTO 3280
3310 RETURN
3320 IF INKEY$ > < "" GOTO 3320
3330 IN$ = INKEY$
3340 IF IN$ = "" THEN 3330
3350 IF ASC(IN$) < 49 OR VAL(IN$) > 200 THEN SOUND 400,4 : GOTO 3330
3360 RETURN
3370 IN$ = INKEY$
3380 IF IN$ = "" THEN 3370
3390 YN% = 0
3400 IF (IN$ = "Y" OR IN$ = "y") THEN YN% = 1 : RETURN
3410 IF (IN$ = "N" OR IN$ = "n") THEN YN% = 2 : RETURN
3420 SOUND 400,4
3430 GOTO 3370
3440 IF INKEY$ > < "" GOTO 3440
3450 IN$ = INKEY$
3460 IF IN$ = "" THEN 3450
3470 IF IN$ < > CHR$(13) THEN SOUND 400,4 : GOTO 3450
3480 RETURN
3490 IN$ = INKEY$
3500 IF IN$ = "" THEN 3490
3510 IF (IN$ = CHR$(65) OR IN$ = CHR$(97)) THEN PD% = 1 : RETURN
3520 IF (IN$ = CHR$(66) OR IN$ = CHR$(98)) THEN PD% = 2 : RETURN
3530 IF (IN$ = CHR$(67) OR IN$ = CHR$(99)) THEN PD% = 3 : RETURN
3540 IF (IN$ = CHR$(68) OR IN$ = CHR$(100)) THEN PD% = 4 : RETURN
3550 SOUND 400,4
3560 GOTO 3490
3570 REM =====  INPUT ROUTINE FOR LETTER RESPONSES =====
3580 FIN$ = ""
3590 IF FINLEN% = 0 THEN FINLEN% = 255
3600 IF INKEY$ > < "" THEN 3600
3610 INPTR$ = INKEY$
3620 IF INPTR$ = "" THEN 3610
3630 IF INPTR$ = CHR$(13) THEN RETURN
3640 IF INPTR$ < > CHR$(8) THEN 3690
3650 IF FIN$ = "" THEN SOUND 600,4 : GOTO 3610
3660 PRINT CHR$(29);"?"; CHR$(29);
3670 FIN$ = LEFT$((FIN$), LEN(FIN$) - 1)
3680 GOTO 3610
3690 IF LEN(FIN$) = FINLEN% THEN SOUND 600,4 : GOTO 3610
3700 IF ASC(INPTR$) < 31 OR ASC(INPTR$) > 125 THEN SOUND 400,4 : GOTO 3610
3710 PRINT INPTR$;
3720 FIN$ = FIN$ + INPTR$
3730 GOTO 3610
3740 END
3750 REM =====  INITIAL FILE OR SINGLE LABEL INPUT PROGRAM  =====
3760 GOSUB 2220
3770 GOSUB 2420
3780 COLOR 7,0
3790 LOCATE 21,30,0
3800 PRINT "Make DATA Entries ";
3810 LOCATE 17,20
3820 PRINT "Do not use QUOTATION MARKS when entering data!";
3830 COLOR 7,0
3840 GOSUB 7090
3850 P! = 200
3860 FOR I! = 1 TO 200
3870   COLOR 7,0
3880   GOSUB 7220
3910   GOSUB 2780
3920   LOCATE 21,52,0
3930   PRINT "Record #:";
3940   LOCATE 21,64,0
3950   PRINT I!;
3960   LOCATE 4,30,1,0,7
3970   FINLEN% = 41
3980   GOSUB 3570
3990   A$(I!) = FIN$
4000   COLOR 7,0
4010   LOCATE 4,30,0
4020   PRINT A$(I!);
4030   IF (A$(I!) = "END" OR A$(I!) = "end") THEN P! = I!
4040   IF (A$(I!) = "END" OR A$(I!) = "end") THEN 4760
4050   LOCATE 6,30,1
4060   FINLEN% = 41
4070   GOSUB 3570
4080   B$(I!) = FIN$
4090   COLOR 7,0
4100   LOCATE 6,30,0
4110   PRINT B$(I!);
4120   LOCATE 8,30,1
4130   FINLEN% = 41
4140   GOSUB 3570
4150   C$(I!) = FIN$
4160   COLOR 7,0
4170   LOCATE 8,30,0
4180   PRINT C$(I!)
4190   LOCATE 10,30,1
4200   FINLEN% = 41
4210   GOSUB 3570
4220   D$(I!) = FIN$
4230   COLOR 7,0
4240   LOCATE 10,30,0
4250   PRINT D$(I!);
4260   LOCATE 12,30,1
4270   FINLEN% = 41
4280   GOSUB 3570
4290   E$(I!) = FIN$
4300   COLOR 7,0
4310   LOCATE 12,30,0
4320   PRINT E$(I!);
4330   LOCATE 14,30,1
4340   FINLEN% = 41
4350   GOSUB 3570
4360   F$(I!) = FIN$
4370   COLOR 7,0
4380   LOCATE 14,30,0
4390   PRINT F$(I!);
4400   GOSUB 2420
4410   LOCATE 21,20,0
4420   COLOR 7,0
4430   PRINT "Is this correct  ";
4440   COLOR 7,0
4450   GOSUB 3370
4460   IF YN% = 1 THEN 4610
4470   IF YN% = 2 THEN 4480
4480   GOSUB 2420
4490   GOSUB 2780
4500   GOSUB 2820
4510   LOCATE 21,18
4520   COLOR 7,0
4530   PRINT "Re-enter what line? ";
4540   COLOR 7,0
4550   LOCATE 21,55
4560   PRINT " Line # ";
4570   GOSUB 3220
4580   LOCATE 21,64
4590   PRINT VAL(IN$);
4600   ON VAL(IN$) GOTO 6240,6280,6320,6360,6400,6440
4610   GOSUB 2420
4620   LOCATE 21,18
4630   COLOR 7,0
4640   PRINT "ENTER ";
4650   COLOR 7,0
4660   PRINT CHR$(34)"END" CHR$(34);
4670   COLOR 7,0
4680   PRINT " To CLOSE entries ";
4690 NEXT
4700 NEXT
4710 LOCATE 21,18
4720 COLOR 7,0
4730 PRINT SPC( 30);
4740   PRINT "To Store on DISK    2";
4750 COLOR 7,0
4760 GOSUB 2420
4770 COLOR 7,0
4780 LOCATE 21,20
4790 PRINT "SAVE to DISK  ";
4800 COLOR 7,0
4810 GOSUB 3370
4820 IF YN% = 1 THEN 4840
4830 IF YN% = 2 THEN 5380
4840 REM =====  DATA SAVE ROUTINE TO DISK  =====
4850 GOSUB 2510
4860 GOSUB 1560
4870 COLOR 7,0
4880 LOCATE 21,27,0
4890 PRINT "What is FILE name? ";
4900 GOSUB 2960
4910 FINLEN% = 14
4920 LOCATE 21,52
4930 COLOR 7,0
4940 PRINT "DRIVE? ?:????????.???";
4950 LOCATE 21,59,0
4960 COLOR 7,0
4970 GOSUB 3570
4980 FILESPEC$ = FIN$
4990 COLOR 7,0
5000 GOSUB 2820
5010 OPEN "O",1,FILESPEC$
5020 WRITE #1,P!
5030 FOR I! = 1 TO P!
5040   WRITE #1,A$(I!),B$(I!),C$(I!),D$(I!),E$(I!),F$(I!)
5050   IF (A$(I!) = "END" OR A$(I!) = "end") THEN P! = I!
5060   IF (A$(I!) = "END" OR A$(I!) = "end") THEN 5080
5070 NEXT
5080 CLOSE
5090 GOSUB 14860
5100 GOTO 5380
5110 REM =====  DISK DATA READ ROUTINE  =====
5120 GOSUB 2510
5130 GOSUB 1560
5140 LOCATE 21,27
5150 COLOR 7,0
5160 PRINT "What is FILE name? ";
5170 GOSUB 2960
5180 FINLEN% = 14
5190 LOCATE 21,52
5200 COLOR 7,0
5210 PRINT "DRIVE? ?:????????.???";
5220 LOCATE 21,59,0
5230 COLOR 7,0
5240 GOSUB 3570
5250 FILESPEC$ = FIN$
5260 COLOR 7,0
5270 GOSUB 2820
5280 OPEN "I",1,FILESPEC$
5290 INPUT #1,P!
5300 FOR I! = 1 TO P!
5310   INPUT #1,A$(I!),B$(I!),C$(I!),D$(I!),E$(I!),F$(I!)
5320   IF (A$(I!) = "END" OR A$(I!) = "end") THEN P! = I!
5330   IF (A$(I!) = "END" OR A$(I!) = "END") THEN 5350
5340 NEXT
5350 CLOSE
5360 GOSUB 14860
5370 GOSUB 2220
5380 REM =====  CHANCE TO REVIEW NAMES =====
5390 GOTO 2620
5400 REM =====  STARTING OUTPUT LOOP =====
5410 GOSUB 2220
5420 GOSUB 2510
5430 GOSUB 2590
5440 K! = 1
5450 NR% = 13
5460 LOCATE 4,7
5470 FOR I% = K! TO P!
5480   GOTO 5490
5490   LOCATE ,7
5500   PRINT I%;" ";
5510   PRINT USING PR$;A$(I%);B$(I%)
5520   IF I% = NR% THEN 5540 ELSE 5530
5530 NEXT
5540 GOSUB 2510
5550 LOCATE 21,30
5560 COLOR 7,0
5570 PRINT " ENTER to Continue!";
5580 COLOR 7,0
5590 GOSUB 3440
5600 IF I% = P! THEN 5620
5610 IF I% < P! THEN K! = I% : NR% = NR% + 13 : GOSUB 2680 : GOTO 5460
5620 GOSUB 2510
5630 LOCATE 21,30
5640 COLOR 7,0
5650 PRINT "That is the last Record";
5660 FOR I! = 1 TO 2000
5670 NEXT
5680 COLOR 7,0
5690 GOTO 2620
5700 PRINT "ADD RECORDS TO FILE   3";
5710 COLOR 7,0
5720 LOCATE 21,50,0
5730 GOSUB 2870
5740 GOSUB 14860
5750 GOSUB 3070
5760 ON VAL(IN$) GOTO 8890,7380,13060
5770 'GOSUB 2420
5780 LOCATE 3,32
5790 COLOR 7,0
5800 PRINT "LABEL/FILE PROGRAM";
5810 COLOR 7,0
5820 LOCATE 4,32
5830 COLOR 7,0
5840 PRINT "??????????????????";
5850 COLOR 7,0
5860 LOCATE 6,35
5870 COLOR 7,0
5880 PRINT "C H O I C E S";
5890 COLOR 7,0
5900 LOCATE 7,35
5910 COLOR 7,0
5920 PRINT "?????????????";
5930 COLOR 7,0
5940 LOCATE 9,25
5950 COLOR 7,0
5960 PRINT "Recall Disk FILE              1";
5970 COLOR 7,0
5980 LOCATE 11,25
5990 COLOR 7,0
6000 PRINT "Open New FILE                 2";
6010 COLOR 7,0
6020 LOCATE 13,25
6030 COLOR 7,0
6040 PRINT "Make single label             3";
6050 COLOR 7,0
6060 LOCATE 15,25
6070 COLOR 7,0
6080 PRINT "CONTROL Menu                  4";
6090 COLOR 7,0
6100 LOCATE 21,20
6110 COLOR 7,0
6120 PRINT "Select &  a Number";
6130 GOSUB 2870
6140 GOSUB 14860
6150 GOSUB 3120
6160 ON VAL(IN$) GOTO 5110,3750,3750,2620
6170 REM =====  INDIVIDUAL LINE CORRECTION ROUTINE  =====
6180 CLEAR 570
6190 FOR I% = 4 TO 14 STEP 2
6200   LOCATE I%,28
6210   PRINT "  "; STRING$(41,254);
6220 NEXT
6230 GOTO 6480
6240 COLOR 7,0
6250 LOCATE 4,28
6260 PRINT "  "; STRING$(41,254);
6270 GOTO 6480
6280 COLOR 7,0
6290 LOCATE 6,28
6300 PRINT "  "; STRING$(41,254);
6310 GOTO 6590
6320 COLOR 7,0
6330 LOCATE 8,28
6340 PRINT "  "; STRING$(41,254);
6350 GOTO 6680
6360 COLOR 7,0
6370 LOCATE 10,28
6380 PRINT "  "; STRING$(41,254);
6390 GOTO 6770
6400 COLOR 7,0
6410 LOCATE 12,28
6420 PRINT "  "; STRING$(41,254);
6430 GOTO 6860
6440 COLOR 7,0
6450 LOCATE 14,28
6460 PRINT "  "; STRING$(41,254);
6470 GOTO 6950
6480 LOCATE 4,30
6490 COLOR 7,0
6500 FINLEN% = 41
6510 GOSUB 3570
6520 A$(I!) = FIN$
6530 LOCATE 4,30,0
6540 PRINT A$(I!);
6550 COLOR 7,0
6560 GOTO 4400
6570 IF (A$(I!) = "END" OR A$(I!) = "end") THEN P! = I!
6580 IF (A$(I!) = "END" OR A$(I!) = "end") THEN 4760
6590 LOCATE 6,30,1
6600 COLOR 7,0
6610 FINLEN% = 41
6620 GOSUB 3570
6630 B$(I!) = FIN$
6640 LOCATE 6,30,0
6650 PRINT B$(I!);
6660 COLOR 7,0
6670 GOTO 4400
6680 LOCATE 8,30,1
6690 COLOR 7,0
6700 FINLEN% = 41
6710 GOSUB 3570
6720 C$(I!) = FIN$
6730 LOCATE 8,30,0
6740 PRINT C$(I!);
6750 COLOR 7,0
6760 GOTO 4400
6770 LOCATE 10,30,1
6780 COLOR 7,0
6790 FINLEN% = 41
6800 GOSUB 3570
6810 D$(I!) = FIN$
6820 LOCATE 10,30,0
6830 PRINT D$(I!);
6840 COLOR 7,0
6850 GOTO 4400
6860 LOCATE 12,30,1
6870 COLOR 7,0
6880 FINLEN% = 41
6890 GOSUB 3570
6900 E$(I!) = FIN$
6910 LOCATE 12,30,0
6920 PRINT E$(I!);
6930 COLOR 7,0
6940 GOTO 4400
6950 LOCATE 14,30,1
6960 COLOR 7,0
6970 FINLEN% = 41
6980 GOSUB 3570
6990 F$(I!) = FIN$
7000 LOCATE 14,30,0
7010 PRINT F$(I!);
7020 COLOR 7,0
7030 GOTO 4400
7040 REM =====  LINE COLOR LINE ROUTINE =====
7090 LOCATE 4,14:PRINT "Address    1: ";
7100 LOCATE 5,14:PRINT "~~~~~~~";
7110 LOCATE 6,14:PRINT "Address    1: ";
7120 LOCATE 7,14:PRINT "~~~~~~~";
7130 LOCATE 8,14:PRINT "Address    1: ";
7140 LOCATE 9,14:PRINT "~~~~~~~";
7150 LOCATE 10,14:PRINT "Order Data 4: ";
7160 LOCATE 11,14:PRINT "~~~~~~~~~~";
7170 LOCATE 12,14:PRINT "Pay Data   5: ";
7180 LOCATE 13,14:PRINT "~~~~~~~~";
7190 LOCATE 14,14:PRINT "Comments   6: ";
7200 LOCATE 15,14:PRINT "~~~~~~~~";
7210 RETURN
7220 REM =====  COLORS IN INPUT LINES  =====
7230 LOCATE 2,28
7240 COLOR 7,0
7250 PRINT "  " STRING$(15,32) CHR$(3);
7260 COLOR 7,0
7270 LOCATE 2,22
7280 PRINT "MAX for EXPANDED PRINT";
7290 LOCATE 2,47
7300 PRINT "with 4 ? inch labels"
7310 FOR Q% = 4 TO 14 STEP 2
7320   COLOR 7,0
7330   LOCATE Q%,30
7340   PRINT STRING$(41,254);
7350   COLOR 7,0
7360 NEXT
7370 RETURN
7380 REM =====  EDIT INDIVIDUAL RECORDS ROUTINE =====
7390 Z% = 0
7400 GOSUB 2510
7410 GOSUB 1560
7420 COLOR 7,0
7430 LOCATE 20,18
7440 PRINT "What RECORD NUMBER To edit ";
7450 COLOR 7,0
7460 LOCATE 22,18
7470 PRINT "Enter RECORD NUMBER ";
7480 GOSUB 2870
7490 GOSUB 3320
7500 Z! = VAL(IN$)
7510 GOSUB 14860
7520 IF I% = 0 THEN 15040 : IF (Z! < 1 OR Z! > P!) THEN 7400
7530 REM =====  DISPLAYING RECORDS TO BE EDITED =====
7540 ON Z! GOSUB 2220
7550 GOSUB 7040
7560 GOSUB 7220
7570 GOSUB 2780
7580 COLOR 7,0
7590 LOCATE 21,53,0
7600 PRINT "Record #: ";
7610 LOCATE 21,65
7620 PRINT Z!;
7630 LOCATE 4,30
7640 PRINT A$(Z!);
7650 IF A$(1) = "END" THEN P! = Z! : COLOR 7,0
7660 LOCATE 6,30
7670 PRINT B$(Z!);
7680 LOCATE 8,30
7690 PRINT C$(Z!);
7700 LOCATE 10,30
7710 PRINT D$(Z!);
7720 LOCATE 12,30
7730 PRINT E$(Z!);
7740 LOCATE 14,30
7750 PRINT F$(Z!);
7760 GOSUB 2420
7770 COLOR 7,0
7780 GOSUB 2820
7790 LOCATE 21,20
7800 PRINT "Is this correct  ";
7810 GOSUB 3370
7820 IF YN% = 1 THEN 8820
7830 IF YN% = 2 THEN 7840
7840 GOSUB 2420
7850 GOSUB 2780
7860 GOSUB 2820
7870 LOCATE 21,18
7880 COLOR 7,0
7890 PRINT "Re-enter what LINE? ";
7900 COLOR 7,0
7910 LOCATE 21,55
7920 PRINT " Line # ";
7930 GOSUB 3220
7940 LOCATE 21,64
7950 PRINT VAL(IN$);
7960 ON VAL(IN$) GOTO 7980,8020,8060,8100,8140,8180
7970 REM =====  INDIVIDUAL LINE ROUTINE FOR RECALLED RECORDS  =====
7980 COLOR 7,0
7990 LOCATE 4,30,1,0,7:COLOR 0,7:PRINT A$(Z!)
8010 GOTO 8260
8020 COLOR 7,0
8030 LOCATE 6,30,1,0,7:COLOR 0,7
8040 PRINT B$(Z!)
8050 GOTO 8370
8060 COLOR 7,0
8070 LOCATE 8,30,1,0,7:COLOR 0,7
8080 PRINT C$(Z!)
8090 GOTO 8460
8100 COLOR 7,0
8110 LOCATE 10,30,1,0,7:COLOR 0,7
8120 PRINT D$(Z!)
8130 GOTO 8550
8140 COLOR 7,0
8150 LOCATE 12,30,1,0,7:COLOR 0,7
8160 PRINT E$(Z!)
8170 GOTO 8640
8180 COLOR 7,0
8190 LOCATE 14,30,1,0,7:COLOR 0,7
8200 PRINT F$(Z!)
8205 COLOR 7,0
8210 GOTO 8730
8220 FOR Q% = 4 TO 14 STEP 2
8230   LOCATE Q%,30,1,0,7
8240   PRINT STRING$(41,254);
8250 NEXT
8260 LOCATE 4,30,1
8270 COLOR 7,0
8280 FINLEN% = 41
8290 GOSUB 3570
8300 A$(Z!) = FIN$
8310 LOCATE 4,30,0
8320 PRINT A$(Z!);
8330 COLOR 7,0
8340 GOTO 7760
8350 IF A$(Z!) = "END" OR A$(Z!) = "end") THEN P! = Z!
8360 IF A$(Z!) = "END" OR A$(Z!) = "end") THEN 8830
8370 LOCATE 6,30,1
8380 COLOR 7,0
8390 FINLEN% = 41
8400 GOSUB 3570
8410 B$(Z!) = FIN$
8420 LOCATE 6,30,0
8430 PRINT B$(Z!);
8440 COLOR 7,0
8450 GOTO 7760
8460 LOCATE 8,30,1
8470 COLOR 7,0
8480 FINLEN% = 41
8490 GOSUB 3570
8500 C$(Z!) = FIN$
8510 LOCATE 8,30,0
8520 PRINT C$(Z!);
8530 COLOR 7,0
8540 GOSUB 7760
8550 LOCATE 10,30,1
8560 COLOR 7,0
8570 FINLEN% = 41
8580 GOSUB 3570
8590 D$(Z!) = FIN$
8600 LOCATE 10,30,0
8610 PRINT D$(Z!);
8620 COLOR 7,0
8630 GOTO 7760
8640 LOCATE 12,30,1
8650 COLOR 7,0
8660 FINLEN% = 41
8670 GOSUB 3570
8680 E$(Z!) = FIN$
8690 LOCATE 12,30,0
8700 PRINT E$(Z!);
8710 COLOR 7,0
8720 GOTO 7760
8730 LOCATE 14,30,1
8740 COLOR 7,0
8750 FINLEN% = 41
8760 GOSUB 3570
8770 F$(Z!) = FIN$
8780 LOCATE 14,30,0
8790 PRINT F$(Z!);
8800 COLOR 7,0
8810 GOSUB 7760
8820 REM =====  LOOK AT ANOTHER RECORD AFTER CORRECTION =====
8830 GOSUB 2430
8840 LOCATE 21,18
8850 COLOR 7,0
8860 PRINT "Edit another RECORD  ";
8870 GOSUB 3370
8880 ON YN% GOTO 7380,2620
8890 REM =====  LABEL PRINT ROUTINES =====
8900 GOSUB 14860
8910 GOSUB 2220
8920 LOCATE 3,32
8930 COLOR 7,0
8940 PRINT "LABEL/FILE PROGRAM";
8950 COLOR 7,0
8960 LOCATE 4,32
8970 COLOR 7,0
8980 PRINT "??????????????????";
8990 COLOR 7,0
9000 LOCATE 5,35
9010 COLOR 7,0
9020 PRINT "C H O I C E S"
9030 COLOR 7,0
9040 LOCATE 6,35
9050 COLOR 7,0
9060 PRINT "?????????????";
9070 COLOR 7,0
9080 LOCATE 8,25
9090 COLOR 7,0
9100 PRINT "1ST Line EXPANDED Print.......1";
9110 COLOR 7,0
9120 LOCATE 9,25
9130 COLOR 7,0
9140 PRINT "All lines EXPANDED Print......2";
9150 COLOR 7,0
9160 LOCATE 10,25
9170 COLOR 7,0
9180 PRINT "All lines ITALICS.. ..........3";
9190 COLOR 7,0
9200 LOCATE 11,25
9210 COLOR 7,0
9220 PRINT "All lines 10 PITCH............4";
9230 COLOR 7,0
9240 LOCATE 12,25
9250 COLOR 7,0
9260 PRINT "All lines COMPRESSED..........5";
9270 COLOR 7,0
9280 LOCATE 13,25
9290 COLOR 7,0
9300 PRINT "Return to CONTROL Menu........6";
9310 COLOR 7,0
9320 LOCATE 14,25
9330 COLOR 7,0
9340 PRINT "Disk Directories..............7";
9350 LOCATE 15,25
9360 PRINT "QUIT the program..............8";
9370 COLOR 7,0
9380 GOSUB 2510
9390 GOSUB 1560
9400 LOCATE 21,20
9410 COLOR 7,0
9420 PRINT "Select &  a NUMBER ";
9430 GOSUB 2870
9440 GOSUB 14860
9450 GOSUB 3270
9460 ON VAL(IN$) GOTO 9490,9530,9570,9610,9650,2620,15080,12280
9470 GOSUB 2220
9480 GOTO 5380
9490 REM =====  1ST LINE EXPANDED =====
9500 GOSUB 2220
9510 GOSUB 9690
9520 GOTO 10560
9530 REM =====  ALL LINES EXPANDED =====
9540 GOSUB 2220
9550 GOSUB 9690
9560 GOTO 10880
9570 REM =====  ALL LINES ITALICS =====
9580 GOSUB 2220
9590 GOSUB 9690
9600 GOTO 11180
9610 REM =====  10 PITCH (PICA) =====
9620 GOSUB 2220
9630 GOSUB 9690
9640 GOTO 11490
9650 REM =====  ALL LINES CONDENSED =====
9660 GOSUB 2220
9670 GOSUB 9690
9680 GOTO 11800
9690 LOCATE 6,35
9700 COLOR 7,0
9710 PRINT "C H O I C E S";
9720 COLOR 7,0
9730 LOCATE 7,35
9740 COLOR 7,0
9750 PRINT "?????????????";
9760 COLOR 7,0
9770 LOCATE 9,25
9780 COLOR 7,0
9790 PRINT "Check Printer ON and SELECTED.";
9800 COLOR 7,0
9810 LOCATE 10,25
9820 COLOR 7,0
9830 PRINT "CHECK LABELS LOADED AND ALIGNED";
9840 COLOR 7,0
9850 LOCATE 11,25
9860 COLOR 7,0
9870 PRINT "Select record RANGE to print";
9880 COLOR 7,0
9890 LOCATE 13,25
9900 COLOR 7,0
9910 PRINT "I.E.  FIRST Record Number to Print";
9920 LOCATE 14,31
9930 PRINT "Then  Last Record Number";
9940 COLOR 7,0
9950 GOSUB 2820
9960 LOCATE 21,20
9970 COLOR 7,0
9980 PRINT "Select Record Print Range ";
9990 LB! = 0
10000 LE! = 0
10010 GOSUB 2780
10020 LOCATE 21,52
10030 COLOR 7,0
10040 PRINT "First # ";
10050 COLOR 7,0
10060 LOCATE 21,60
10070 GOSUB 3320
10080 LB! = VAL(IN$)
10090 LOCATE 21,62
10100 PRINT LB!;
10110 FOR I% = 1 TO 2000
10120 NEXT
10130 GOSUB 2780
10140 LOCATE 21,52,0
10150 COLOR 7,0
10160 PRINT "Last #";
10170 COLOR 7,0
10180 GOSUB 14860
10190 GOSUB 3320
10200 LE! = VAL(IN$)
10210 LOCATE 21,62
10220 PRINT LE!;
10230 FOR I% = 1 TO 1000
10240 NEXT
10250 GOSUB 2220
10260 LOCATE 6,35
10270 COLOR 7,0
10280 PRINT "PRINT  LABELS";
10290 COLOR 7,0
10300 LOCATE 7,35
10310 COLOR 7,0
10320 PRINT "?????????????";
10330 COLOR 7,0
10340 LOCATE 12,30
10350 COLOR 7,0
10360 PRINT "How many of each labeL.    ";
10370 COLOR 7,0
10380 LOCATE 21,16
10390 COLOR 7,0
10400 PRINT "Indicate QUANTITY of each wanted";
10410 REM =====  NUMBER OF EACH LABEL =====
10420 GOSUB 2780
10430 LOCATE 21,52
10440 COLOR 7,0
10450 PRINT "# of each";
10460 COLOR 7,0
10470 NL! = 0
10480 GOSUB 3270
10490 NL! = VAL(IN$)
10500 LOCATE 21,62
10510 PRINT NL!;
10520 FOR I% = 1 TO 2000
10530 NEXT
10540 GOSUB 14860
10550 RETURN
10560 REM =====  1ST LINE ONLY EXPANDED/EMPHASIZED PRINT =====
10570 LPRINT CHR$(27) + "@";
10580 LPRINT CHR$(27) + "E";
10590 FOR M! = 1 TO NL!
10600   FOR N! = LB! TO LE!
10610     LPRINT CHR$(14);
10620     LPRINT A$(N!)
10630     LPRINT CHR$(20);
10640     LPRINT B$(N!)
10650     LPRINT C$(N!)
10660     LPRINT " " 'D$(N!)
10670     LPRINT " " 'E$(N!)
10680     LPRINT " " 'F$(N!)
10690   NEXT
10700 NEXT
10710 LPRINT CHR$(27) + "@";
10720 GOSUB 2220
10730 GOSUB 2420
10740 LOCATE 20,13
10750 COLOR 7,0
10760 PRINT "To REPRINT This label/s     1";
10770 LOCATE 21,13
10780 COLOR 7,0
10790 PRINT "TO print DIFFERENT label/s  2";
10800 LOCATE 22,13
10810 COLOR 7,0
10820 PRINT "To CONTROL Menu             3";
10830 GOSUB 2870
10840 GOSUB 14860
10850 GOSUB 3070
10860 NL! = 1
10870 ON VAL(IN$) GOTO 10570,8890,2620
10880 REM =====  ALL LINES EXPANDED/EMPHASIZED PRINT  =====
10890 LPRINT CHR$(27) + "@";
10900 LPRINT CHR$(27) + "E";
10910 FOR N! = LB! TO LE!
10920   FOR M! = 1 TO NL!
10930     LPRINT CHR$(14);A$(N!)
10940     LPRINT CHR$(14);B$(N!)
10950     LPRINT CHR$(14);C$(N!)
10960     LPRINT " " 'CHR$(14);D$(N!)
10970     LPRINT " " 'CHR$(14);E$(N!)
10980     LPRINT " " 'CHR$(14);F$(N!)
10990   NEXT
11000 NEXT
11010 LPRINT CHR$(27) + "@";
11020 GOSUB 2220
11030 GOSUB 2420
11040 LOCATE 20,13
11050 COLOR 7,0
11060 PRINT "To REPRINT this label/s     1";
11070 LOCATE 21,13
11080 COLOR 7,0
11090 PRINT "To print DIFFERENT label/s  2";
11100 LOCATE 22,13
11110 COLOR 7,0
11120 PRINT "To CONTROL Menu             3";
11130 GOSUB 2870
11140 GOSUB 14860
11150 GOSUB 3070
11160 NL! = 1
11170 ON VAL(IN$) GOTO 10890,8890,2620
11180 REM =====  ALL LINES ITACICS/EMPHASIZED  =====
11190 LPRINT CHR$(27) + "@";
11200 LPRINT CHR$(27); CHR$(69);
11210 LPRINT CHR$(27) + CHR$(52);
11220 FOR M! = 1 TO NL!
11230   FOR N! = LB! TO LE!
11240     LPRINT A$(N!)
11250     LPRINT B$(N!)
11260     LPRINT C$(N!)
11270     LPRINT " " 'D$(N!)
11280     LPRINT " " 'E$(N!)
11290     LPRINT " " 'F$(N!)
11300   NEXT
11310 NEXT
11320 LPRINT CHR$(27) + "@";
11330 GOSUB 2220
11340 GOSUB 2420
11350 LOCATE 20,13
11360 COLOR 7,0
11370 PRINT "To REPRINT this label/s     1";
11380 LOCATE 21,13
11390 COLOR 7,0
11400 PRINT "To print DIFFERENT label/s  2";
11410 LOCATE 22,13
11420 COLOR 7,0
11430 PRINT "To CONTROL Menu             3";
11440 GOSUB 2870
11450 GOSUB 14860
11460 GOSUB 3070
11470 NL! = 1
11480 ON VAL(IN$) GOTO 11190,8890,2620
11490 REM =====  10 PITCH (PICA) PRINT =====
11500 LPRINT CHR$(27); CHR$(64);
11510 LPRINT CHR$(27); CHR$(69);
11520 LPRINT CHR$(27) + CHR$(66) + CHR$(1);
11530 FOR M! = 1 TO NL!
11540   FOR N! = LB! TO LE!
11550     LPRINT A$(N!)
11560     LPRINT B$(N!)
11570     LPRINT C$(N!)
11580     LPRINT " " 'D$(N!)
11590     LPRINT " " 'E$(N!)
11600     LPRINT " " 'F$(N!)
11610   NEXT
11620 NEXT
11630 LPRINT CHR$(27) + "@";
11640 GOSUB 2220
11650 GOSUB 2420
11660 LOCATE 20,13
11670 COLOR 7,0
11680 PRINT "To REPRINT this label/s     1";
11690 LOCATE 21,13
11700 COLOR 7,0
11710 PRINT "To print DIFFERENT label/s  2";
11720 LOCATE 22,13
11730 COLOR 7,0
11740 PRINT "To CONTROL Menu             3";
11750 GOSUB 2870
11760 GOSUB 14860
11770 GOSUB 3070
11780 NL! = 1
11790 ON VAL(IN$) GOTO 11500,8890,2620
11800 REM =====  ALL LINES CONDENSED =====
11810 LPRINT CHR$(27); CHR$(64);
11820 FOR M! = 1 TO NL!
11830   FOR N! = LB! TO LE!
11840     LPRINT CHR$(15);A$(N!)
11850     LPRINT B$(N!)
11860     LPRINT C$(N!)
11870     LPRINT " " 'D$(N!)
11880     LPRINT " " 'E$(N!)
11885     LPRINT " " 'F$(N!)
11890     LPRINT CHR$(27) + "@"
11900   NEXT
11910 NEXT
11920 LPRINT CHR$(27) + "@";
11930 GOSUB 2220
11940 GOSUB 2420
11950 LOCATE 20,13
11960 COLOR 7,0
11970 PRINT "To REPRINT this label/s     1";
11980 LOCATE 21,13
11990 COLOR 7,0
12000 PRINT "To print DIFFERENT label/s  2";
12010 LOCATE 22,13
12020 COLOR 7,0
12030 PRINT "To CONTROL Menu             3";
12040 GOSUB 2870
12050 GOSUB 14860
12060 GOSUB 3070
12070 NL! = 1
12080 ON VAL(IN$) GOTO 11810,8890,2620
12090 REM =====  PRINT OUT FIRST LINE OF EACH RECORD  =====
12100 CLS:LOCATE 5,30:PRINT"EXTRACT FROM:  ";FILESPEC$;
12110 LPRINT
12120 LPRINT
12130 PN! = 0
12140 PN! = 5
12150 CLS
12160 PRINT
12170 LOCATE 7,10:PRINT"SALES SUMMARY REPORT ";FILESPEC$;"  AS OF ";DATE$;
12180   PRINT:LPRINT CHR$(15);:WIDTH "LPT1:",132
12190   PRINT:LPRINT TAB( 45)"SALES SUMMARY REPORT ";FILESPEC$;"  AS OF   ";DATE$
12195 LPRINT:LPRINT TAB(10)"Name                Order Data                         Pay Data                            Comments":LPRINT
12200   FOR I! = 1 TO P!
12210   PRINT TAB( 10);I!;A$(I!)
12222   LPRINT TAB(5)LEFT$(A$(I!),20);TAB(30)LEFT$(D$(I!),30);TAB(65)LEFT$(E$(I!),25);TAB(100)LEFT$(F$(I!),20)
12230   PN! = PN! + 1
12240   IF PN! = 55 THEN LPRINT CHR$(140) : LPRINT STRING$(10,5) : PN! = 5
12250 NEXT
12260 GOSUB 14860
12270 END
12280 REM =====  FINAL SCREEN DISPLAY =====
12290 GOSUB 2220
12300 GOSUB 2510
12310 GOSUB 14860
12320 LOCATE 8,23
12330 COLOR 7,0
12340 PRINT "Print first LINE & Summary     1";
12350 LOCATE 9,33
12360 PRINT "";
12370 LOCATE 11,23
12380 PRINT "Return to CONTROL Menu         2";
12390 LOCATE 13,23
12400 PRINT "Thanks!  Bye!       To QUIT -  3";
12410 GOSUB 3080
12420 ON VAL(IN$) GOTO 12090,2620,12430
12430 CLS
12440 END
12450 REM =====  ERROR TRAP ROUTINE =====
12460 GOSUB 2820
12470 KEY ON
12480 KEY OFF
12490 LOCATE 25,28,0
12500 COLOR 24,4
12510 PRINT " ERROR ";
12520 COLOR 7,0
12530 PRINT " #"; ERR ;" IN LINE #"; ERL ;
12540 FOR T! = 1 TO 1000
12550 NEXT
12560 IF ERR = 53 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12600;
12570 LOCATE 20,10
12580 PRINT "File not found   ";
12590 PRINT " ** Load CORRECT Disk";
12600 IF ERR = 54 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12640;
12610 LOCATE 20,10
12620 PRINT "Bad file mode    ";
12630 PRINT " ** Correct File Mode";
12640 IF ERR = 55 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12680;
12650 LOCATE 20,10
12660 PRINT "File already OPEN ";
12670 PRINT " ** CLOSE and REOPEN";
12680 IF ERR = 61 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12720;
12690 LOCATE 20,10
12700 PRINT "Disk FULL         ";
12710 PRINT " ** Install New Disk";
12720 IF ERR = 70 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12760;
12730 LOCATE 20,10
12740 PRINT "Disk WRITE PROTECT  ";
12750 PRINT " ** Remove W/P Tab";
12760 IF ERR = 71 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12800;
12770 LOCATE 20,10
12780 PRINT "Disk NOT READY    ";
12790 PRINT " ** CLOSE Drive Door";
12800 IF ERR = 24 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12840;
12810 LOCATE 20,10
12820 PRINT "Printer OFF-LINE ";
12830 PRINT "  ** Set ON-LINE Mode";
12840 IF ERR = 25 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12880;
12850 LOCATE 20,10
12860 PRINT "Printer not ON    ";
12870 PRINT " ** Check Printer ON";
12880 IF ERR = 27 THEN LOCATE 20,10 : PRINT SPC( 30), ELSE 12970;
12890 LOCATE 20,10
12900 PRINT "OUT OF PAPER!     ";
12910 PRINT " ** Check Paper Path";
12920 LOCATE 22,20
12930 GOSUB 2780
12940 GOSUB 2820
12950 GOSUB 1550
12960 RETURN
12970 GOSUB 12920
12980 LOCATE 22,10,0
12990 PRINT "Correct SYSTEM ERROR -  ENTER";
13000 LOCATE 22,10,0
13010 GOSUB 3440
13020 KEY ON
13030 KEY OFF
13040 COLOR 7,0
13050 RESUME 2620
13060 REM =====  ADD TO LOADED FILE =====
13070 GOSUB 2220
13080 GOSUB 2510
13090 GOSUB 1550
13100 GOSUB 7040
13110 GOSUB 7220
13120 NP! = 0
13130 NP! = P!
13140 P! = 200
13150 GOSUB 2820
13160 COLOR 7,0
13170 LOCATE 21,30
13180 PRINT "MAKE DATA ENTRIES ";
13190 LOCATE 17,26
13200 PRINT "Do not use QUOTATION MARKS when entering data!";
13210 COLOR 7,0
13220 IF NP! = 0 THEN NP! = 1 : COLOR 6,0
13230 FOR I! = NP! TO P!
13240   GOSUB 7220
13250   COLOR 7,0
13260   GOSUB 2780
13270   COLOR 7,0
13280   LOCATE 21,52,0
13290   PRINT "RECORD #: ";
13300   LOCATE 21,60,0
13310   PRINT I!;
13320   LOCATE 4,30,1,0,7
13330   FINLEN% = 41
13340   GOSUB 3570
13350   A$(I!) = FIN$
13360   LOCATE 4,30,1
13370   PRINT A$(I!);
13380   IF (A$(I!) = "END" OR A$(I!) = "end") THEN P! = I!
13390   IF (A$(I!) = "END" OR A$(I!) = "end") THEN 4760
13400   LOCATE 6,30,1
13410   FINLEN% = 41
13420   GOSUB 3570
13430   B$(I!) = FIN$
13440   LOCATE 6,30,0
13450   PRINT B$(I!);
13460   LOCATE 8,30,1
13470   FINLEN% = 41
13480   GOSUB 3570
13490   C$(I!) = FIN$
13500   LOCATE 8,30,0
13510   PRINT C$(I!);
13520   LOCATE 10,30,1
13530   FINLEN% = 41
13540   GOSUB 3570
13550   D$(I!) = FIN$
13560   LOCATE 10,30,0
13570   PRINT D$(I!);
13580   LOCATE 12,30,1
13590   FINLEN% = 41
13600   GOSUB 3570
13610   E$(I!) = FIN$
13620   LOCATE 12,30,0
13630   PRINT E$(I!);
13640   LOCATE 14,30,1
13650   FINLEN% = 41
13660   GOSUB 3570
13670   F$(I!) = FIN$
13680   LOCATE 14,30,0
13690   PRINT F$(I!);
13700   GOSUB 2420
13710   GOSUB 2820
13720   LOCATE 21,20
13730   COLOR 7,0
13740   PRINT "Is this correct  ";
13750   COLOR 7,0
13760   GOSUB 3370
13770   IF YN% = 1 THEN 13920
13780   IF YN% = 2 THEN 13790
13790   GOSUB 2420
13800   GOSUB 2780
13810   GOSUB 2820
13820   LOCATE 21,20
13830   COLOR 7,0
13840   PRINT "Re-enter what LINE? ";
13850   COLOR 7,0
13860   LOCATE 21,55
13870   PRINT " Line # ";
13880   GOSUB 3220
13890   LOCATE 21,64
13900   PRINT VAL(IN$);
13910   ON VAL(IN$) GOTO 14040,14080,14120,14160,14200,14240
13920   GOSUB 2420
13930   GOSUB 2820
13940   LOCATE 21,18
13950   COLOR 7,0
13960   PRINT "ENTER ";
13970   COLOR 7,0
13980   PRINT CHR$(34)"END" CHR$(34);
13990   COLOR 7,0
14000   PRINT " To CLOSE Entries ";
14010 NEXT
14020 NEXT RUN
14030 REM =====  ADDED FILES -  INDIVIDUAL LINE CORRECTION ROUTINE  =====
14040 COLOR 7,0
14050 LOCATE 4,28
14060 PRINT "  "; STRING$(41,254);
14070 GOTO 14280
14080 COLOR 7,0
14090 LOCATE 6,28
14100 PRINT "  "; STRING$(41,254);
14110 GOTO 14390
14120 COLOR 7,0
14130 LOCATE 8,28
14140 PRINT "  "; STRING$(41,254);
14150 GOTO 14480
14160 COLOR 7,0
14170 LOCATE 10,28
14180 PRINT "  "; STRING$(41,254);
14190 GOTO 14570
14200 COLOR 7,0
14210 LOCATE 12,28
14220 PRINT "  "; STRING$(41,254);
14230 GOTO 14660
14240 COLOR 7,0
14250 LOCATE 14,28
14260 PRINT "  "; STRING$(41,254);
14270 GOTO 14750
14280 LOCATE 4,30,1
14290 COLOR 7,0
14300 FINLEN% = 41
14310 GOSUB 3570
14320 A$(I!) = FIN$
14330 LOCATE 4,30,0
14340 PRINT A$(I!);
14350 COLOR 7,0
14360 GOTO 13700
14370 IF (A$(I!) = "END" OR A$(I!) = "end") THEN P! = I!
14380 IF (A$(I!) = "END" OR A$(I!) = "end") THEN 4760
14390 LOCATE 6,30,1
14400 COLOR 7,0
14410 FINLEN% = 41
14420 GOSUB 3570
14430 B$(I!) = FIN$
14440 LOCATE 6,30,0
14450 PRINT B$(I!);
14460 COLOR 7,0
14470 GOTO 13700
14480 LOCATE 8,30,1
14490 COLOR 7,0
14500 FINLEN% = 41
14510 GOSUB 3570
14520 C$(I!) = FIN$
14530 LOCATE 8,30,0
14540 PRINT C$(I!);
14550 COLOR 7,0
14560 GOTO 13700
14570 LOCATE 10,30,1
14580 COLOR 7,0
14590 FINLEN% = 41
14600 GOSUB 3570
14610 D$(I!) = FIN$
14620 LOCATE 10,30,0
14630 PRINT D$(I!);
14640 COLOR 7,0
14650 GOTO 13700
14660 LOCATE 12,30,1
14670 COLOR 7,0
14680 FINLEN% = 41
14690 GOSUB 3570
14700 E$(I!) = FIN$
14710 LOCATE 12,30,0
14720 PRINT E$(I!);
14730 COLOR 7,0
14740 GOTO 13700
14750 LOCATE 14,30,1
14760 COLOR 7,0
14770 FINLEN% = 41
14780 GOSUB 3570
14790 F$(I!) = FIN$
14800 LOCATE 14,30,0
14810 PRINT F$(I!);
14820 COLOR 7,0
14830 GOTO 13700
14840 CLS
14850 END
14860 REM =====  ELAPSED TIME PRINTOUT SUBROUTINE =====
14870 N$ = TIME$
14880 DEF FN H(H$) = VAL( LEFT$(H$,2))
14890 DEF FN M(M$) = VAL( MID$(M$,4,2))
14900 DEF FN S(S$) = VAL( RIGHT$(S$,2))
14910 TMH! = ( FN H(N$)) - FN H(BB$)
14920 TMM! = ( FN M(N$) - FN M(BB$))
14930 TMS! = ( FN S(N$) - FN S(BB$))
14940 KEY ON
14950 KEY OFF
14960 LOCATE 25,3
14970 PRINT "Start Time ";BB$;
14980 LOCATE 25,30
14990 PRINT "End Time ";N$;
15000 LOCATE 25,55
15010 PRINT "Elapsed Time ";TMH!;":"; ABS(TMM!);":"; ABS(TMS!);
15020 RETURN
15030 END
15040 GOSUB 2220
15050 LOCATE 10,30,0
15060 PRINT "Are Records in the File?";
15070 GOTO 2620
15080 REM =====  DISK DIRECTORY REVIEW ROUTINE =====
15090 GOSUB 2320
15100 GOSUB 2510
15110 GOSUB 1550
15120 GOSUB 2780
15130 LOCATE 21,20,0
15140 PRINT "What Drive (A,B,C,D)";
15150 KEY OFF
15160 GOSUB 2870
15170 GOSUB 3490
15180 LOCATE 21,65,0
15190 PRINT IN$;
15200 ON PD% GOTO 15210,15280,15350,15420
15210 LOCATE 3,1
15220 FILES "A:*.*"
15230 COLOR 0,7
15240 LOCATE 2,32
15250 PRINT " Drive A: ";
15260 COLOR 7,0
15270 GOTO 15480
15280 LOCATE 3,1
15290 FILES "B:*.*"
15300 COLOR 0,7
15310 LOCATE 2,32
15320 PRINT " Drive B: ";
15330 COLOR 7,0
15340 GOTO 15480
15350 LOCATE 3,1
15360 FILES "C:*.*"
15370 COLOR 0,7
15380 LOCATE 2,32
15390 PRINT " Drive C: ";
15400 COLOR 7,0
15410 GOTO 15480
15420 LOCATE 3,1
15430 FILES "D:*.*"
15440 COLOR 0,7
15450 LOCATE 2,32
15460 PRINT " Drive D: ";
15470 COLOR 7,0
15480 GOSUB 2510
15490 COLOR 7,0
15500 LOCATE 20,24
15510 PRINT "Another Directory?      ";
15520 LOCATE 22,24
15530 COLOR 7,0
15540 PRINT "Return to CONTROL Menu? ";
15550 COLOR 7,0
15560 GOSUB 3020
15570 ON VAL(IN$) GOTO 15580,15590
15580 GOTO 15080
15590 GOSUB 2320
15600 GOTO 2620
15610 REM =====  CONTROL MENU DISPLAY ROUTINE =====
15620 GOSUB 2510
15630 GOSUB 2590
15640 LOCATE 20,9,0
15650 PRINT M1ST$;
15660 LOCATE 21,9
15670 PRINT M2ND$;
15680 LOCATE 22,9,0
15690 PRINT M3RD$;
15700 LOCATE 18,25
15710 PRINT "  Select and  a Letter  ";
15720 LOCATE 19,27
15730 PRINT STRING$(27,"~");
15740 IN$ = INKEY$
15750 IF IN$ = "" THEN 15740
15760 IF (IN$ = "A" OR IN$ = "a") THEN MS% = 1 : GOSUB 2590 : RETURN
15770 IF (IN$ = "C" OR IN$ = "c") THEN MS% = 2 : GOSUB 2590 : RETURN
15780 IF (IN$ = "D" OR IN$ = "d") THEN MS% = 3 : GOSUB 2590 : RETURN
15790 IF (IN$ = "E" OR IN$ = "e") THEN MS% = 4 : GOSUB 2590 : RETURN
15800 IF (IN$ = "L" OR IN$ = "l") THEN MS% = 5 : GOSUB 2590 : RETURN
15810 IF (IN$ = "P" OR IN$ = "p") THEN MS% = 6 : GOSUB 2590 : RETURN
15820 IF (IN$ = "Q" OR IN$ = "q") THEN MS% = 7 : GOSUB 2590 : RETURN
15830 IF (IN$ = "R" OR IN$ = "r") THEN MS% = 8 : GOSUB 2590 : RETURN
15840 IF (IN$ = "S" OR IN$ = "s") THEN MS% = 9 : GOSUB 2590 : RETURN
15850 SOUND 100,4
15860 GOTO 15740
15870 END
65000 REM =====  FINAL PROGRAM SAVE ROUTINE  =====
65100 SAVE "B:BLUEBERY.BAS"