home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PRINT / LABEL.ZIP / LABEL.BAS < prev    next >
BASIC Source File  |  1993-12-28  |  78KB  |  2,082 lines

  1. DECLARE SUB RightFlush (Text$, row%)
  2. DECLARE SUB ErrorMessage (Text$)
  3. DECLARE SUB BlackSquare ()
  4. DECLARE SUB HelpMenu ()
  5. DECLARE SUB SortMessage ()
  6. DECLARE SUB Menu (Box() AS ANY, DOSName AS ANY, ScreenINFO AS ANY)
  7. DECLARE SUB HelpEditOld ()
  8. DECLARE SUB HelpPrint ()
  9. DECLARE SUB Decode (File$, PrintLabels%)
  10. DECLARE SUB EnterLabelData (Box() AS ANY, DOSName AS ANY, File$)
  11. DECLARE SUB HelpInfo ()
  12. DECLARE SUB GetColor (Box() AS ANY, cell%, element%)
  13. DECLARE SUB GetNewColor (Box() AS ANY, cell%, element%)
  14. DECLARE SUB NEWCursor (cell%, element%, Box() AS ANY)
  15. DECLARE SUB OLDCursor (cell%, element%, Box() AS ANY)
  16. DECLARE SUB HighLight ()
  17. DECLARE SUB NormalVideo ()
  18. DECLARE SUB Center (Text$, row%)
  19.  
  20. DEFINT A-Z
  21.  
  22. ON ERROR GOTO ErrorHandler:
  23.  
  24. TYPE ScreenType
  25.      row AS INTEGER
  26.      col AS INTEGER
  27. END TYPE
  28.  
  29. DIM ScreenINFO AS ScreenType
  30.  
  31. ScreenINFO.row = CSRLIN
  32. ScreenINFO.col = POS(0)
  33.  
  34. '$INCLUDE: 'colors.bi'
  35. '$INCLUDE: 'const.bi'
  36. '$INCLUDE: 'errors.bi'
  37.  
  38. TYPE Boxes
  39.         Char AS STRING * 1
  40.         NewData AS INTEGER
  41. END TYPE
  42.  
  43. DIM Box(4, 60) AS Boxes
  44.  
  45. TYPE NameType
  46.      FileName AS STRING * 8
  47.      Extension AS STRING * 3
  48.      ReStart AS INTEGER
  49.      ErrorFile AS STRING * 12
  50. END TYPE
  51.  
  52. DIM DOSName AS NameType
  53.  
  54. ReStartMenu:
  55.  
  56. DOSName.ReStart = True
  57. CALL Menu(Box(), DOSName, ScreenINFO)
  58.  
  59. IF DOSName.ReStart = True THEN GOTO ReStartMenu:
  60.  
  61. SCREEN 0, , 0, 0: LOCATE ScreenINFO.row, ScreenINFO.col
  62.  
  63. END
  64.  
  65.  
  66.  
  67. ErrorHandler:
  68.  
  69.      ErrorNumber = ERR
  70.      SELECT CASE ErrorNumber
  71.           CASE DeviceTimeOut
  72.                Text$ = "PRINTER: NOT ONLINE"
  73.                ErrorMessage Text$
  74.           CASE DeviceFault
  75.                Text$ = "PRINTER: DEVICE FAULT"
  76.                ErrorMessage Text$
  77.           CASE OutOfPaper
  78.                Text$ = "PRINTER: OUT OF PAPER(LABELS)"
  79.                ErrorMessage Text$
  80.           CASE BadFileName
  81.                Text$ = "BAD FILE NAME: " + DOSName.ErrorFile
  82.                ErrorMessage Text$
  83.           CASE DiskFull
  84.                Text$ = "DISK FULL - NO SPACE TO STORE DATA"
  85.                ErrorMessage Text$
  86.           CASE DiskNotReady
  87.                Text$ = "DISK NOT READY"
  88.                ErrorMessage Text$
  89.           CASE DiskMediaError
  90.                Text$ = "DISK MEDIA ERROR"
  91.                ErrorMessage Text$
  92.           CASE ELSE
  93.                Text$ = "QuickBASIC Error Number " + STR$(ErrorNumber) + " occurred"
  94.                ErrorMessage Text$
  95.      END SELECT
  96.  
  97.      RESUME ReStartMenu:
  98.  
  99.  
  100. SUB BlackSquare
  101.  
  102. COLOR WHITE, BLACK
  103. PRINT "  ";
  104. COLOR RED, WHITE
  105.  
  106. END SUB
  107.  
  108. SUB Center (Text$, row)
  109.  
  110. col = 40 - (LEN(Text$) \ 2): LOCATE row, col: PRINT Text$;
  111.  
  112. END SUB
  113.  
  114. SUB Decode (File$, PrintLabels)
  115.  
  116. row = 2: TC$ = ""
  117. FOR col = 1 TO 14
  118.      TC$ = TC$ + CHR$(SCREEN(row, col))
  119. NEXT col
  120. IF TC$ = "File not found" THEN
  121.      TC$ = ""
  122.      File$ = ""
  123.      EXIT SUB
  124. ELSE
  125.       TC$ = ""
  126. END IF
  127.  
  128. DecodeRestart:
  129.  
  130. File$ = "ƒ.DAT": COLOR BLACK, GREEN
  131.  
  132. OPEN File$ FOR INPUT AS #1
  133.      FOR I = 1 TO 4
  134.           LINE INPUT #1, a$
  135.      NEXT I
  136.      DO
  137.           LINE INPUT #1, a$
  138.           IF INSTR(a$, "ƒ") > 0 THEN
  139.                X = X + 1
  140.           END IF
  141.      LOOP UNTIL EOF(1)
  142. CLOSE #1
  143. REDIM Stuff$(X): REDIM PrintStuff(X): I = 0
  144. FOR I = 1 TO X: PrintStuff(I) = False: NEXT I
  145. OPEN File$ FOR INPUT AS #1
  146.      FOR I = 1 TO 4
  147.           LINE INPUT #1, a$
  148.      NEXT I
  149.      I = 0
  150.      DO
  151.           LINE INPUT #1, a$
  152.           IF INSTR(a$, "ƒ") > 0 THEN
  153.                I = I + 1
  154.                DO
  155.                     CH = CH + 1
  156.                     CH$ = MID$(a$, CH, 1)
  157.                     IF CH$ = "ƒ" THEN EXIT DO
  158.                     TC$ = TC$ + CH$
  159.                LOOP
  160.                Stuff$(I) = TC$: CH = 0: TC$ = "": CH$ = ""
  161.           END IF
  162.         
  163.      LOOP UNTIL EOF(1)
  164. CLOSE #1
  165.  
  166. PRINT
  167.  
  168.  
  169. 'Bubble Sort ================================================================
  170. Limit = I: NumOfFiles$ = "# of File(s):" + STR$(Limit)
  171. COLOR WHITE, RED: VIEW PRINT: CALL RightFlush(NumOfFiles$, 25): VIEW PRINT 2 TO 24: COLOR RED, GREEN
  172.  
  173. DO
  174.      Switch = False
  175.      FOR J = 1 TO (Limit - 1)
  176.           IF Stuff$(J) > Stuff$(J + 1) THEN
  177.                SWAP Stuff$(J), Stuff$(J + 1)
  178.                Switch = J
  179.           END IF
  180.      NEXT J
  181.      Limit = Switch
  182. LOOP WHILE Switch
  183. '============================================================================
  184.  
  185. IF I > 22 THEN
  186.      JFirst = I - 22
  187. ELSE
  188.      JFirst = 1
  189. END IF
  190. HOT = I
  191. CLS 2
  192.  
  193. DecodeHOT:
  194. JLast = JFirst + 22: row = 1
  195. FOR J = JFirst TO JLast
  196.      IF J <= I THEN
  197.           row = row + 1
  198.           IF PrintLabels = True THEN
  199.                IF J = HOT THEN
  200.                     COLOR MAGENTA + BRIGHT + BLINK, GREEN
  201.                     LOCATE row, 33: PRINT "»";
  202.                     LOCATE row, 47: PRINT "«";
  203.                     HOTrow = row
  204.                     IF PrintStuff(J) = True THEN
  205.                          COLOR BROWN + BRIGHT, MAGENTA
  206.                     ELSE
  207.                          COLOR BROWN + BRIGHT, GREEN
  208.                     END IF
  209.                ELSE
  210.                     COLOR GREEN, GREEN
  211.                     LOCATE row, 33: PRINT " ";
  212.                     LOCATE row, 47: PRINT " ";
  213.                     IF PrintStuff(J) = False THEN
  214.                          COLOR BROWN, GREEN
  215.                     ELSE
  216.                          COLOR MAGENTA + BRIGHT, MAGENTA
  217.                     END IF
  218.                END IF
  219.                Center Stuff$(J), row
  220.           ELSE
  221.                IF J = HOT THEN
  222.                     COLOR BROWN + BRIGHT, MAGENTA
  223.                ELSE
  224.                     COLOR BROWN, GREEN
  225.                END IF
  226.                Center Stuff$(J), row
  227.           END IF
  228.      END IF
  229. NEXT J
  230.  
  231. DecodeLOOP:
  232. DO
  233.      Choice$ = INKEY$
  234. LOOP WHILE Choice$ = ""
  235. IF LEN(Choice$) = 1 THEN
  236.      SELECT CASE ASC(UCASE$(Choice$))
  237.           CASE ENTER
  238.                IF PrintLabels = False THEN
  239.                     File$ = RTRIM$(LEFT$(Stuff$(HOT), 8)) + "." + RIGHT$(Stuff$(HOT), 2) + "ƒ"
  240.                     EXIT SUB
  241.                ELSE
  242.                     GOTO DecodeLOOP:
  243.                END IF
  244.           CASE SPACE
  245.                IF PrintLabels = True THEN
  246.                     IF PrintStuff(HOT) = True THEN
  247.                          PrintStuff(HOT) = False
  248.                          GOTO DecodeHOT:
  249.                     ELSE
  250.                          PrintStuff(HOT) = True
  251.                          GOTO DecodeHOT:
  252.                     END IF
  253.                ELSE
  254.                     GOTO DecodeLOOP:
  255.                END IF
  256.           CASE S
  257.                IF PrintLabels = True THEN
  258.                     FOR LAB = 1 TO I
  259.                          PrintStuff(LAB) = True
  260.                     NEXT LAB
  261.                     GOTO DecodeHOT:
  262.                ELSE
  263.                     GOTO DecodeLOOP:
  264.                END IF
  265.           CASE D
  266.                IF PrintLabels = True THEN
  267.                     FOR LAB = 1 TO I
  268.                          PrintStuff(LAB) = False
  269.                     NEXT LAB
  270.                     GOTO DecodeHOT:
  271.                ELSE
  272.                     GOTO DecodeLOOP:
  273.                END IF
  274.           CASE ESC
  275.                File$ = ""
  276.                EXIT SUB
  277.           CASE ELSE
  278.                GOTO DecodeLOOP:
  279.      END SELECT
  280. ELSEIF LEN(Choice$) = 2 THEN
  281.      SELECT CASE ASC(RIGHT$(Choice$, 1))
  282.           CASE UP
  283.                IF HOT <= I AND HOT > 1 THEN
  284.                     HOT = HOT - 1
  285.                     IF HOT < JFirst THEN
  286.                          JFirst = JFirst - 1
  287.                     END IF
  288.                END IF
  289.                GOTO DecodeHOT:
  290.           CASE PGUP
  291.                IF HOT - 10 > 1 THEN
  292.                     HOT = HOT - 10
  293.                     IF HOT < JFirst THEN
  294.                          JFirst = JFirst - 10
  295.                     END IF
  296.                     GOTO DecodeHOT:
  297.                ELSE
  298.                     GOTO HOMELoc:
  299.                END IF
  300.           CASE DOWN
  301.                IF HOT < I AND HOT >= 1 THEN
  302.                     HOT = HOT + 1
  303.                     IF HOT > JLast THEN
  304.                          JFirst = JFirst + 1
  305.                     END IF
  306.                END IF
  307.                GOTO DecodeHOT:
  308.           CASE PGDOWN
  309.                IF HOT + 10 < I THEN
  310.                     HOT = HOT + 10
  311.                     IF HOT > JLast THEN
  312.                          JFirst = JFirst + 10
  313.                     END IF
  314.                     GOTO DecodeHOT:
  315.                ELSE
  316.                     GOTO ENDKeyLoc:   
  317.                END IF
  318.           CASE HOME
  319. HOMELoc:
  320.                HOT = 1: JFirst = 1
  321.                GOTO DecodeHOT:
  322.           CASE ENDKEY
  323. ENDKeyLoc:                
  324.                HOT = I:
  325.                IF I > 22 THEN
  326.                     JFirst = I - 22
  327.                ELSE
  328.                     JFirst = 1
  329.                END IF
  330.                GOTO DecodeHOT:
  331.           CASE DEL
  332.                IF PrintLabels = False THEN
  333.                     PCOPY 1, 2
  334.                     SCREEN 0, , 2, 1
  335.                     
  336.                     File$ = RTRIM$(LEFT$(Stuff$(HOT), 8)) + "." + RIGHT$(Stuff$(HOT), 2)
  337.                     COLOR RED, WHITE
  338.                     Center "╔═══════════════════════════════════════════════════╗", 10
  339.                     COLOR BROWN + BRIGHT + BLINK, WHITE: Center " Delete Address File ", 10
  340.                     COLOR RED, WHITE
  341.                     Center "║                                                   ║", 11: BlackSquare
  342.                     Center "║                                                   ║", 12: BlackSquare
  343.                     Center "║                                                   ║", 13: BlackSquare
  344.                     Center "╚═══════════════════════════════════════════════════╝", 14: BlackSquare
  345.                     COLOR BLACK, WHITE
  346.                     Center "Delete " + CHR$(34) + File$ + CHR$(34) + " ? (Y/N) (ESC)", 12
  347.                     Center " Press ESC to exit ", 14
  348.                    
  349.                     Blinking = False
  350.  
  351.                     Name$ = "": a$ = ""
  352.                     FOR col = 35 TO 45
  353.                          a$ = CHR$(SCREEN(15, col))
  354.                          Name$ = Name$ + a$
  355.                     NEXT col
  356.  
  357.                     IF SCREEN(16, 35) = 175 THEN
  358.                          Blinking = True
  359.                     END IF
  360.  
  361.                     COLOR WHITE, BLACK
  362.  
  363.                     LOCATE 15, 16
  364.                     PRINT STRING$(53, " ");
  365.  
  366.                     IF Blinking = True THEN
  367.                          COLOR BLACK + BRIGHT + BLINK, BLACK
  368.                          LOCATE 15, 33: PRINT "»"; : LOCATE 15, 47: PRINT "«";
  369.                     END IF
  370.                    
  371.                     COLOR BLACK + BRIGHT, BLACK
  372.                     LOCATE 15, 35: PRINT Name$;
  373.                    
  374.                     SCREEN 0, , 2, 2
  375.                     DO: Choice$ = INKEY$: LOOP WHILE Choice$ = ""
  376.                     SCREEN 0, , 1, 1
  377.                    
  378.                     SELECT CASE ASC(UCASE$(Choice$))
  379.                          CASE Y
  380.                               File$ = File$ + "ƒ"
  381.                               KILL File$
  382.                              
  383.                               VIEW PRINT 2 TO 24: COLOR RED, GREEN
  384.                               CALL SortMessage
  385.                               SHELL "DIR *.??ƒ > ƒ.DAT"
  386.                              
  387.                               row = 2: TC$ = ""
  388.                               FOR col = 1 TO 14
  389.                                    TC$ = TC$ + CHR$(SCREEN(row, col))
  390.                               NEXT col
  391.                               IF TC$ = "File not found" THEN
  392.                                    TC$ = ""
  393.                                    File$ = ""
  394.                                    EXIT SUB
  395.                               ELSE
  396.                                    TC$ = ""
  397.                               END IF
  398.  
  399.                               GOTO DecodeRestart:
  400.                          CASE ELSE
  401.                               
  402.                               GOTO DecodeHOT:
  403.                     END SELECT
  404.                ELSE
  405.                     GOTO DecodeLOOP:
  406.                END IF
  407.                
  408.  
  409.           CASE F7
  410.               
  411.                PrintContinue = False
  412.               
  413.                IF PrintLabels = False THEN
  414.                     GOTO DecodeLOOP:
  415.                END IF
  416.               
  417.                FOR P = 1 TO X
  418.                     IF PrintStuff(P) = True THEN
  419.                          PrintContinue = True
  420.                          EXIT FOR
  421.                     END IF
  422.                NEXT P
  423.  
  424.                IF PrintContinue = False THEN
  425.                     PCOPY 1, 2
  426.                     SCREEN 0, , 2, 1
  427.                     COLOR RED, WHITE
  428.                     Center "╔═════════════════════════════════════════════════════════════════╗", 11
  429.                     Center "║                                                                 ║", 12: BlackSquare
  430.                     Center "╚═════════════════════════════════════════════════════════════════╝", 13: BlackSquare
  431.                     Center " Press a key to exit ", 13
  432.                     COLOR BLACK, WHITE
  433.                     Center "Use SPACEBAR or S to select address(es) / D to DE-SELECT", 12
  434.                     COLOR WHITE, BLACK
  435.                     LOCATE 14, 9
  436.                     PRINT STRING$(67, " ");
  437.                     SCREEN 0, , 2, 2
  438.                     DO: LOOP WHILE INKEY$ = ""
  439.                     SCREEN 0, , 1, 1
  440.                     GOTO DecodeHOT:
  441.                END IF
  442.  
  443.                PCOPY 1, 2: PCOPY 1, 3: PCOPY 1, 4
  444.  
  445.                '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  446.                SCREEN 0, , 4, 1
  447.  
  448.                REDIM Selection$(4)
  449.                Selection$(1) = "_"
  450.                Selection$(2) = "_"
  451.                Selection$(3) = "_"
  452.                Selection$(4) = "_"
  453.               
  454.                IF PrintStyle = 0 THEN PrintStyle = 1
  455.                Selection$(PrintStyle) = "X"
  456.               
  457.                COLOR RED, WHITE
  458.                Center "╔═════════════════════════════════════════════════════════════════╗", 11
  459.                Center "║                                                                 ║", 12: BlackSquare
  460.                Center "╚═════════════════════════════════════════════════════════════════╝", 13: BlackSquare
  461.                Center " Select Print Style ", 11
  462.                Center " Press ENTER to continue / ESC to Exit ", 13
  463.                COLOR BLACK, WHITE
  464.                Center "Normal [_]   Shadow [_]   Outline [_]   Outline with Shadow [_]", 12
  465.                COLOR WHITE, BLACK
  466.                LOCATE 14, 9
  467.                PRINT STRING$(67, " ");
  468.  
  469.                IF Blinking = True THEN
  470.                     COLOR BLACK + BRIGHT + BLINK, BLACK
  471.                     LOCATE 14, 33: PRINT "»"; : LOCATE 14, 47: PRINT "«";
  472.                END IF
  473.  
  474.                COLOR BLACK + BRIGHT, BLACK
  475.                LOCATE 14, 35: PRINT Name$;
  476.                COLOR BLACK, WHITE
  477.               
  478.                element = PrintStyle
  479.                SELECT CASE element
  480.                     CASE 1
  481.                          LOCATE 12, 17
  482.                     CASE 2
  483.                          LOCATE 12, 30
  484.                     CASE 3
  485.                          LOCATE 12, 44
  486.                     CASE 4
  487.                          LOCATE 12, 70
  488.                END SELECT
  489.                PRINT Selection$(element);
  490.  
  491.                SCREEN 0, , 4, 4
  492. PrintTypeLOOP:
  493.                DO: Choice$ = INKEY$: LOOP WHILE Choice$ = ""
  494.                IF LEN(Choice$) = 1 THEN
  495.                     SELECT CASE ASC(Choice$)
  496.                          CASE ESC
  497.                               SCREEN 0, , 1, 1
  498.                               GOTO DecodeHOT:
  499.                          CASE ENTER
  500.                               FOR element = 1 TO 4
  501.                                    IF Selection$(element) = "X" THEN PrintStyle = element
  502.                               NEXT element
  503.                          CASE ELSE
  504.                               COLOR BLACK, WHITE
  505.                               SELECT CASE element
  506.                                    CASE 1
  507.                                         LOCATE 12, 17
  508.                                    CASE 2
  509.                                         LOCATE 12, 30
  510.                                    CASE 3
  511.                                         LOCATE 12, 44
  512.                                    CASE 4
  513.                                         LOCATE 12, 70
  514.                               END SELECT
  515.                               Selection$(element) = "_"
  516.                               PRINT Selection$(element);
  517.  
  518.                               element = element + 1
  519.                               IF element = 5 THEN element = 1
  520.                               Selection$(element) = "X"
  521.                               SELECT CASE element
  522.                                    CASE 1
  523.                                         LOCATE 12, 17
  524.                                    CASE 2
  525.                                         LOCATE 12, 30
  526.                                    CASE 3
  527.                                         LOCATE 12, 44
  528.                                    CASE 4
  529.                                         LOCATE 12, 70
  530.                               END SELECT
  531.                               PRINT Selection$(element);
  532.                               GOTO PrintTypeLOOP:
  533.                     END SELECT
  534.                ELSEIF LEN(Choice$) = 2 THEN
  535.                     SELECT CASE ASC(RIGHT$(Choice$, 1))
  536.                          CASE RIGHT
  537.                               COLOR BLACK, WHITE
  538.                               Selection$(element) = "_"
  539.                               SELECT CASE element
  540.                                    CASE 1
  541.                                         LOCATE 12, 17
  542.                                    CASE 2
  543.                                         LOCATE 12, 30
  544.                                    CASE 3
  545.                                         LOCATE 12, 44
  546.                                    CASE 4
  547.                                         LOCATE 12, 70
  548.                               END SELECT
  549.                               PRINT Selection$(element);
  550.                              
  551.                               element = element + 1
  552.                               IF element = 5 THEN element = 1
  553.                               SELECT CASE element
  554.                                    CASE 1
  555.                                         LOCATE 12, 17
  556.                                    CASE 2
  557.                                         LOCATE 12, 30
  558.                                    CASE 3
  559.                                         LOCATE 12, 44
  560.                                    CASE 4
  561.                                         LOCATE 12, 70
  562.                               END SELECT
  563.                               Selection$(element) = "X"
  564.                               PRINT Selection$(element);
  565.                               GOTO PrintTypeLOOP:
  566.  
  567.                          CASE LEFT, ShiftTAB
  568.                               COLOR BLACK, WHITE
  569.                               Selection$(element) = "_"
  570.                               SELECT CASE element
  571.                                    CASE 1
  572.                                         LOCATE 12, 17
  573.                                    CASE 2
  574.                                         LOCATE 12, 30
  575.                                    CASE 3
  576.                                         LOCATE 12, 44
  577.                                    CASE 4
  578.                                         LOCATE 12, 70
  579.                               END SELECT
  580.                               PRINT Selection$(element);
  581.  
  582.                               element = element - 1
  583.                               IF element = 0 THEN element = 4
  584.                               SELECT CASE element
  585.                                    CASE 1
  586.                                         LOCATE 12, 17
  587.                                    CASE 2
  588.                                         LOCATE 12, 30
  589.                                    CASE 3
  590.                                         LOCATE 12, 44
  591.                                    CASE 4
  592.                                         LOCATE 12, 70
  593.                               END SELECT
  594.                              
  595.                               Selection$(element) = "X"
  596.                               PRINT Selection$(element);
  597.                               GOTO PrintTypeLOOP:
  598.                          CASE ELSE
  599.                               GOTO PrintTypeLOOP:
  600.                     END SELECT
  601.                END IF
  602.  
  603.                '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  604.                SCREEN 0, , 2, 4
  605.              
  606.                REDIM Selection$(4)
  607.                Selection$(1) = "["
  608.                Selection$(2) = "_"
  609.                Selection$(3) = "1"
  610.                Selection$(4) = "]"
  611.                File$ = RTRIM$(LEFT$(Stuff$(HOT), 8)) + "." + RIGHT$(Stuff$(HOT), 2)
  612.                COLOR RED, WHITE
  613.                Center "╔═══════════════════════════════════════════════════════╗", 11
  614.                Center "║                                                       ║", 12: BlackSquare
  615.                Center "╚═══════════════════════════════════════════════════════╝", 13: BlackSquare
  616.                Center " Press ENTER to continue / ESC to exit ", 13
  617.                COLOR BLACK, WHITE
  618.                Center "Enter the number of times to print selection(s): [_1]", 12
  619.               
  620.                Blinking = False: Name$ = "": a$ = ""
  621.  
  622.                FOR col = 35 TO 45
  623.                     a$ = CHR$(SCREEN(14, col))
  624.                     Name$ = Name$ + a$
  625.                NEXT col
  626.  
  627.                IF SCREEN(14, 33) = 175 THEN
  628.                     Blinking = True
  629.                END IF
  630.               
  631.                COLOR WHITE, BLACK
  632.  
  633.                LOCATE 14, 14
  634.                PRINT STRING$(57, " ");
  635.  
  636.                IF Blinking = True THEN
  637.                     COLOR BLACK + BRIGHT + BLINK, BLACK
  638.                     LOCATE 14, 33: PRINT "»"; : LOCATE 14, 47: PRINT "«";
  639.                END IF
  640.  
  641.                COLOR BLACK + BRIGHT, BLACK
  642.                LOCATE 14, 35: PRINT Name$;
  643.               
  644.                SCREEN 0, , 2, 2
  645.                element = 2
  646.                LOCATE 12, 62 + element: COLOR BROWN + BRIGHT + BLINK, WHITE: PRINT Selection$(element);
  647. SelectionLOOP:             
  648.                DO: Choice$ = INKEY$: LOOP WHILE Choice$ = ""
  649.                IF LEN(Choice$) = 1 THEN
  650.                     SELECT CASE ASC(Choice$)
  651.                          CASE ESC
  652.                               SCREEN 0, , 1, 1
  653.                               GOTO DecodeHOT:
  654.                          CASE BACKSPACE
  655.                               COLOR BLACK
  656.                               LOCATE 12, 62 + element
  657.                               Selection$(element) = "_"
  658.                               PRINT Selection$(element);
  659.                               IF element = 2 THEN
  660.                                    element = 3
  661.                               ELSEIF element = 3 THEN
  662.                                    element = 2
  663.                               END IF
  664.                               COLOR BROWN + BRIGHT + BLINK
  665.                               LOCATE 12, 62 + element
  666.                               PRINT Selection$(element);
  667.                               GOTO SelectionLOOP:
  668.                          CASE 48 TO 57
  669.                               '0 to 9
  670.                               IF element = 2 THEN
  671.                                    COLOR BLACK
  672.                                    LOCATE 12, 62 + element
  673.                                    Selection$(element) = Choice$
  674.                                    PRINT Selection$(element);
  675.                                   
  676.                                    COLOR BROWN + BLINK + BRIGHT
  677.                                    element = 3
  678.                                    LOCATE 12, 62 + element
  679.                                    PRINT Selection$(element);
  680.                                   
  681.                                    GOTO SelectionLOOP:
  682.                               ELSEIF element = 3 THEN
  683.                                    COLOR BLACK
  684.                                    LOCATE 12, 62 + element
  685.                                    Selection$(element) = Choice$
  686.                                    PRINT Selection$(element);
  687.                                  
  688.                                    COLOR BROWN + BLINK + BRIGHT
  689.                                    element = 2
  690.                                    LOCATE 12, 62 + element
  691.                                    PRINT Selection$(element);
  692.                                  
  693.                                    GOTO SelectionLOOP:
  694.                               END IF
  695.  
  696.                          CASE ENTER
  697.                               num1$ = Selection$(2)
  698.                               num2$ = Selection$(3)
  699.                               IF num2$ = "_" THEN
  700.                                    num2$ = num1$
  701.                                    num1$ = "_"
  702.                               END IF
  703.                               IF num1$ = "_" THEN
  704.                                    num1$ = "0"
  705.                               ELSEIF num2$ = "_" THEN
  706.                                    num2$ = "0"
  707.                               END IF
  708.                               num$ = num1$ + num2$
  709.                               IF VAL(num$) = 0 THEN
  710.                                    GOTO SelectionLOOP:
  711.                               ELSE
  712.                                    Counter = VAL(num$)
  713.                               END IF
  714.                          CASE ELSE
  715.                               GOTO SelectionLOOP:
  716.                     END SELECT
  717.                ELSEIF LEN(Choice$) = 2 THEN
  718.                     SELECT CASE ASC(RIGHT$(Choice$, 1))
  719.                          CASE RIGHT, LEFT
  720.                               COLOR BLACK
  721.                               LOCATE 12, 62 + element
  722.                               PRINT Selection$(element);
  723.                               IF element = 2 THEN
  724.                                    element = 3
  725.                               ELSEIF element = 3 THEN
  726.                                    element = 2
  727.                               END IF
  728.                               COLOR BROWN + BRIGHT + BLINK
  729.                               LOCATE 12, 62 + element
  730.                               PRINT Selection$(element);
  731.                               GOTO SelectionLOOP:
  732.                          CASE DEL
  733.                               LOCATE 12, 62 + element
  734.                               Selection$(element) = "_"
  735.                               PRINT Selection$(element);
  736.                               GOTO SelectionLOOP:
  737.                          CASE ELSE
  738.                               GOTO SelectionLOOP:
  739.                     END SELECT
  740.  
  741.                END IF
  742.               
  743.                '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  744.                SCREEN 0, , 3, 2
  745.               
  746.                'File$ = RTRIM$(LEFT$(Stuff$(HOT), 8)) + "." + RIGHT$(Stuff$(HOT), 2)
  747.                COLOR RED, WHITE
  748.                Center "╔═══════════════════════════════════════════════╗", 11
  749.                Center "║                                               ║", 12: BlackSquare
  750.                Center "╚═══════════════════════════════════════════════╝", 13: BlackSquare
  751.                COLOR BLACK, WHITE
  752.                Center "Press a key when ready to print / ESC to exit", 12
  753.               
  754.                Blinking = False: Name$ = "": a$ = ""
  755.  
  756.                FOR col = 35 TO 45
  757.                     a$ = CHR$(SCREEN(14, col))
  758.                     Name$ = Name$ + a$
  759.                NEXT col
  760.  
  761.                IF SCREEN(14, 33) = 175 THEN
  762.                     Blinking = True
  763.                END IF
  764.              
  765.                COLOR WHITE, BLACK
  766.  
  767.                LOCATE 14, 18
  768.                PRINT STRING$(49, " ");
  769.  
  770.                IF Blinking = True THEN
  771.                     COLOR BLACK + BRIGHT + BLINK, BLACK
  772.                     LOCATE 14, 33: PRINT "»"; : LOCATE 14, 47: PRINT "«";
  773.                END IF
  774.  
  775.                COLOR BLACK + BRIGHT, BLACK
  776.                LOCATE 14, 35: PRINT Name$;
  777.               
  778.                SCREEN 0, , 3, 3
  779.  
  780.                DO: Choice$ = INKEY$: LOOP WHILE Choice$ = ""
  781.                SELECT CASE ASC(Choice$)
  782.                     CASE ESC
  783.                          SCREEN 0, , 1, 1
  784.                          GOTO DecodeHOT:
  785.                     CASE ELSE
  786.                        IF Counter = 0 THEN Counter = 1
  787.                          FOR P = 1 TO X
  788.                               IF PrintStuff(P) = True THEN
  789.                                    SELECT CASE PrintStyle
  790.                                         CASE 1
  791.                                              LPRINT CHR$(ESC); CHR$(113); CHR$(0); : EXIT FOR
  792.                                         CASE 2
  793.                                              LPRINT CHR$(ESC); CHR$(113); CHR$(2); : EXIT FOR
  794.                                         CASE 3
  795.                                              LPRINT CHR$(ESC); CHR$(113); CHR$(1); : EXIT FOR
  796.                                         CASE 4
  797.                                              LPRINT CHR$(ESC); CHR$(113); CHR$(3); : EXIT FOR
  798.                                    END SELECT
  799.                               END IF
  800.                          NEXT P
  801.                        
  802.                     FOR P = 1 TO X
  803.                          FOR T = 1 TO Counter
  804.                               IF INKEY$ = CHR$(ESC) THEN
  805.                                    SCREEN 0, , 1, 1: GOTO DecodeHOT:
  806.                               END IF
  807.                               IF PrintStuff(P) = True THEN
  808.                                    File$ = LEFT$(Stuff$(P), 8) + "." + RIGHT$(Stuff$(P), 2) + "ƒ"
  809.                                    OPEN File$ FOR INPUT AS #1
  810.                                        
  811.                                         REDIM Title(4): REDIM Text$(4): cell = 1
  812.                                         DO
  813.                                             
  814.                                              LINE INPUT #1, Text$(cell)
  815.                                              Title(cell) = False
  816.                                              cell = cell + 1
  817.  
  818.                                         LOOP WHILE NOT EOF(1)
  819.                                    CLOSE #1
  820.  
  821.                                    FOR cell = 1 TO 4
  822.                                         FOR element = 1 TO 60
  823.                                              IF MID$(Text$(cell), element, 1) = "_" THEN
  824.                                                   MID$(Text$(cell), element, 1) = " "
  825.                                              END IF
  826.                                              SELECT CASE cell
  827.                                                   CASE 1
  828.                                                        SELECT CASE element
  829.                                                             CASE 10
  830.                                                                  IF MID$(Text$(cell), element, 1) = "X" THEN
  831.                                                                       Title(1) = True
  832.                                                                  END IF
  833.                                                             CASE 22
  834.                                                                  IF MID$(Text$(cell), element, 1) = "X" THEN
  835.                                                                       Title(2) = True
  836.                                                                  END IF
  837.                                                             CASE 34
  838.                                                                  IF MID$(Text$(cell), element, 1) = "X" THEN
  839.                                                                       Title(3) = True
  840.                                                                  END IF
  841.                                                             CASE 47
  842.                                                                  IF MID$(Text$(cell), element, 1) = "X" THEN
  843.                                                                       Title(4) = True
  844.                                                                  END IF
  845.                                                        END SELECT
  846.                                                   CASE 2
  847.                                                        SELECT CASE element
  848.                                                             CASE 2 TO 26
  849.                                                                  FirstName$ = FirstName$ + MID$(Text$(cell), element, 1)
  850.                                                             CASE 30
  851.                                                                  MiddleInitial$ = MID$(Text$(cell), element, 1)
  852.                                                             CASE 34 TO 58
  853.                                                                  LastName$ = LastName$ + MID$(Text$(cell), element, 1)
  854.                                                        END SELECT
  855.                                                   CASE 3
  856.                                                        SELECT CASE element
  857.                                                             CASE 2 TO 58
  858.                                                                  street$ = street$ + MID$(Text$(cell), element, 1)
  859.                                                        END SELECT
  860.                                                   CASE 4
  861.                                                        SELECT CASE element
  862.                                                             CASE 2 TO 45
  863.                                                                  City$ = City$ + MID$(Text$(cell), element, 1)
  864.                                                             CASE 49 TO 50
  865.                                                                  State$ = State$ + MID$(Text$(cell), element, 1)
  866.                                                             CASE 54 TO 58
  867.                                                                  Zip$ = Zip$ + MID$(Text$(cell), element, 1)
  868.                                                        END SELECT
  869.                                              END SELECT
  870.                                         NEXT element
  871.                                    NEXT cell
  872.                              
  873.                                    IF Title(1) = True THEN
  874.                                         LPRINT "Ms. ";
  875.                                    ELSEIF Title(2) = True THEN
  876.                                         IF Title(3) = True THEN
  877.                                              LPRINT "Mr. & Mrs. ";
  878.                                         ELSEIF Title(4) = True THEN
  879.                                              LPRINT "Mr. & Dr. ";
  880.                                         ELSE
  881.                                              LPRINT "Mr. ";
  882.                                         END IF
  883.                                    ELSEIF Title(3) = True THEN
  884.                                         IF Title(2) = True THEN
  885.                                              LPRINT "Mr. & Mrs. ";
  886.                                         ELSEIF Title(4) = True THEN
  887.                                              LPRINT "Dr. & Mrs. ";
  888.                                         ELSE
  889.                                              LPRINT "Mrs. ";
  890.                                         END IF
  891.                                    ELSEIF Title(4) = True THEN
  892.                                         IF Title(3) = True THEN
  893.                                              LPRINT "Dr. & Mrs. ";
  894.                                         ELSEIF Title(2) = True THEN
  895.                                              LPRINT "Mr. & Dr. ";
  896.                                         ELSE
  897.                                              LPRINT "Dr. ";
  898.                                         END IF
  899.                                    END IF
  900.                                   
  901.                                    FirstName$ = RTRIM$(LTRIM$(FirstName$))
  902.                                    LastName$ = RTRIM$(LTRIM$(LastName$))
  903.                                    MiddleInitial$ = RTRIM$(MiddleInitial$)
  904.                                    IF MiddleInitial$ = " " OR MiddleInitial$ = "" THEN
  905.                                         Text$ = FirstName$ + " " + LastName$
  906.                                    ELSE
  907.                                         Text$ = FirstName$ + " " + MiddleInitial$ + ". " + LastName$
  908.                                    END IF
  909.                                    LPRINT Text$
  910.  
  911.                                    street$ = RTRIM$(LTRIM$(street$))
  912.                                   
  913.                                    FOR ST = 1 TO LEN(street$)
  914.                                         IF MID$(street$, ST, 1) = "|" THEN
  915.                                              StreetA$ = RTRIM$(LTRIM$(LEFT$(street$, ST - 1)))
  916.                                              StreetB$ = RTRIM$(LTRIM$(RIGHT$(street$, LEN(street$) - ST)))
  917.                                              FourLine = True
  918.                                              EXIT FOR
  919.                                         END IF
  920.                                    NEXT ST
  921.  
  922.                                    IF FourLine = True THEN
  923.                                         LPRINT StreetA$
  924.                                         LPRINT StreetB$
  925.                                         StreetA$ = ""
  926.                                         StreetB$ = ""
  927.                                    ELSE
  928.                                         LPRINT street$
  929.                                    END IF
  930.                                   
  931.                                    City$ = RTRIM$(LTRIM$(City$))
  932.                                    Zip$ = RTRIM$(Zip$)
  933.                                    IF RIGHT$(City$, 1) <> "," THEN
  934.                                         IF Zip$ <> "" THEN
  935.                                              City$ = City$ + ","
  936.                                         END IF
  937.                                    END IF
  938.  
  939.                                    State$ = RTRIM$(State$)
  940.                                    
  941.                                    Text$ = City$ + " " + State$ + "  " + Zip$
  942.                                    LPRINT Text$
  943.  
  944.                                    SCREEN 0, , 1, 1
  945.                                   
  946.                                    FirstName$ = ""
  947.                                    MiddleInitial$ = ""
  948.                                    LastName$ = ""
  949.                                    street$ = ""
  950.                                    City$ = ""
  951.                                    State$ = ""
  952.                                    Zip$ = ""
  953.                                   
  954.                                    IF FourLine = True THEN
  955.                                         LPRINT
  956.                                         LPRINT
  957.                                    ELSE
  958.                                         LPRINT
  959.                                         LPRINT
  960.                                         LPRINT
  961.                                    END IF
  962.  
  963.                                    FourLine = False
  964.                              
  965.                               END IF
  966.  
  967.                          NEXT T
  968.                     NEXT P
  969.                        
  970.                     
  971.                          FOR P = 1 TO X
  972.                               IF PrintStuff(P) = True THEN
  973.                                    LPRINT CHR$(ESC); CHR$(113); CHR$(0); : EXIT FOR
  974.                               END IF
  975.                          NEXT P
  976.  
  977.                      SCREEN 0, , 1, 1
  978.                      GOTO DecodeHOT:
  979.                END SELECT
  980.               
  981.           CASE F1
  982.                IF PrintLabels = False THEN
  983.                     CALL HelpEditOld
  984.                ELSE
  985.                     CALL HelpPrint
  986.                END IF
  987.                GOTO DecodeHOT:
  988.           CASE ELSE
  989.                GOTO DecodeLOOP:
  990.      END SELECT
  991. END IF
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999. END SUB
  1000.  
  1001.  
  1002. SUB EnterLabelData (Box() AS Boxes, DOSName AS NameType, File$)
  1003.  
  1004. DisplayPage = 1
  1005.  
  1006. ReStart:
  1007.  
  1008. IF DOSName.ReStart = True THEN
  1009.  
  1010.      REDIM Text$(4): REDIM Title(4)
  1011.      Text$(1) = "        (_) MS      (_) MR      (_) MRS      (_) DR        "
  1012.      Text$(2) = "[_________________________] [_] [_________________________]"
  1013.      Text$(3) = "[_________________________________________________________]"
  1014.      Text$(4) = "[____________________________________________] [__] [_____]"
  1015.  
  1016. ELSE
  1017.  
  1018.      REDIM Text$(4): REDIM Title(4)
  1019.      OPEN File$ FOR INPUT AS #1
  1020.           
  1021.           FOR I = 1 TO 4
  1022.                LINE INPUT #1, Text$(I)
  1023.           NEXT I
  1024.  
  1025.      CLOSE #1
  1026.  
  1027. END IF
  1028.  
  1029. Title(1) = False
  1030. Title(2) = False
  1031. Title(3) = False
  1032. Title(4) = False
  1033.  
  1034. FOR cell = 1 TO 4
  1035.      FOR element = 1 TO 60
  1036.           Box(cell, element).Char = MID$(Text$(cell), element, 1)
  1037.           Box(cell, element).NewData = False
  1038.      NEXT element
  1039. NEXT cell
  1040.  
  1041. SCREEN 0, , 2, DisplayPage: COLOR BLACK, GREEN: CLS
  1042.  
  1043. Center "Enter / Edit Label Data", 5
  1044. Center Text$(1), 9
  1045. Center Text$(2), 11
  1046. Center "       (First Name)         (M)         (Last Name)        ", 12
  1047. Center Text$(3), 14
  1048. Center "(Street)", 15
  1049. Center Text$(4), 17
  1050. Center "                   (CITY)                      (ST)  (ZIP) ", 18
  1051. Center "F1 = Help  F10 = Save  ESC = Exit", 22
  1052.  
  1053. cell = 2: element = 2
  1054. LOCATE 11, 10 + element: COLOR BROWN + BRIGHT + BLINK, GREEN: PRINT Box(cell, element).Char;
  1055.  
  1056.  
  1057. SCREEN 0, , 2, 2
  1058.  
  1059. EnterDataLoop:
  1060.  
  1061. DO
  1062.      Choice$ = INKEY$
  1063. LOOP WHILE Choice$ = ""
  1064.  
  1065. IF LEN(Choice$) = 1 THEN
  1066.      SELECT CASE ASC(Choice$)
  1067.           CASE BACKSPACE
  1068.                DataModified = True
  1069.                Box(cell, element).Char = "_"
  1070.                GetColor Box(), cell, element
  1071.                OLDCursor cell, element, Box()
  1072.  
  1073.                SELECT CASE cell
  1074.                     CASE 1
  1075.                          SELECT CASE element
  1076.                               CASE 10
  1077.                                    cell = 4: element = 58
  1078.                               CASE 22
  1079.                                    element = 10
  1080.                               CASE 34
  1081.                                    element = 22
  1082.                               CASE 47
  1083.                                    element = 34
  1084.                          END SELECT
  1085.                     CASE 2
  1086.                          SELECT CASE element
  1087.                               CASE 2
  1088.                                    cell = 1: element = 47
  1089.                               CASE 30
  1090.                                    element = 26
  1091.                               CASE 34
  1092.                                    element = 30
  1093.                               CASE ELSE
  1094.                                    element = element - 1
  1095.                          END SELECT
  1096.  
  1097.                     CASE 3
  1098.                          SELECT CASE element
  1099.                               CASE 2
  1100.                                    cell = 2: element = 58
  1101.                               CASE ELSE
  1102.                                    element = element - 1
  1103.                          END SELECT
  1104.                     CASE 4
  1105.                          SELECT CASE element
  1106.                               CASE 2
  1107.                                    cell = 3: element = 58
  1108.                               CASE 49
  1109.                                    element = 45
  1110.                               CASE 54
  1111.                                    element = 50
  1112.                               CASE ELSE
  1113.                                    element = element - 1
  1114.                          END SELECT
  1115.                END SELECT
  1116.  
  1117.                GetNewColor Box(), cell, element
  1118.                NEWCursor cell, element, Box()
  1119.                GOTO EnterDataLoop:
  1120.               
  1121.           CASE 32, 33 TO 126
  1122.                SELECT CASE ASC(Choice$)
  1123.                     CASE 91 TO 93
  1124.                          '[ ]
  1125.                          GOTO EnterDataLoop:
  1126.                END SELECT
  1127.  
  1128.                DataModified = True
  1129.                Box(cell, element).NewData = True
  1130.                IF ASC(Choice$) = 32 THEN
  1131.                     Box(cell, element).Char = "_"
  1132.                     IF cell = 1 THEN
  1133.                          SELECT CASE element
  1134.                               CASE 10
  1135.                                    Title(1) = False
  1136.                               CASE 22
  1137.                                    Title(2) = False
  1138.                               CASE 34
  1139.                                    Title(3) = False
  1140.                               CASE 47
  1141.                                    Title(4) = False
  1142.                          END SELECT
  1143.                     END IF
  1144.                ELSE
  1145.                     IF cell = 1 THEN
  1146.                          Box(cell, element).Char = "X"
  1147.                          SELECT CASE element
  1148.                               CASE 10
  1149.                                    Title(1) = True
  1150.                               CASE 22
  1151.                                    Title(2) = True
  1152.                               CASE 34
  1153.                                    Title(3) = True
  1154.                               CASE 47
  1155.                                    Title(4) = True
  1156.                          END SELECT
  1157.                     ELSE
  1158.                          Box(cell, element).Char = CHR$(ASC(Choice$))
  1159.                     END IF
  1160.                END IF
  1161.                GetColor Box(), cell, element
  1162.                OLDCursor cell, element, Box()
  1163.               
  1164.                SELECT CASE cell
  1165.                     CASE 1
  1166.                          SELECT CASE element
  1167.                               CASE 10
  1168.                                    element = 22
  1169.                               CASE 22
  1170.                                    element = 34
  1171.                               CASE 34
  1172.                                    element = 47
  1173.                               CASE 47
  1174.                                    cell = 2: element = 2
  1175.                          END SELECT
  1176.                     CASE 2
  1177.                          SELECT CASE element
  1178.                               CASE 26
  1179.                                    element = 30
  1180.                               CASE 30
  1181.                                    element = 34
  1182.                               CASE 58
  1183.                                    cell = 3: element = 2
  1184.                               CASE ELSE
  1185.                                    element = element + 1
  1186.                          END SELECT
  1187.  
  1188.                     CASE 3
  1189.                          SELECT CASE element
  1190.                               CASE 58
  1191.                                    cell = 4: element = 2
  1192.                               CASE ELSE
  1193.                                    element = element + 1
  1194.                          END SELECT
  1195.                     CASE 4
  1196.                          SELECT CASE element
  1197.                               CASE 45
  1198.                                    element = 49
  1199.                               CASE 50
  1200.                                    element = 54
  1201.                               CASE 58
  1202.                                    cell = 1: element = 10
  1203.                               CASE ELSE
  1204.                                    element = element + 1
  1205.                          END SELECT
  1206.                END SELECT
  1207.               
  1208.                GetNewColor Box(), cell, element
  1209.                NEWCursor cell, element, Box()
  1210.  
  1211.                GOTO EnterDataLoop:
  1212.           CASE TABkey
  1213. TABKeyLoc:             
  1214.                GetColor Box(), cell, element
  1215.                OLDCursor cell, element, Box()
  1216.               
  1217.                SELECT CASE cell
  1218.                     CASE 1
  1219.                          SELECT CASE element
  1220.                               CASE 10
  1221.                                    element = 22
  1222.                               CASE 22
  1223.                                    element = 34
  1224.                               CASE 34
  1225.                                    element = 47
  1226.                               CASE 47
  1227.                                    cell = 2: element = 2
  1228.                          END SELECT
  1229.                    
  1230.                     CASE 2
  1231.                          SELECT CASE element
  1232.                               CASE IS < 30
  1233.                                    element = 30
  1234.                               CASE IS = 30
  1235.                                    element = 34
  1236.                               CASE IS >= 34
  1237.                                    cell = 3: element = 2
  1238.                          END SELECT
  1239.                     CASE 3
  1240.                          cell = 4: element = 2
  1241.                     CASE 4
  1242.                          IF element < 49 THEN
  1243.                               element = 49
  1244.                          ELSEIF element >= 49 AND element <= 50 THEN
  1245.                               element = 54
  1246.                          ELSEIF element >= 50 THEN
  1247.                               cell = 1: element = 10
  1248.                          END IF
  1249.                END SELECT
  1250.               
  1251.                GetNewColor Box(), cell, element
  1252.                NEWCursor cell, element, Box()
  1253.                GOTO EnterDataLoop:
  1254.           CASE ENTER
  1255.                GOTO TABKeyLoc:
  1256.           CASE ESC
  1257.                IF DataModified = True THEN
  1258. F10Save:                                              
  1259.                     COLOR BLACK, WHITE
  1260.                     Center "Save Data? (Y/N) (ESC)", 20
  1261.                     DO
  1262.                          Choice$ = INKEY$
  1263.                     LOOP WHILE Choice$ = ""
  1264.                     SELECT CASE ASC(UCASE$(Choice$))
  1265.                          CASE ESC
  1266.                               COLOR GREEN, GREEN
  1267.                               Center "Save Data? (Y/N) (ESC)", 20
  1268.                               COLOR BLACK, GREEN
  1269.                               F10Pressed = False
  1270.                               GOTO EnterDataLoop:
  1271.                          CASE Y
  1272.                              
  1273.                               File$ = ""
  1274.                               FirstName$ = ""
  1275.                               MiddleInitial$ = ""
  1276.  
  1277.                               MiddleInitial$ = Box(2, 30).Char
  1278.                               FOR I = 2 TO 26
  1279.                                    a$ = Box(2, I).Char
  1280.                                    IF a$ = "_" THEN a$ = ""
  1281.                                    FirstName$ = FirstName$ + a$
  1282.                               NEXT I
  1283.                               
  1284.                               FOR I = 34 TO 58
  1285.                                    a$ = Box(2, I).Char
  1286.                                    SELECT CASE a$
  1287.                                         CASE "_", "."
  1288.                                              a$ = ""
  1289.                                         CASE ","
  1290.                                              a$ = "_"
  1291.                                    END SELECT
  1292.                                    
  1293.                                    File$ = File$ + a$
  1294.                               NEXT I
  1295.                              
  1296.                               File$ = RTRIM$(LTRIM$(File$))
  1297.                               IF File$ = "" THEN File$ = "????????"
  1298.                               DOSName.FileName = File$
  1299.  
  1300.                               DOSName.Extension = LEFT$(LTRIM$(FirstName$), 1) + MiddleInitial$ + "ƒ"
  1301.                               File$ = DOSName.FileName + "." + DOSName.Extension
  1302.  
  1303.                               DOSName.ErrorFile = File$
  1304.                               OPEN File$ FOR OUTPUT AS #1
  1305.                                    FOR c = 1 TO 4
  1306.                                         FOR e = 1 TO 59
  1307.                                              SaveLine$ = SaveLine$ + Box(c, e).Char
  1308.                                         NEXT e
  1309.                                         PRINT #1, SaveLine$
  1310.                                         SaveLine$ = ""
  1311.                                    NEXT c
  1312.                               CLOSE #1
  1313.                               DataModified = False
  1314.                               DOSName.ReStart = True
  1315.                               IF F10Pressed = True THEN
  1316.                                    F10Pressed = False
  1317.                                    DisplayPage = 2
  1318.                                    GOTO ReStart:
  1319.                               ELSE
  1320.                                    EXIT SUB
  1321.                               END IF
  1322.                          CASE N
  1323.                               COLOR GREEN, GREEN
  1324.                               Center "Save Data? (Y/N) (ESC)", 20
  1325.                               COLOR BLACK, GREEN
  1326.                               DataModified = False
  1327.                               DOSName.ReStart = True
  1328.                               IF F10Pressed = True THEN
  1329.                                    F10Pressed = False
  1330.                                    DisplayPage = 2
  1331.                                    GOTO ReStart:
  1332.                               ELSE
  1333.                                    EXIT SUB
  1334.                               END IF
  1335.                              
  1336.                          CASE ELSE
  1337.                     END SELECT
  1338.                ELSE
  1339.                     DOSName.ReStart = True
  1340.                     EXIT SUB
  1341.                END IF
  1342.           CASE ELSE
  1343.      END SELECT
  1344. ELSEIF LEN(Choice$) = 2 THEN
  1345.      SELECT CASE ASC(RIGHT$(Choice$, 1))
  1346.          
  1347.           CASE CntrlRIGHT
  1348.                GOTO TABKeyLoc:
  1349.           CASE ShiftTAB, CntrlLEFT
  1350.                GetColor Box(), cell, element
  1351.                OLDCursor cell, element, Box()
  1352.                SELECT CASE cell
  1353.                     CASE 1
  1354.                          SELECT CASE element
  1355.                               CASE 10
  1356.                                    cell = 4: element = 54
  1357.                               CASE 22
  1358.                                    element = 10
  1359.                               CASE 34
  1360.                                    element = 22
  1361.                               CASE 47
  1362.                                    element = 34
  1363.                          END SELECT
  1364.                     CASE 2
  1365.                          IF element = 2 THEN
  1366.                               cell = 1: element = 47
  1367.                          ELSEIF element > 2 AND element <= 30 THEN
  1368.                               element = 2
  1369.                          ELSEIF element = 34 THEN
  1370.                               element = 30
  1371.                          ELSEIF element > 34 THEN
  1372.                               element = 34
  1373.                          END IF
  1374.                     CASE 3
  1375.                          IF element = 2 THEN
  1376.                               cell = 2: element = 34
  1377.                          ELSEIF element > 2 THEN
  1378.                               element = 2
  1379.                          END IF
  1380.                     CASE 4
  1381.                          IF element = 2 THEN
  1382.                               cell = 3: element = 2
  1383.                          ELSEIF element > 2 AND element < 49 THEN
  1384.                               element = 2
  1385.                          ELSEIF element = 49 THEN
  1386.                               element = 2
  1387.                          ELSEIF element > 49 AND element <= 50 THEN
  1388.                               element = 49
  1389.                          ELSEIF element = 54 THEN
  1390.                               element = 49
  1391.                          ELSEIF element > 54 THEN
  1392.                               element = 54
  1393.                          END IF
  1394.                END SELECT
  1395.              
  1396.                GetNewColor Box(), cell, element
  1397.                NEWCursor cell, element, Box()
  1398.                GOTO EnterDataLoop:
  1399.  
  1400.           CASE UP
  1401.  
  1402.                GetColor Box(), cell, element
  1403.                OLDCursor cell, element, Box()
  1404.               
  1405.                IF cell = 1 THEN
  1406.                     cell = 4
  1407.                ELSE
  1408.                     cell = cell - 1
  1409.                END IF
  1410.                element = 2
  1411.                IF cell = 1 THEN element = 10
  1412.               
  1413.                GetNewColor Box(), cell, element
  1414.                NEWCursor cell, element, Box()
  1415.                GOTO EnterDataLoop:
  1416.              
  1417.           CASE DOWN
  1418.               
  1419.                GetColor Box(), cell, element
  1420.                OLDCursor cell, element, Box()
  1421.  
  1422.                IF cell = 4 THEN
  1423.                     cell = 1
  1424.                ELSE
  1425.                     cell = cell + 1
  1426.                END IF
  1427.                element = 2
  1428.                IF cell = 1 THEN element = 10
  1429.               
  1430.                GetNewColor Box(), cell, element
  1431.                NEWCursor cell, element, Box()
  1432.                GOTO EnterDataLoop:
  1433.              
  1434.           CASE RIGHT
  1435.               
  1436.                GetColor Box(), cell, element
  1437.                OLDCursor cell, element, Box()
  1438.               
  1439.                SELECT CASE cell
  1440.                     CASE 1
  1441.                          SELECT CASE element
  1442.                               CASE 10
  1443.                                    element = 22
  1444.                               CASE 22
  1445.                                    element = 34
  1446.                               CASE 34
  1447.                                    element = 47
  1448.                               CASE 47
  1449.                                    cell = 2: element = 2
  1450.                          END SELECT
  1451.                     CASE 2
  1452.                          SELECT CASE element
  1453.                               CASE 26
  1454.                                    element = 30
  1455.                               CASE 30
  1456.                                    element = 34
  1457.                               CASE 58
  1458.                                    cell = 3: element = 2
  1459.                               CASE ELSE
  1460.                                    element = element + 1
  1461.                          END SELECT
  1462.  
  1463.                     CASE 3
  1464.                          SELECT CASE element
  1465.                               CASE 58
  1466.                                    cell = 4: element = 2
  1467.                               CASE ELSE
  1468.                                    element = element + 1
  1469.                          END SELECT
  1470.                     CASE 4
  1471.                          SELECT CASE element
  1472.                               CASE 45
  1473.                                    element = 49
  1474.                               CASE 50
  1475.                                    element = 54
  1476.                               CASE 58
  1477.                                    cell = 1: element = 10
  1478.                               CASE ELSE
  1479.                                    element = element + 1
  1480.                          END SELECT
  1481.                END SELECT
  1482.                GetNewColor Box(), cell, element
  1483.                NEWCursor cell, element, Box()
  1484.                GOTO EnterDataLoop:
  1485.              
  1486.           CASE LEFT
  1487.                GetColor Box(), cell, element
  1488.                OLDCursor cell, element, Box()
  1489.              
  1490.                SELECT CASE cell
  1491.                     CASE 1
  1492.                          SELECT CASE element
  1493.                               CASE 10
  1494.                                    cell = 4: element = 58
  1495.                               CASE 22
  1496.                                    element = 10
  1497.                               CASE 34
  1498.                                    element = 22
  1499.                               CASE 47
  1500.                                    element = 34
  1501.                          END SELECT
  1502.                     CASE 2
  1503.                          SELECT CASE element
  1504.                               CASE 2
  1505.                                    cell = 1: element = 47
  1506.                               CASE 30
  1507.                                    element = 26
  1508.                               CASE 34
  1509.                                    element = 30
  1510.                               CASE ELSE
  1511.                                    element = element - 1
  1512.                          END SELECT
  1513.  
  1514.                     CASE 3
  1515.                          SELECT CASE element
  1516.                               CASE 2
  1517.                                    cell = 2: element = 58
  1518.                               CASE ELSE
  1519.                                    element = element - 1
  1520.                          END SELECT
  1521.                     CASE 4
  1522.                          SELECT CASE element
  1523.                               CASE 2
  1524.                                    cell = 3: element = 58
  1525.                               CASE 49
  1526.                                    element = 45
  1527.                               CASE 54
  1528.                                    element = 50
  1529.                               CASE ELSE
  1530.                                    element = element - 1
  1531.                          END SELECT
  1532.                END SELECT
  1533.                GetNewColor Box(), cell, element
  1534.                NEWCursor cell, element, Box()
  1535.                GOTO EnterDataLoop:
  1536.  
  1537.           CASE HOME
  1538.               
  1539.                GetColor Box(), cell, element
  1540.                OLDCursor cell, element, Box()
  1541.                cell = 2: element = 2
  1542.                GetNewColor Box(), cell, element
  1543.                NEWCursor cell, element, Box()
  1544.                GOTO EnterDataLoop:
  1545.  
  1546.           CASE ENDKEY
  1547.                
  1548.                GetColor Box(), cell, element
  1549.                OLDCursor cell, element, Box()
  1550.                cell = 4: element = 2
  1551.                GetNewColor Box(), cell, element
  1552.                NEWCursor cell, element, Box()
  1553.                GOTO EnterDataLoop:
  1554.  
  1555.           CASE DEL
  1556.               
  1557.                DataModified = True
  1558.                Box(cell, element).Char = "_"
  1559.               
  1560.                IF Box(cell, element + 1).Char <> "]" THEN
  1561.                     IF cell > 1 THEN
  1562.                          Tempelement = element
  1563.                          DO
  1564.                               
  1565.                               Box(cell, element).Char = Box(cell, element + 1).Char
  1566.                               GetColor Box(), cell, element
  1567.                               OLDCursor cell, element, Box()
  1568.                               element = element + 1
  1569.  
  1570.                          LOOP UNTIL Box(cell, element + 1).Char = "]"
  1571.                          IF Box(cell, element).Char <> "_" THEN
  1572.                               Box(cell, element).Char = "_"
  1573.                               GetColor Box(), cell, element
  1574.                               OLDCursor cell, element, Box()
  1575.                          END IF
  1576.                          element = Tempelement
  1577.                     END IF
  1578.                END IF
  1579.  
  1580.                GetNewColor Box(), cell, element
  1581.                NEWCursor cell, element, Box()
  1582.                GOTO EnterDataLoop:
  1583.  
  1584.           CASE INS
  1585.               
  1586.                DataModified = True
  1587.                Tempelement = element
  1588.               
  1589.                IF Box(cell, element + 1).Char <> "]" THEN
  1590.                     IF cell > 1 THEN
  1591.               
  1592.                          DO
  1593.                              
  1594.                               IF Box(cell, element).Char <> "_" THEN
  1595.                                    Maxelement = element + 1
  1596.                               END IF
  1597.  
  1598.                               element = element + 1
  1599.  
  1600.                          LOOP UNTIL Box(cell, element + 1).Char = "]"
  1601.  
  1602.                          FOR element = Maxelement TO Tempelement STEP -1
  1603.                               Box(cell, element).Char = Box(cell, element - 1).Char
  1604.                               Box(cell, element).NewData = True
  1605.                               GetColor Box(), cell, element
  1606.                               OLDCursor cell, element, Box()
  1607.                          NEXT element
  1608.                         
  1609.                          element = Tempelement
  1610.                          Box(cell, element).Char = "_"
  1611.                     END IF
  1612.                END IF
  1613.                GetNewColor Box(), cell, element
  1614.                NEWCursor cell, element, Box()
  1615.                GOTO EnterDataLoop:
  1616.  
  1617.          
  1618.           CASE F1
  1619.               
  1620.                CALL HelpInfo
  1621.                GOTO EnterDataLoop:
  1622.  
  1623.           CASE F10
  1624.                F10Pressed = True
  1625.                GOTO F10Save:
  1626.  
  1627.           CASE ELSE
  1628.                GOTO EnterDataLoop:
  1629.      END SELECT
  1630. END IF
  1631.  
  1632.  
  1633.  
  1634. END SUB
  1635.  
  1636.  
  1637.  
  1638. SUB ErrorMessage (Text$)
  1639.  
  1640. VIEW PRINT: BEEP
  1641.  
  1642. COLOR RED, WHITE
  1643. Center "╔══════════════════════════════════════════════════════════════╗", 13
  1644. Center "║                                                              ║", 14: BlackSquare
  1645. Center "╚══════════════════════════════════════════════════════════════╝", 15: BlackSquare
  1646.  
  1647. COLOR RED + BLINK, WHITE
  1648. Center " ERROR HAS OCCURRED ", 13
  1649. COLOR RED, WHITE
  1650.  
  1651. Center " Press a Key to Exit ", 15
  1652.  
  1653. COLOR BROWN + BRIGHT, WHITE
  1654. Center Text$, 14
  1655.  
  1656. COLOR WHITE, BLACK
  1657. LOCATE 16, 10: PRINT STRING$(64, " ");
  1658. COLOR BLACK, WHITE
  1659.  
  1660. DO: LOOP WHILE INKEY$ = ""
  1661.  
  1662.  
  1663. END SUB
  1664.  
  1665. SUB GetColor (Box() AS Boxes, cell, element)
  1666.  
  1667. IF Box(cell, element).NewData = True THEN
  1668.      IF Box(cell, element).Char = "_" THEN
  1669.           COLOR BLACK, GREEN
  1670.      ELSE
  1671.           COLOR WHITE + BRIGHT, GREEN
  1672.      END IF
  1673. ELSE
  1674.      COLOR BLACK, GREEN
  1675. END IF
  1676.  
  1677. END SUB
  1678.  
  1679. SUB GetNewColor (Box() AS Boxes, cell, element)
  1680.  
  1681. COLOR BROWN + BRIGHT + BLINK, GREEN
  1682.  
  1683. END SUB
  1684.  
  1685. SUB HelpEditOld
  1686.  
  1687. Blinking = False: Name$ = "": a$ = ""
  1688.  
  1689. FOR col = 35 TO 45
  1690.      a$ = CHR$(SCREEN(14, col))
  1691.      Name$ = Name$ + a$
  1692. NEXT col
  1693.  
  1694. IF SCREEN(14, 33) = 175 THEN
  1695.      Blinking = True
  1696. END IF
  1697.  
  1698.  
  1699. PCOPY 1, 2
  1700. SCREEN 0, , 2, 1
  1701.  
  1702. COLOR RED, WHITE
  1703. Center "╔═════════════════════════════════════════════════════════════════╗", 10
  1704. Center " Help Info ", 10
  1705. Center "║                                                                 ║", 11: BlackSquare
  1706. Center "║                                                                 ║", 12: BlackSquare
  1707. Center "╚═════════════════════════════════════════════════════════════════╝", 13: BlackSquare
  1708. Center " Press a Key to Exit ", 13
  1709. COLOR BLACK, WHITE
  1710.  
  1711. Center " Use the Arrow keys to move the cursor.  To edit, press ENTER. ", 11
  1712. Center " To delete an address, press delete.                           ", 12
  1713.  
  1714. COLOR WHITE, BLACK
  1715.  
  1716. LOCATE 14, 10
  1717. PRINT STRING$(66, " ");
  1718.  
  1719. IF Blinking = True THEN
  1720.      COLOR BLACK + BRIGHT + BLINK, BLACK
  1721.      LOCATE 14, 33: PRINT "»"; : LOCATE 14, 47: PRINT "«";
  1722. END IF
  1723.  
  1724. COLOR BLACK + BRIGHT, BLACK
  1725. LOCATE 14, 35: PRINT Name$;
  1726.  
  1727. SCREEN 0, , 2, 2
  1728.  
  1729. DO: LOOP WHILE INKEY$ = ""
  1730.  
  1731. SCREEN 0, , 1, 1
  1732.  
  1733.  
  1734. END SUB
  1735.  
  1736. SUB HelpInfo
  1737.  
  1738. PCOPY 2, 3
  1739. SCREEN 0, , 3, 2
  1740.  
  1741.  
  1742. COLOR RED, WHITE
  1743. Center "╔═══════════════════════════════════════════════════╗", 10
  1744. Center " Help Info ", 10
  1745. Center "║                                                   ║", 11: BlackSquare
  1746. Center "║                                                   ║", 12: BlackSquare
  1747. Center "║                                                   ║", 13: BlackSquare
  1748. Center "║                                                   ║", 14: BlackSquare
  1749. Center "╚═══════════════════════════════════════════════════╝", 15: BlackSquare
  1750. Center " Press a Key to Exit ", 15
  1751. COLOR BLACK, WHITE
  1752.  
  1753. Center "ARROW, HOME, END or TAB keys to move the cursor.", 11
  1754. Center "Delete or BACKSPACE keys to delete, Insert to", 12
  1755. Center "insert a space.  F10 to save data and restart.", 13
  1756. Text$ = CHR$(34) + "|" + CHR$(34) + " in the street address = another line"
  1757. Center Text$, 14
  1758.  
  1759. COLOR WHITE, BLACK
  1760.  
  1761. LOCATE 16, 17
  1762. PRINT STRING$(52, " ");
  1763.  
  1764. SCREEN 0, , 3, 3
  1765. DO: LOOP WHILE INKEY$ = ""
  1766. SCREEN 0, , 2, 2
  1767.  
  1768. END SUB
  1769.  
  1770. SUB HelpMenu
  1771.  
  1772. COLOR RED, WHITE
  1773. Center "╔══════════════════════════════════════════════════════════════╗", 10
  1774. Center " Help Info ", 10
  1775. Center "║                                                              ║", 11: BlackSquare
  1776. Center "║                                                              ║", 12: BlackSquare
  1777. Center "║                                                              ║", 13: BlackSquare
  1778. Center "║                                                              ║", 14: BlackSquare
  1779. Center "║                                                              ║", 15: BlackSquare
  1780. Center "║                                                              ║", 16: BlackSquare
  1781. Center "╚══════════════════════════════════════════════════════════════╝", 17: BlackSquare
  1782. Center " Press a Key to Exit ", 17
  1783.  
  1784. COLOR WHITE, BLACK
  1785. LOCATE 18, 10: PRINT STRING$(64, " ");
  1786. COLOR BLACK, WHITE
  1787.  
  1788. Center " Use ARROW keys to select, then press ENTER.  This program ", 11
  1789. Center " was written using an EPSON action printer 4000 (24 pin).  ", 12
  1790. Center " The labels used were AVERY (Dot Matrix Printer Labels).   ", 13
  1791. Text$ = "SIZE: 3½" + CHR$(34) + " x 15/16" + CHR$(34) + " (1 across)"
  1792. Center Text$, 14
  1793. COLOR BROWN + BRIGHT, WHITE
  1794. Center " *** Note: MAKE SURE TO READ THE SECTION ON LABELS IN YOUR    ", 15
  1795. Center "           PRINTER'S USER'S MANUAL. ***                       ", 16
  1796. COLOR BLACK, WHITE
  1797.  
  1798. END SUB
  1799.  
  1800. SUB HelpPrint
  1801.  
  1802. Blinking = False: Name$ = "": a$ = ""
  1803.  
  1804. FOR col = 35 TO 45
  1805.      a$ = CHR$(SCREEN(16, col))
  1806.      Name$ = Name$ + a$
  1807. NEXT col
  1808.  
  1809. IF SCREEN(16, 33) = 175 THEN
  1810.      Blinking = True
  1811. END IF
  1812.  
  1813. PCOPY 1, 2
  1814. SCREEN 0, , 2, 1
  1815.  
  1816. COLOR RED, WHITE
  1817. Center "╔══════════════════════════════════════════════════════════════╗", 10
  1818. Center " Help Info ", 10
  1819. Center "║                                                              ║", 11: BlackSquare
  1820. Center "║                                                              ║", 12: BlackSquare
  1821. Center "║                                                              ║", 13: BlackSquare
  1822. Center "║                                                              ║", 14: BlackSquare
  1823. Center "╚══════════════════════════════════════════════════════════════╝", 15: BlackSquare
  1824. Center " Press a Key to Exit ", 15
  1825. COLOR BLACK, WHITE
  1826.  
  1827. Center "Use HOME, END or the Arrow keys to move the cursor.  To make", 11
  1828. Center "selection(s); press the space bar to select one, or press S ", 12
  1829. Center "to select all, or press D to de-select all addresses.  When ", 13
  1830. Center "ready to print, press F7.                                   ", 14
  1831.  
  1832. COLOR WHITE, BLACK
  1833.  
  1834. LOCATE 16, 10
  1835. PRINT STRING$(64, " ");
  1836.  
  1837. IF Blinking = True THEN
  1838.      COLOR BLACK + BRIGHT + BLINK, BLACK
  1839.      LOCATE 16, 33: PRINT "»"; : LOCATE 16, 47: PRINT "«";
  1840. END IF
  1841.  
  1842. COLOR BLACK + BRIGHT, BLACK
  1843. LOCATE 16, 35: PRINT Name$;
  1844.  
  1845. SCREEN 0, , 2, 2
  1846.  
  1847. DO: LOOP WHILE INKEY$ = ""
  1848.  
  1849. SCREEN 0, , 1, 1
  1850.  
  1851.  
  1852. END SUB
  1853.  
  1854. SUB HighLight
  1855. COLOR WHITE + BRIGHT, RED
  1856. END SUB
  1857.  
  1858. SUB Menu (Box() AS Boxes, DOSName AS NameType, ScreenINFO AS ScreenType)
  1859.  
  1860. X = 1
  1861.  
  1862. MenuRestart:
  1863.  
  1864. SCREEN 0, , 1, 1: COLOR RED, GREEN: CLS
  1865.  
  1866. REDIM Text$(4)
  1867. Text$(1) = "Enter New Label"
  1868. Text$(2) = "Edit Old Label"
  1869. Text$(3) = "Print Label(s)"
  1870. Text$(4) = "Quit"
  1871.  
  1872. COLOR BLACK, WHITE
  1873. Center "╔═════════════════════════════════╗", 10
  1874. Center "║                                 ║", 11
  1875. Center "╚═════════════════════════════════╝", 12
  1876. Center "X M A S / M A I L   L A B E L S", 11
  1877. NormalVideo
  1878.  
  1879. Center "Version 1.0  -  (AGO)", 6
  1880.  
  1881. Center Text$(1), 15
  1882. Center Text$(2), 16
  1883. Center Text$(3), 17
  1884. Center Text$(4), 18
  1885. Center "F1 = Help", 22
  1886.  
  1887. ShowMenu:
  1888.  
  1889. CALL NormalVideo: Center Text$(OLDx), 14 + OLDx
  1890. CALL HighLight: Center Text$(X), 14 + X: NormalVideo
  1891.  
  1892. MenuLoop:
  1893.  
  1894. DO
  1895.      Choice$ = INKEY$
  1896. LOOP WHILE Choice$ = ""
  1897.  
  1898. IF LEN(Choice$) = 1 THEN
  1899.      SELECT CASE ASC(Choice$)
  1900.           CASE ENTER
  1901.                SELECT CASE X
  1902.                     CASE 1
  1903.                          CALL EnterLabelData(Box(), DOSName, File$)
  1904.                     CASE 2
  1905.                          COLOR RED, GREEN
  1906.                          LOCATE 1, 1: PRINT STRING$(80, "█");
  1907.                          LOCATE 25, 1: PRINT STRING$(80, "█");
  1908.                          COLOR WHITE + BRIGHT, RED
  1909.                          Center "Edit Old Label", 1
  1910.                          Center "F1 = Help · ENTER = Edit · ESC = Exit", 25
  1911.                          COLOR RED, GREEN
  1912.                          VIEW PRINT 2 TO 24: CLS 2
  1913.                          CALL SortMessage
  1914.                          SHELL "DIR *.??ƒ > ƒ.DAT"
  1915.                         
  1916.                          DOSName.ReStart = False
  1917.                          CALL Decode(File$, PrintLabels)
  1918.                         
  1919.                          IF File$ = "" THEN
  1920.                               VIEW PRINT
  1921.                               DOSName.ReStart = True
  1922.                               GOTO MenuRestart:
  1923.                          END IF
  1924.                          CALL EnterLabelData(Box(), DOSName, File$)
  1925.  
  1926.                          VIEW PRINT: GOTO MenuRestart:
  1927.                     CASE 3
  1928.                          PrintLabels = True
  1929.                         
  1930.                          COLOR RED, GREEN
  1931.                          LOCATE 1, 1: PRINT STRING$(80, "█");
  1932.                          LOCATE 25, 1: PRINT STRING$(80, "█");
  1933.                          COLOR WHITE + BRIGHT, RED
  1934.                          Center "Print Label(s)", 1
  1935.                          Center "F1 = Help · F7 = Print · ESC = Exit", 25
  1936.                          COLOR RED, GREEN
  1937.                          VIEW PRINT 2 TO 24: CLS 2
  1938.                          CALL SortMessage
  1939.                          SHELL "DIR *.??ƒ > ƒ.DAT"
  1940.                         
  1941.                          DOSName.ReStart = False
  1942.                          CALL Decode(File$, PrintLabels)
  1943.                         
  1944.                          PrintLabels = False
  1945.                          DOSName.ReStart = True
  1946.                          VIEW PRINT: GOTO MenuRestart:
  1947.                     CASE 4
  1948.                          SCREEN 0, , 0, 0: LOCATE ScreenINFO.row, ScreenINFO.row
  1949.                          END
  1950.                END SELECT
  1951.           CASE ESC
  1952.                SCREEN 0, , 0, 0: LOCATE ScreenINFO.row, ScreenINFO.col
  1953.                END
  1954.           CASE ELSE
  1955.                GOTO MenuLoop:
  1956.      END SELECT
  1957. ELSEIF LEN(Choice$) = 2 THEN
  1958.      SELECT CASE ASC(RIGHT$(Choice$, 1))
  1959.           CASE UP
  1960.                OLDx = X
  1961.                IF X = 1 THEN
  1962.                     X = 4
  1963.                ELSE
  1964.                     X = X - 1
  1965.                END IF
  1966.                GOTO ShowMenu:
  1967.           CASE DOWN
  1968.                OLDx = X
  1969.                IF X = 4 THEN
  1970.                     X = 1
  1971.                ELSE
  1972.                     X = X + 1
  1973.                END IF
  1974.                GOTO ShowMenu:
  1975.           CASE HOME
  1976.                OLDx = X: X = 1: GOTO ShowMenu:
  1977.           CASE ENDKEY
  1978.                OLDx = X: X = 4: GOTO ShowMenu:
  1979.           CASE F1
  1980.                PCOPY 1, 2
  1981.                SCREEN 0, , 2, 1
  1982.                CALL HelpMenu
  1983.                SCREEN 0, , 2, 2
  1984.                DO: LOOP WHILE INKEY$ = ""
  1985.                SCREEN 0, , 1, 1
  1986.                GOTO MenuLoop:
  1987.           CASE ELSE
  1988.                GOTO MenuLoop:
  1989.      END SELECT
  1990. END IF
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997. END SUB
  1998.  
  1999. SUB NEWCursor (cell, element, Box() AS Boxes)
  2000.  
  2001.  
  2002. SELECT CASE cell
  2003.      CASE 1
  2004.           LOCATE 9, 10 + element: PRINT Box(cell, element).Char;
  2005.      CASE 2
  2006.           LOCATE 11, 10 + element: PRINT Box(cell, element).Char;
  2007.      CASE 3
  2008.           LOCATE 14, 10 + element: PRINT Box(cell, element).Char;
  2009.      CASE 4
  2010.           LOCATE 17, 10 + element: PRINT Box(cell, element).Char;
  2011. END SELECT
  2012.  
  2013.  
  2014. END SUB
  2015.  
  2016. SUB NormalVideo
  2017. COLOR BLACK, GREEN
  2018. END SUB
  2019.  
  2020. SUB OLDCursor (cell, element, Box() AS Boxes)
  2021.  
  2022.  
  2023. SELECT CASE cell
  2024.      CASE 1
  2025.           LOCATE 9, 10 + element: PRINT Box(cell, element).Char;
  2026.      CASE 2
  2027.           LOCATE 11, 10 + element: PRINT Box(cell, element).Char;
  2028.      CASE 3
  2029.           LOCATE 14, 10 + element: PRINT Box(cell, element).Char;
  2030.      CASE 4
  2031.           LOCATE 17, 10 + element: PRINT Box(cell, element).Char;
  2032. END SELECT
  2033.  
  2034.  
  2035.  
  2036. END SUB
  2037.  
  2038. SUB RightFlush (Text$, row)
  2039.  
  2040. col = 80 - LEN(Text$): LOCATE row, col: PRINT Text$;
  2041.  
  2042. END SUB
  2043.  
  2044. SUB SortMessage
  2045.  
  2046. Blinking = False: Name$ = "": a$ = ""
  2047.  
  2048. FOR col = 35 TO 45
  2049.      a$ = CHR$(SCREEN(14, col))
  2050.      Name$ = Name$ + a$
  2051. NEXT col
  2052.  
  2053. IF SCREEN(14, 33) = 175 THEN
  2054.      Blinking = True
  2055. END IF
  2056.  
  2057. COLOR RED, WHITE
  2058. Center "╔════════════════════════╗", 11
  2059. Center "║                        ║", 12: BlackSquare
  2060. Center "╚════════════════════════╝", 13: BlackSquare
  2061. COLOR BLACK, WHITE
  2062.  
  2063. Center "Sorting addresses...", 12
  2064.  
  2065. COLOR WHITE, BLACK
  2066.  
  2067. LOCATE 14, 29
  2068. PRINT STRING$(26, " ");
  2069.  
  2070. IF Blinking = True THEN
  2071.      COLOR BLACK + BRIGHT + BLINK, BLACK
  2072.      LOCATE 14, 33: PRINT "»"; : LOCATE 14, 47: PRINT "«";
  2073. END IF
  2074.  
  2075. COLOR BLACK + BRIGHT, BLACK
  2076. LOCATE 14, 35: PRINT Name$;
  2077.  
  2078. LOCATE 2, 1
  2079.  
  2080. END SUB
  2081.  
  2082.