home *** CD-ROM | disk | FTP | other *** search
- start:
- ON ERROR GOTO 0
- CLS
- DEFLNG A-Z
- DIM nub$(256)
- DEF fnCode (xi AS STRING)
- xiln = LEN(xi$)
- cdln = LEN(cd39$)
- IF xiln < 1 THEN
- xo = 12
- ELSE
- FOR ix = 1 TO xiln
- xx$ = MID$(xi$, ix, 1)
- FOR jx = 1 TO cdln
- xo = ix
- IF xx$ = MID$(cd39$, jx, 1) THEN
- xo = 0
- jx = cdln + 2
- END IF
- NEXT jx
- IF xo <> 0 THEN ix = xiln + 2
- NEXT ix
- END IF
- fnCode = xo
- END DEF
- '
- DEF fninc$ (xi AS STRING, x AS INTEGER, stp AS INTEGER)
- xx$ = MID$(xi$, x)
- xxl = LEN(xx$)
- FOR ix = xxl TO 1 STEP -1
- IF ix = xxl OR (stp = 1 AND xxi = 1) OR (stp = -1 AND xxi = 10) OR (stp = 1 AND xxi = 11) OR (stp = -1 AND xxi = 36) THEN
- xxi = INSTR(1, cd39$, MID$(xx$, ix, 1))
- IF xxi <= 10 THEN
- IF stp = -1 THEN
- IF xxi > 1 THEN
- xxi = xxi - 1
- ELSEIF xxi = 1 THEN
- xxi = 10
- END IF
- ELSE
- IF xxi < 10 THEN
- xxi = xxi + 1
- ELSEIF xxi = 10 THEN
- xxi = 1
- END IF
- END IF
- a$ = MID$(cd39$, xxi, 1)
- MID$(xx$, ix) = a$
- ELSE
- IF stp = -1 THEN
- IF xxi > 11 THEN
- xxi = xxi - 1
- ELSEIF xxi = 11 THEN
- xxi = 36
- END IF
- ELSE
- IF xxi < 36 THEN
- xxi = xxi + 1
- ELSEIF xxi = 36 THEN
- xxi = 11
- END IF
- END IF
- a$ = MID$(cd39$, xxi, 1)
- MID$(xx$, ix) = a$
- END IF
- ' PRINT ix, xxi, a$, xx$
- END IF
- NEXT ix
- xo$ = MID$(xi$, 1, x - 1) + xx$
- fninc$ = xo$
- END DEF
- '
- DEF fnchksum$ (xi AS STRING)
- xil = LEN(xi$)
- xs = 0
- FOR xii = 1 TO xil
- xxii = INSTR(1, cd39$, MID$(xi$, xii, 1))
- xs = xs + xxii - 1
- NEXT xii
- xo$ = xi$ + MID$(cd39$, (xs MOD 43) + 1, 1)
- fnchksum$ = xo$
- END DEF
- CLS
- cd39$ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%*"
- '
- '
- LOCATE 23, 5: COLOR 12: PRINT " -----------------------------------------------";
- LOCATE 24, 10: COLOR 1: PRINT "WARNING: "; : COLOR 6: PRINT " Press any Key for begin";
- '
- COLOR 7
- LOCATE 1, 22: PRINT "Print Program for Code 39"
- LOCATE 2, 22: PRINT "========================="
- LOCATE 3, 5: PRINT CHR$(218);
- PRINT STRING$(60, CHR$(196));
- PRINT CHR$(191)
- FOR i = 4 TO 15
- LOCATE i, 5: PRINT CHR$(179)
- LOCATE i, 66: PRINT CHR$(179)
- NEXT i
- FOR i = 1 TO 21
- LOCATE 16, i * 3: PRINT CHR$(36) + CHR$(36) + "-";
- NEXT i
- PRINT CHR$(36) + CHR$(36)
- LOCATE 6, 20: PRINT CHR$(179); CHR$(221); CHR$(221); CHR$(186); CHR$(221); CHR$(179); CHR$(179); CHR$(221); CHR$(186); CHR$(221); CHR$(221); CHR$(186)
- LOCATE 6, 40: PRINT CHR$(179); CHR$(221); CHR$(221); CHR$(186); CHR$(221); CHR$(179); CHR$(179); CHR$(221); CHR$(186); CHR$(221); CHR$(221); CHR$(186)
- LOCATE 7, 20: PRINT CHR$(179); CHR$(221); CHR$(221); CHR$(186); CHR$(221); CHR$(179); CHR$(179); CHR$(221); CHR$(186); CHR$(221); CHR$(221); CHR$(186)
- LOCATE 7, 40: PRINT CHR$(179); CHR$(221); CHR$(221); CHR$(186); CHR$(221); CHR$(179); CHR$(179); CHR$(221); CHR$(186); CHR$(221); CHR$(221); CHR$(186)
- LOCATE 11, 20: PRINT CHR$(179); CHR$(221); CHR$(221); CHR$(186); CHR$(221); CHR$(179); CHR$(179); CHR$(221); CHR$(186); CHR$(221); CHR$(221); CHR$(186)
- LOCATE 11, 40: PRINT CHR$(179); CHR$(221); CHR$(221); CHR$(186); CHR$(221); CHR$(179); CHR$(179); CHR$(221); CHR$(186); CHR$(221); CHR$(221); CHR$(186)
- LOCATE 12, 20: PRINT CHR$(179); CHR$(221); CHR$(221); CHR$(186); CHR$(221); CHR$(179); CHR$(179); CHR$(221); CHR$(186); CHR$(221); CHR$(221); CHR$(186)
- LOCATE 12, 40: PRINT CHR$(179); CHR$(221); CHR$(221); CHR$(186); CHR$(221); CHR$(179); CHR$(179); CHR$(221); CHR$(186); CHR$(221); CHR$(221); CHR$(186)
- '
- t1 = (VAL(MID$(TIME$, 7, 2)) + 20) MOD 60
- DO
- t = VAL(MID$(TIME$, 7, 2))
- COLOR (t MOD 10 + 1)
- LOCATE 5, 22: PRINT "JBC-BAR01 JBC-BAR02"
- LOCATE 8, 23: PRINT "*BAR01B* *BAR02C*"
- LOCATE 10, 22: PRINT "JBC-BAR03 JBC-BAR04"
- LOCATE 13, 23: PRINT "*BAR03D* *BAR04E*"
- LOOP UNTIL t = t1 OR LEN(INKEY$) > 0
- '
- bit$ = "3..10"
- lnx = 10
- ii = 0
- COLOR 0
- LOCATE 23, 5: PRINT " ";
- LOCATE 24, 10: PRINT " ";
- DO
- linex = 17
- x = LEN(bit$)
- COLOR 7
- LOCATE 5, 22: PRINT "JBC-BAR01 JBC-BAR02"
- LOCATE 8, 23: PRINT "*BAR01B* *BAR02C*"
- LOCATE 10, 22: PRINT "JBC-BAR03 JBC-BAR04"
- LOCATE 13, 23: PRINT "*BAR03D* *BAR04E*"
- COLOR 6
- LOCATE 5, 26: PRINT "BAR01"
- LOCATE 8, 24: PRINT "BAR01"
- COLOR 6
- LOCATE linex, 5: PRINT "Start Seral Number for BarCode ("; bit$; ") ? _"
- COLOR 2
- LOCATE linex, 41 + x: PRINT ".."
- COLOR 6
- LOCATE linex, 43 + x: PRINT STRING$(lnx - 2, "."); SPACE$(15 - lnx)
- LOCATE linex + 1, 38: PRINT " "
- LOCATE linex + 2, 42: PRINT " "
- DO
- 'ixx = 0
- 'sbc$ = ""
- 'ixx$ = INKEY$
- 'DO
- ' ixx$ = INKEY$
- ' IF MID$(ixx$, 1, 1) = CHR$(0) THEN
- ' BEEP
- ' ixx$ = INKEY$
- ' ixx$ = ""
- ' ELSEIF ixx$ = CHR$(8) AND LEN(sbc$) > 0 THEN
- ' ixx = ixx - 1
- ' sbc$ = MID$(sbc$, 1, ixx)
- ' LOCATE linex, 41 + x: PRINT sbc$; "_"; SPACE$(1);
- ' ixx$ = ""
- ' END IF
- ' ixl = LEN(ixx$)
- ' IF ixl > 0 AND ixx < 10 THEN
- ' IF ASC(ixx$) > 32 AND ASC(ixx$) < 127 THEN
- ' ixx = ixx + ixl
- ' sbc$ = sbc$ + ixx$
- ' END IF
- ' LOCATE linex, 41 + x: PRINT sbc$; "_"
- ' ELSEIF ixl > 0 AND ixx = 10 THEN
- ' BEEP
- ' END IF
- 'LOOP UNTIL ixx$ = CHR$(13)
- LOCATE linex, 41 + x: INPUT "", sbc$
- LOCATE linex, 41 + x: PRINT sbc$; SPACE$(15 - ixx);
- sbc$ = UCASE$(sbc$)
- x1 = fnCode(sbc$)
- x1ln = LEN(sbc$)
- IF x1ln < 3 THEN
- COLOR 2: LOCATE linex, 41 + x
- PRINT sbc$; STRING$(2 - x1ln, ".")
- COLOR 6: LOCATE linex, 43 + x
- PRINT STRING$(lnx - 2, "."); SPACE$(23)
- BEEP
- ELSEIF x1ln > lnx THEN
- COLOR 6: LOCATE linex, 41 + x
- PRINT MID$(sbc$, 1, lnx);
- COLOR 2: LOCATE linex, 41 + x + lnx
- PRINT MID$(sbc$, lnx + 1); SPACE$(23 - x1ln)
- COLOR 6
- BEEP
- ELSEIF x1 > 0 AND x1 <= lnx THEN
- COLOR 6: LOCATE linex, 41 + x
- PRINT MID$(sbc$, 1, x1 - 1);
- COLOR 2: PRINT MID$(sbc$, x1, 1);
- COLOR 6: PRINT MID$(sbc$, x1 + 1); STRING$(lnx - x1ln, "."); SPACE$(23 - lnx)
- BEEP
- ELSEIF xlin <= lnx AND 1 = 12 THEN
- COLOR 6: LOCATE linex, 41 + x: PRINT STRING$(lnx, "."); SPACE$(23)
- BEEP
- ELSE
- COLOR 6: LOCATE linex, 41 + x: PRINT sbc$;
- COLOR 2: PRINT STRING$(lnx - x1ln, "."); SPACE$(33 - lnx)
- COLOR 6
- IF bit$ = "3..10" AND x1ln > 0 AND x1ln <= lnx THEN
- bit$ = LTRIM$(STR$(x1ln))
- lnx = x1ln
- END IF
- END IF
- LOOP UNTIL x1ln = lnx AND x1 = 0
- nub$(ii) = sbc$
- linex = linex + 1
- COLOR 3
- LOCATE 10, 47: PRINT "BAR03"
- LOCATE 13, 44: PRINT "BAR04"
- x = LEN(bit$)
- LOCATE linex, 5: PRINT "End Seral Number for BarCode ("; bit$; ") ";
- COLOR 6: PRINT sbc$; : COLOR 3: PRINT SPACE$(39 - x - x1ln)
- DO
- LOCATE linex, 37 + x: INPUT ebc$
- ebc$ = UCASE$(ebc$)
- x2ln = LEN(ebc$)
- IF x2ln = 0 THEN
- ebc$ = sbc$
- x2ln = x1ln
- ELSEIF x2ln < x1ln THEN
- COLOR 6: LOCATE linex, 39 + x: PRINT sbc$;
- COLOR 3: LOCATE linex, 39 + x + x1ln: PRINT SPACE$(40 - x - x1ln)
- BEEP
- ELSEIF x2ln > x1ln THEN
- COLOR 6: LOCATE linex, 39 + x: PRINT sbc$;
- COLOR 3: LOCATE linex, 39 + x + x1ln: PRINT SPACE$(40 - x - x1ln)
- BEEP
- END IF
- IF x2ln = x1ln THEN
- x2 = fnCode(ebc$)
- IF x2 = 0 THEN
- p = 0
- FOR i = 1 TO x2ln
- IF MID$(sbc$, i, 1) <> MID$(ebc$, i, 1) THEN
- p = i
- i = x2ln + 2
- END IF
- NEXT i
- IF p > 0 THEN
- FOR i = p TO lnx
- px1 = INSTR(1, cd39$, MID$(sbc$, i, 1))
- px2 = INSTR(1, cd39$, MID$(ebc$, i, 1))
- IF px1 > 37 OR px2 > 37 THEN x2 = 12
- IF px1 <= 10 AND px2 <= 10 THEN
- ELSEIF px1 > 10 AND px1 < 37 AND px2 > 10 AND px2 < 37 THEN
- ELSE
- x2 = i
- i = lnx + 2
- END IF
- NEXT i
- END IF
- END IF
- IF x2 = 0 THEN
- LOCATE linex, 39 + x: PRINT ebc$; SPACE$(40 - x - x2ln)
- ELSE
- COLOR 3: LOCATE linex, 39 + x
- PRINT MID$(ebc$, 1, x2 - 1);
- COLOR 2: PRINT MID$(ebc$, x2, 1);
- COLOR 3: PRINT MID$(ebc$, x2 + 1); SPACE$(40 - x - x2ln)
- BEEP
- END IF
- ELSE
- x2 = 12
- END IF
- LOOP UNTIL x2 = 0
- nub$(ii) = sbc$ + "," + ebc$ + "," + STR$(p)
- ii = ii + 1
- COLOR 4
- linex = linex + 1
- IF ii = 256 THEN
- x$ = "n"
- ELSE
- LOCATE linex, 5: PRINT "Input next Group BarCode Again (y/n) ? "; : COLOR 7: PRINT "y"
- DO
- x$ = LCASE$(INKEY$)
- IF x$ = CHR$(13) THEN x$ = "y"
- IF x$ = "y" OR x$ = "n" THEN
- LOCATE linex, 44: COLOR 4: PRINT x$
- ELSEIF LEN(x$) > 0 THEN
- BEEP
- END IF
- LOOP UNTIL x$ = "y" OR x$ = "n"
- END IF
- LOOP UNTIL x$ = "n" OR x$ = "N"
- '
- COLOR 5
- LOCATE 8, 29: PRINT "B"
- LOCATE 8, 49: PRINT "C"
- LOCATE 13, 29: PRINT "D"
- LOCATE 13, 49: PRINT "E"
- LOCATE linex, 5: PRINT "CheckSun after BarCode (y/n) : "; : COLOR 7: PRINT "y "
- COLOR 5
- DO
- x$ = LCASE$(INKEY$)
- IF x$ = CHR$(13) THEN x$ = "y"
- IF x$ = "y" OR x$ = "n" THEN
- LOCATE linex, 36: PRINT x$
- ELSEIF LEN(x$) > 0 THEN
- BEEP
- END IF
- LOOP UNTIL x$ = "y" OR x$ = "n"
- linex = linex + 1
- IF x$ = "y" OR x$ = CHR$(13) THEN
- bc = 1
- ELSE
- bc = 0
- COLOR 7
- LOCATE 8, 29: PRINT "* "
- LOCATE 8, 49: PRINT "* "
- LOCATE 13, 29: PRINT "* "
- LOCATE 13, 49: PRINT "* "
- END IF
- '
- COLOR 12
- LOCATE 5, 22: PRINT "JBC-"
- LOCATE 5, 43: PRINT "JBC-"
- LOCATE 10, 22: PRINT "JBC-"
- LOCATE 10, 43: PRINT "JBC-"
- LOCATE linex, 5: PRINT "Prefix of Description for BarCode "; STRING$(lnx, ".")
- DO
- LOCATE linex, 39: INPUT ""; x$
- IF LEN(x$) < lnx OR x$ = CHR$(13) THEN
- LOCATE linex, 41: PRINT x$; SPACE$(37 - LEN(x$))
- ELSE
- BEEP
- LOCATE linex, 41: PRINT MID$(x$, 1, lnx)
- LOCATE linex, 41 + lnx: COLOR 7: PRINT MID$(x$, lnx + 1); SPACE$(37 - LEN(x$))
- COLOR 12
- END IF
- LOOP UNTIL LEN(x$) <= lnx OR x$ = CHR$(13)
- IF x$ = CHR$(13) THEN
- pdb$ = ""
- ELSE
- pdb$ = x$
- END IF
- linex = linex + 1
- IF pdb$ = "" THEN
- COLOR 7
- LOCATE 5, 22: PRINT "JBC-"
- LOCATE 5, 43: PRINT "JBC-"
- LOCATE 10, 22: PRINT "JBC-"
- LOCATE 10, 43: PRINT "JBC-"
- END IF
- SLEEP (1)
- x$ = INKEY$
- IF x$ = CHR$(13) THEN x$ = ""
- '
- COLOR 2
- clup = 7
- cldn = 2
- x1$ = "D"
- bcnb = -1
- IF bc = 1 THEN
- LOCATE 5, 22: COLOR clup: PRINT " *BAR01B* *BAR02C* "
- LOCATE 8, 22: COLOR cldn: PRINT " *BAR03D* *BAR04E* "
- LOCATE 10, 22: COLOR clup: PRINT " *BAR01B* *BAR02C* "
- LOCATE 13, 22: COLOR cldn: PRINT " *BAR03D* *BAR04E* "
- ELSEIF bc = 0 THEN
- LOCATE 5, 22: COLOR clup: PRINT " *BAR01* *BAR02* "
- LOCATE 8, 22: COLOR cldn: PRINT " *BAR03* *BAR04* "
- LOCATE 10, 22: COLOR clup: PRINT " *BAR01* *BAR02* "
- LOCATE 13, 22: COLOR cldn: PRINT " *BAR03* *BAR04* "
- END IF
- LOCATE linex, 5: PRINT "Seral Number Up BarCode or Down or Nothing (U,D,N) ? ";
- COLOR 7: PRINT x1$
- DO
- COLOR 2
- x$ = UCASE$(INKEY$)
- IF x$ = "U" OR x$ = "D" OR x$ = "N" THEN
- x1$ = ""
- LOCATE linex, 58: COLOR 2: PRINT x$ + " "
- ELSEIF x$ = CHR$(13) AND x1$ = "D" THEN
- x1$ = ""
- LOCATE linex, 58: COLOR 2: PRINT "D "
- bcnb = 2
- clup = 7
- cldn = 2
- ELSEIF LEN(x$) > 0 THEN
- BEEP
- END IF
- IF x$ = "U" THEN
- bcnb = 1
- clup = 2
- cldn = 7
- ELSEIF x$ = "D" THEN
- bcnb = 2
- clup = 7
- cldn = 2
- ELSEIF x$ = "N" THEN
- bcnb = 0
- clup = 7
- cldn = 7
- END IF
- IF bc = 1 AND LEN(x$) > 0 THEN
- LOCATE 5, 22: COLOR clup: PRINT " *BAR01B* *BAR02C* "
- LOCATE 8, 22: COLOR cldn: PRINT " *BAR03D* *BAR04E* "
- LOCATE 10, 22: COLOR clup: PRINT " *BAR01B* *BAR02C* "
- LOCATE 13, 22: COLOR cldn: PRINT " *BAR03D* *BAR04E* "
- ELSEIF bc = 0 AND LEN(x$) > 0 THEN
- LOCATE 5, 22: COLOR clup: PRINT " *BAR01* *BAR02* "
- LOCATE 8, 22: COLOR cldn: PRINT " *BAR03* *BAR04* "
- LOCATE 10, 22: COLOR clup: PRINT " *BAR01* *BAR02* "
- LOCATE 13, 22: COLOR cldn: PRINT " *BAR03* *BAR04* "
- END IF
- LOOP UNTIL bcnb > -1 AND x$ = CHR$(13)
- linex = linex + 1
- '
- COLOR 3
- IF bcnb = 1 THEN
- x1$ = "D"
- clup = 2
- cldn = 3
- ELSEIF bcnb = 2 THEN
- x1$ = "U"
- clup = 3
- cldn = 2
- ELSE
- x1$ = "U"
- clup = 3
- cldn = 7
- END IF
- bcdc = -1
- IF bcnb = 0 THEN
- LOCATE 5, 22: COLOR clup: PRINT "JBC-BAR01 JBC-BAR02 "
- LOCATE 8, 22: COLOR cldn: PRINT "JBC-BAR03 JBC-BAR04 "
- LOCATE 10, 22: COLOR clup: PRINT "JBC-BAR01 JBC-BAR02 "
- LOCATE 13, 22: COLOR cldn: PRINT "JBC-BAR03 JBC-BAR04 "
- ELSEIF bc = 1 THEN
- LOCATE 5, 22: COLOR clup: PRINT "JBC-BAR01 JBC-BAR02* "
- LOCATE 8, 22: COLOR cldn: PRINT " *BAR03D* *BAR04E* "
- LOCATE 10, 22: COLOR clup: PRINT "JBC-BAR01 JBC-BAR02 "
- LOCATE 13, 22: COLOR cldn: PRINT " *BAR03D* *BAR04E* "
- ELSEIF bc = 0 THEN
- LOCATE 5, 22: COLOR clup: PRINT " *BAR01* *BAR02* "
- LOCATE 8, 22: COLOR cldn: PRINT "JBC-BAR03 JBC-BAR04 "
- LOCATE 10, 22: COLOR clup: PRINT " *BAR01* *BAR02* "
- LOCATE 13, 22: COLOR cldn: PRINT "JBC-BAR03 JBC-BAR04 "
- END IF
- COLOR 3
- LOCATE linex, 5: PRINT "Description Up BarCode or Down or Nothing (U,D,N) ? ";
- COLOR 7: PRINT x1$
- DO
- x$ = UCASE$(INKEY$)
- IF x$ = CHR$(13) AND LEN(x1$) > 0 THEN
- x2$ = x1$
- x1$ = ""
- LOCATE linex, 57: COLOR 3: PRINT x1$ + " "
- ELSE
- x2$ = x$
- END IF
- IF x$ = "U" OR x$ = "D" OR x$ = "N" OR x$ = CHR$(13) THEN
- IF x2$ = "U" AND bcnb <> 1 THEN
- x1$ = ""
- LOCATE linex, 57: COLOR 3: PRINT x2$ + " "
- bcdc = 1
- clup = 3
- cldn = 2
- IF bcnb = 0 THEN cldn = 7
- ELSEIF x2$ = "D" AND bcnb <> 2 THEN
- x1$ = ""
- LOCATE linex, 57: COLOR 3: PRINT x2$ + " "
- bcdc = 2
- clup = 2
- cldn = 3
- IF bcnb = 0 THEN clup = 7
- ELSEIF x2$ = "N" THEN
- x1$ = ""
- LOCATE linex, 57: COLOR 3: PRINT x2$ + " "
- bcdc = 0
- clup = 7
- cldn = 7
- IF bcnb = 1 THEN clup = 2
- IF bcnb = 2 THEN cldn = 2
- END IF
- ELSEIF LEN(x$) > 0 THEN
- BEEP
- END IF
- IF bc = 1 AND (x$ = "U" OR x$ = "D" OR x$ = "N" OR x$ = CHR$(13)) AND bcnb <> 0 THEN
- LOCATE 5, 22: COLOR clup: PRINT "JBC-BAR01 JBC-BAR02* "
- LOCATE 8, 22: COLOR cldn: PRINT " *BAR03D* *BAR04E* "
- LOCATE 10, 22: COLOR clup: PRINT "JBC-BAR01 JBC-BAR02 "
- LOCATE 13, 22: COLOR cldn: PRINT " *BAR03D* *BAR04E* "
- ELSEIF bc = 0 AND (x$ = "U" OR x$ = "D" OR x$ = "N" OR x$ = CHR$(13)) AND bcnb <> 0 THEN
- LOCATE 5, 22: COLOR clup: PRINT " *BAR01* *BAR02* "
- LOCATE 8, 22: COLOR cldn: PRINT "JBC-BAR03 JBC-BAR04 "
- LOCATE 10, 22: COLOR clup: PRINT " *BAR01* *BAR02* "
- LOCATE 13, 22: COLOR cldn: PRINT "JBC-BAR03 JBC-BAR04 "
- ELSEIF (x$ = "U" OR x$ = "D" OR x$ = "N" OR x$ = CHR$(13)) AND bcnb = 0 THEN
- LOCATE 5, 22: COLOR clup: PRINT "JBC-BAR01 JBC-BAR02 "
- LOCATE 8, 22: COLOR cldn: PRINT "JBC-BAR03 JBC-BAR04 "
- LOCATE 10, 22: COLOR clup: PRINT "JBC-BAR01 JBC-BAR02 "
- LOCATE 13, 22: COLOR cldn: PRINT "JBC-BAR03 JBC-BAR04 "
- END IF
- LOOP UNTIL bcdc > -1 AND x$ = CHR$(13)
- linex = linex + 1
- '
- retry:
- n1$ = "JBC_BAR.TXT"
- LOCATE linex, 5: COLOR 4: PRINT "BarCode TXT FileName "; : COLOR 7: PRINT n1$
- COLOR 4:
- LOCATE linex, 25: INPUT ""; x$
- ON ERROR GOTO retry
- IF LEN(x$) > 0 THEN n1$ = x$
- OPEN n1$ FOR OUTPUT AS #1
- LOCATE linex, 27: PRINT n1$
- SLEEP (2)
- x$ = INKEY$
- IF x$ = CHR$(13) THEN x$ = ""
- '
- COLOR 0
- ON ERROR GOTO 0
- linex = 17
- FOR i = 0 TO 5
- LOCATE linex + i, 5: PRINT SPACE$(70);
- NEXT i
- '
- LOCATE 23, 5: COLOR 12: PRINT " -----------------------------------------------";
- COLOR 6
- LOCATE 24, 10: COLOR 1: PRINT "WARNING: ";
- COLOR 6: PRINT "Space "; : COLOR 1: PRINT "Option ";
- COLOR 4, 0
- pp = 0
- p$ = "LPT1"
- LOCATE linex, 5: PRINT "PrinterPort : "; : COLOR 7: PRINT p$;
- COLOR 4
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN
- 'pp = (pp + 1) MOD 5 ' LPT1..3,COM1..2
- pp = (pp + 1) MOD 2 ' LPT1..2
- IF pp <= 2 THEN
- p$ = "LPT" + LTRIM$(HEX$(pp + 1))
- ELSE
- p$ = "COM" + LTRIM$(HEX$(pp - 2))
- END IF
- ELSEIF LEN(x$) > 0 AND x$ <> CHR$(13) THEN
- BEEP
- END IF
- IF LEN(x$) > 0 OR x$ = CHR$(13) THEN LOCATE linex, 19: PRINT p$;
- LOOP UNTIL x$ = CHR$(13)
- IF pp > 2 THEN
- COLOR 12, 0
- bdr = 0
- p$ = "9600"
- LOCATE linex, 25: PRINT "BaudRate="; : COLOR 7: PRINT p$;
- COLOR 12
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN
- bdr = (bdr + 1) MOD 8
- SELECT CASE bdr
- CASE IS = 0
- p$ = "9600"
- brd$ = CHR$(&HE0)
- CASE IS = 1
- p$ = "4800"
- brd$ = CHR$(&HC0)
- CASE IS = 2
- p$ = "2400"
- brd$ = CHR$(&HA0)
- CASE IS = 3
- p$ = "1200"
- brd$ = CHR$(&H80)
- CASE IS = 4
- p$ = "600 "
- brd$ = CHR$(&H40)
- CASE IS = 5
- p$ = "300 "
- brd$ = CHR$(&H20)
- CASE IS = 6
- p$ = "130 "
- brd$ = CHR$(&H10)
- CASE IS = 7
- p$ = "110 "
- brd$ = CHR$(&H8)
- END SELECT
- ELSEIF LEN(x$) > 0 AND x$ <> CHR$(13) THEN
- BEEP
- END IF
- IF LEN(x$) > 0 OR x$ = CHR$(13) THEN LOCATE linex, 34: PRINT p$;
- LOOP UNTIL x$ = CHR$(13)
- COLOR 13, 0
- pb = 0
- p$ = "None"
- LOCATE linex, 39: PRINT "ParityBit="; : COLOR 7: PRINT p$;
- COLOR 13
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN
- pb = (pb + 1) MOD 3
- SELECT CASE pb
- CASE IS = 0
- p$ = "None"
- CASE IS = 1
- p$ = "Even"
- CASE IS = 2
- p$ = "Odd "
- END SELECT
- ELSEIF LEN(x$) > 0 AND x$ <> CHR$(13) THEN
- BEEP
- END IF
- IF LEN(x$) > 0 OR x$ = CHR$(13) THEN LOCATE linex, 49: PRINT p$;
- LOOP UNTIL x$ = CHR$(13)
- COLOR 14, 0
- stb = 0
- p$ = "1"
- LOCATE linex, 54: PRINT "StopBit="; : COLOR 7: PRINT p$;
- COLOR 14
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN
- stb = (stb + 1) MOD 2
- IF stb = 0 THEN
- p$ = "1"
- ELSE
- p$ = "2"
- END IF
- ELSEIF LEN(x$) > 0 AND x$ <> CHR$(13) THEN
- BEEP
- END IF
- IF LEN(x$) > 0 OR x$ = CHR$(13) THEN LOCATE linex, 62: PRINT p$;
- LOOP UNTIL x$ = CHR$(13)
- COLOR 10, 0
- db = 0
- p$ = "7"
- LOCATE linex, 64: PRINT "DataBit="; : COLOR 7: PRINT p$;
- COLOR 10
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN
- db = (db + 1) MOD 2
- IF db = 0 THEN
- p$ = "7"
- ELSE
- p$ = "8"
- END IF
- ELSEIF LEN(x$) > 0 AND x$ <> CHR$(13) THEN
- BEEP
- END IF
- IF LEN(x$) > 0 OR x$ = CHR$(13) THEN LOCATE linex, 72: PRINT p$;
- LOOP UNTIL x$ = CHR$(13)
- END IF
- pp = 0
- linex = linex + 1
- '
- COLOR 5, 0
- tp = 0
- tp$ = "HP Laser Jet"
- LOCATE linex, 5: PRINT "PrinterType : "; : COLOR 7: PRINT tp$;
- COLOR 5
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN
- 'tp = (tp + 1) MOD 5
- SELECT CASE tp
- CASE IS = 0
- tp$ = "HP Laser Jet"
- CASE IS = 1
- tp$ = "Epson Fx-X "
- CASE IS = 2
- tp$ = "Epson LQ-X "
- CASE IS = 3
- tp$ = "P5X "
- CASE IS = 4
- tp$ = "P6X "
- END SELECT
- ELSEIF LEN(x$) > 0 AND x$ <> CHR$(13) THEN
- BEEP
- END IF
- IF LEN(x$) > 0 OR x$ = CHR$(13) THEN LOCATE linex, 19: PRINT tp$;
- LOOP UNTIL x$ = CHR$(13)
- tp = 0
- linex = linex + 1
- '
- COLOR 6, 0
- ct = 0
- ct$ = "Code 39"
- LOCATE linex, 5: PRINT "BarCodeType : "; : COLOR 7: PRINT ct$;
- COLOR 6
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN
- 'ct = (ct + 1) MOD 10
- SELECT CASE ct
- CASE IS = 0
- ct$ = "Code 39 "
- CASE IS = 1
- ct$ = "Code 38 Full ASCII"
- CASE IS = 2
- ct$ = "Interleaved 2/5 "
- CASE IS = 3
- ct$ = "EAN-8 "
- CASE IS = 4
- ct$ = "EAN-13"
- CASE IS = 5
- ct$ = "UPC-A "
- CASE IS = 6
- ct$ = "UPC-E"
- CASE IS = 7
- ct$ = "CodeBar"
- CASE IS = 8
- ct$ = "UPC E to A"
- CASE IS = 9
- ct$ = "UPC A to E"
- END SELECT
- ELSEIF LEN(x$) > 0 AND x$ <> CHR$(13) THEN
- BEEP
- END IF
- IF LEN(x$) > 0 OR x$ = CHR$(13) THEN LOCATE linex, 19: PRINT ct$;
- LOOP UNTIL x$ = CHR$(13)
- ct = 0
- linex = linex + 1
- '
- COLOR 1, 0
- sc$ = "@"
- sc = 21
- LOCATE linex, 5: PRINT "SeparateCharacter : "; : COLOR 7: PRINT sc$ + sc$
- COLOR 1
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN
- 'sc = (sc + 1) MOD 22
- IF sc >= 0 AND sc < 15 THEN
- sc$ = CHR$(sc + 33)
- ELSE
- sc$ = CHR$(sc + 43)
- END IF
- END IF
- IF x$ = CHR$(32) OR x$ = CHR$(13) THEN
- LOCATE linex, 25: PRINT sc$ + sc$
- ELSEIF LEN(x$) > 0 THEN
- BEEP
- END IF
- LOOP UNTIL x$ = CHR$(13)
- sc$ = "@"
- SLEEP (2)
- x$ = INKEY$
- IF x$ = CHR$(13) THEN x$ = ""
- '
- ON ERROR GOTO 0
- COLOR 0
- linex = 17
- FOR i = 0 TO 5
- LOCATE linex + i, 5: PRINT SPACE$(70);
- NEXT i
- '
- COLOR 4, 0
- linex = 17
- pw = 210
- pl = 295
- LOCATE linex, 41: PRINT " "
- LOCATE linex, 5: PRINT "Size of Print Paper (mm): Width ="; : COLOR 7: PRINT pw;
- LOCATE linex, 46: COLOR 4: PRINT "Length ="; : COLOR 7: PRINT pl; : COLOR 4: PRINT " (A4) ";
- LOCATE 23, 5: COLOR 12: PRINT " -----------------------------------------------";
- LOCATE 24, 10: COLOR 1: PRINT "WARNING: ";
- COLOR 4: PRINT "40 < Width < 500 ; 40 < Length < 500";
- DO
- LOCATE linex, 39: INPUT "", x
- IF x > 0 THEN pw = x
- LOCATE linex, 51 + LEN(pw): INPUT "", x
- IF x > 0 THEN pl = x
- LOCATE linex, 5: PRINT "Size of Print Paper (mm): Width ="; pw;
- LOCATE linex, 46: COLOR 4: PRINT "Length ="; pl; : PRINT " "
- LOOP UNTIL pw >= 40 AND pw < 500 AND pl >= 40 AND pl < 500
- COLOR 2, 0
- pw = pw - 20
- pl = pl - 20
- linex = linex + 1
- gt = 4
- LOCATE 24, 10: COLOR 1: PRINT "WARNING: ";
- COLOR 2: PRINT "3 < G.T < "; pw - 20; " ";
- COLOR 3: PRINT "4 < G.L < "; pl - 20; " "; : COLOR 2
- LOCATE linex, 5: PRINT "Gap of Top (Line) = (4mm/Line) ";
- LOCATE linex, 24: COLOR 7: PRINT gt: COLOR 2, 0
- LOCATE 4, 17: PRINT CHR$(218); CHR$(196); CHR$(196); CHR$(18)
- LOCATE 5, 12: PRINT "G.T "; CHR$(196); CHR$(217);
- DO
- LOCATE linex, 25: INPUT "", x
- IF x > 0 THEN gt = x
- IF x = 0 THEN
- LOCATE linex, 24: PRINT gt
- END IF
- LOOP UNTIL gt > 3 AND gt < pw - 20
- gt = gt - 3
- '
- gl = 5
- COLOR 3
- LOCATE linex, 46: PRINT "Gap of Left (Chr) = (2.54mm/Chr)";
- LOCATE linex, 65: COLOR 7: PRINT gl: COLOR 3
- LOCATE 6, 6: PRINT CHR$(17); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(16)
- LOCATE 7, 12: PRINT "G.L "
- DO
- LOCATE linex, 66: INPUT "", x
- IF x > 0 THEN gl = x
- IF x = 0 THEN
- LOCATE linex, 65: PRINT gl
- END IF
- LOOP UNTIL gl > 4 AND gl < pw - 20
- gl = gl - 4
- linex = linex + 1
- '
- COLOR 6
- hc = 3
- LOCATE linex, 5: PRINT "High of Code (mm)="; : COLOR 7: PRINT hc * 4; SPACE$(20): COLOR 6
- LOCATE 24, 10: COLOR 1: PRINT "WARNING: ";
- COLOR 6: PRINT "Space "; : COLOR 1: PRINT "Option ";
- COLOR 6
- LOCATE 11, 17: PRINT CHR$(95); CHR$(24)
- LOCATE 12, 11: PRINT "H.C "; CHR$(196); CHR$(217); " "; CHR$(25);
- LOCATE linex, 5: PRINT "High of Code (mm) ="; : COLOR 7: PRINT hc * 4; SPACE$(20): COLOR 6
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN hc = (hc MOD 8) + 1
- IF LEN(x$) > 0 THEN LOCATE linex, 5: PRINT "High of Code (mm) ="; hc * 4; SPACE$(20)
- LOOP UNTIL x$ = CHR$(13)
- LOCATE 24, 10: COLOR 1: PRINT "WARNING: ";
- COLOR 5: PRINT "Space "; : COLOR 1: PRINT "Option ";
- COLOR 5
- wc = 2
- wcx = INT((wc + 2) * (lnx + bc + 2) * 134) / 100
- LOCATE linex, 46: PRINT "Width of Code (mm) ="; : COLOR 7: PRINT wcx; : COLOR 5
- LOCATE 14, 20: PRINT CHR$(17); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(16)
- LOCATE 15, 25: PRINT "W.C"
- LOCATE linex, 66: COLOR 7: PRINT wcx; : COLOR 5
- DO
- x$ = INKEY$
- IF x$ = CHR$(32) THEN wc = ((wc + 1) MOD 3)
- wcx = INT((wc + 2) * (lnx + bc + 2) * 134) / 100
- IF LEN(x$) > 0 THEN LOCATE linex, 66: PRINT wcx;
- LOOP UNTIL x$ = CHR$(13)
- linex = linex + 1
- IF wc = 0 THEN
- wcx = INT((lnx + bc + 2) * 2.675) + 4
- ELSEIF wc = 1 THEN
- wcx = INT((lnx + bc + 2) * 4.017) + 3
- ELSEIF wc = 2 THEN
- wcx = INT((lnx + bc + 2) * 5.375) + 2
- END IF
- pp = pp 'PrinterPort [0..4] = LPT1..3, COM1..2
- tp = 0 'PrinterType [0..4] = HP Laser jet,Epson FX-X,Epson LQ-X,
- ' NEC P5X,NEC P6X
- ct = 0 'BarCodeType [0..9] = Code39,Code39Full,Interleaved 2/5,EAN8,EAN13
- ' UPC-A,UPC-E,CodeBar,UPC E to A,UPC A to E
- sc$ = "@" 'SeparateCharacter [!,#../ :,;..?,@]
- md = 0 'Mode for Txt & Bar [0..3] = T & B, T / B, & B T, / B T
- cpi = 0 'CharactersPerInch [0..1] = 10cpi, 12cpi
- lpi = 0 'LinesPerInch [0..1] = 6lpi, 8lpi
- ht = hc - 1 'Height [0..7] = (1..8) * 25.4 / ((lpi + 3) * 2) (mm)
- dns = wc 'Density [0..2] = (1..3) * 25.4 / ((cpi + 5) * 2) (mm)
- slt = 0 'ScaleTimes [0..7] = (1..8) * dns
- ret = 0 'RestrikeTimes [0..2] = Grey
- tpt$ = "!" 'TypePrompt [!,#,../ :,;..?]
- '
- bdr = &HE0 'BaudRate [E0,C0..20,10] = 9600,4800..110
- pb = 0 'ParityBit [00,08,18] = none,odd,even
- stb = 0 'StopBit [00,04] = 1 bit , 2 bit
- db = 2 'DataBit [02,03] = 7 bit , 8 bit
- dtr = 0 'DTR [00,01] = high,low
- '
- n2$ = "JBC_BAR.CFG"
- OPEN n2$ FOR OUTPUT AS #2
- PRINT #2, CHR$(pp); CHR$(0); CHR$(tp); CHR$(0);
- PRINT #2, CHR$(ct); CHR$(0); sc$; CHR$(0);
- PRINT #2, CHR$(md); CHR$(0); CHR$(cpi); CHR$(0);
- PRINT #2, CHR$(lpi); CHR$(0); CHR$(ht); CHR$(0);
- PRINT #2, CHR$(dns); CHR$(0); CHR$(slt); CHR$(0);
- PRINT #2, CHR$(ret); CHR$(0); CHR$(0); CHR$(0);
- '
- PRINT #2, tpt$; CHR$(0); CHR$(bdr); CHR$(0);
- PRINT #2, CHR$(pb); CHR$(0); CHR$(stb); CHR$(0);
- PRINT #2, CHR$(db); CHR$(0); CHR$(dtr); CHR$(0);
- CLOSE #2
- '
- COLOR 1
- bcc = INT((pw - gl * 5.08 + 12) / (wcx + 12))
- x = bcnb + bcdc
- IF x >= 2 THEN
- x = 2
- IF bcnb = 0 OR bcdc = 0 THEN x = 1
- END IF
- bcl = INT((pl - gt * 8.46) / (hc * 4.23 + x * 4.23 + 8.46))
- LOCATE linex, 5: PRINT "BarCode Columns per Line ="; : COLOR 7: PRINT bcc; SPACE$(20): COLOR 1
- LOCATE linex, 46: PRINT "BarCode Lines per Page ="; : COLOR 7: PRINT bcl; : COLOR 1
- linex = linex + 1
- COLOR 4
- IF bcc > 1 THEN dc = INT((pw - gl * 5 - bcc * wcx) / (bcc - 1) / 2.54)
- dr = INT((pl - (gt * 2 + bcl * hc + bcl * x) * 4.23) / bcl / 4.23)
- LOCATE 24, 10: COLOR 1: PRINT "WARNING: ";
- COLOR 10: PRINT "4 < D.C <"; INT(pw - gl * 5 - wcx * 2); " ";
- COLOR 11: PRINT "1 < D.R <"; INT(pl - (gt + hc) * 4.23 * 2); " "; : COLOR 10
- LOCATE linex, 5: PRINT "Distance between Column (Character) = (2.54mm/Chr) ";
- LOCATE linex, 42: COLOR 7: PRINT dc; : COLOR 10
- LOCATE 7, 32: PRINT CHR$(17); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(196); CHR$(16)
- LOCATE 8, 34: PRINT "D.C"
- IF bcc > 1 THEN
- DO
- LOCATE linex, 43: INPUT "", xdc
- IF xdc > 0 THEN dc = xdc
- IF xdc = 0 THEN LOCATE linex, 42: PRINT dc
- LOOP UNTIL (dc > 4) AND (dc < INT(pw - gl * 5 - wcx * 2))
- ELSE
- dc = 0
- END IF
- COLOR 11
- LOCATE linex, 46: PRINT "Distance between Row (Line) ="; : COLOR 7: PRINT dr: COLOR 11
- LOCATE 9, 34: PRINT "D.R "; CHR$(196); CHR$(196); CHR$(18)
- IF bcl > 1 THEN
- DO
- LOCATE linex, 76: INPUT "", xdr
- IF xdr > 0 THEN dr = xdr
- IF xdr = 0 THEN LOCATE linex, 75: PRINT dr
- LOOP UNTIL dr > 1 AND dr < INT(pl - (gt + hc) * 4.23 * 2)
- ELSE
- dr = 0
- END IF
- linex = linex + 1
- COLOR 13, 0
- IF bcc > 1 THEN bcc = INT((pw - gl * 5 + dc * 2.54) / (wcx + dc * 2.54))
- IF bcl > 1 THEN bcl = INT((pl - gt * 8.46) / ((hc + x + dr) * 4.23))
- LOCATE linex, 5: PRINT "Total Number for BarCode : "; bcc * bcl; "="; bcc; "X"; bcl;
- COLOR 7, 0
- SLEEP (3)
- '
- CLS
- ii = 0
- x0$ = ""
- xw = INT(wcx / 2.5 + .5) - (LEN(pdb$) + lnx)
- IF xw < 0 THEN xw = 0
- IF bcdc = 1 THEN
- up1$ = SPACE$(INT(xw / 2 + 1))
- ELSEIF bcdc = 2 THEN
- dn1$ = SPACE$(INT(xw / 2 + 1))
- END IF
- '
- xw = INT(wcx / 2.5 + .5) - (2 + lnx + bc)
- IF xw < 0 THEN xw = 0
- IF bcnb = 1 THEN
- up1$ = SPACE$(INT(xw / 2 + 1.5))
- ELSEIF bcnb = 2 THEN
- dn1$ = SPACE$(INT(xw / 2 + 1.5))
- END IF
- '
- pg = 1
- DO UNTIL nub$(ii) = ""
- IF bcl > 1 THEN
- IF pw / 2.54 > 50 THEN
- zz$ = SPACE$((pw / 2.54 - 40) / 2 - 5)
- ELSE
- zz$ = SPACE$(gl)
- END IF
- a$ = zz$ + " JBC Print Code-39 " + DATE$ + " " + TIME$ + " Page" + STR$(pg)
- PRINT #1, a$
- PRINT #1, ""
- END IF
- FOR i = 1 TO gt
- PRINT #1, ""
- NEXT i
- FOR i = 1 TO bcl
- x$ = SPACE$(gl)
- xup$ = x$
- xdn$ = x$
- IF nub$(ii) = "" THEN
- PRINT #1, ""
- ELSE
- FOR j = 1 TO bcc
- IF nub$(ii) = "" THEN
- j = bcc + 2
- ELSE
- IF x0$ = "" THEN
- x1 = INSTR(1, nub$(ii), ",")
- x1$ = MID$(nub$(ii), 1, x1 - 1)
- x2 = INSTR(x1 + 1, nub$(ii), ",")
- x2$ = MID$(nub$(ii), x1 + 1, x2 - x1 - 1)
- x = VAL(MID$(nub$(ii), x2 + 1))
- IF x1$ = x2$ THEN
- stp = 0
- ELSEIF x1$ < x2$ THEN
- stp = 1
- ELSE
- stp = -1
- END IF
- x0$ = x1$
- END IF
- IF bcdc = 1 THEN
- xsp$ = SPACE$(INT((j - 1) * (dc + (wcx - 1) / 2.5) + .4) + gl - LEN(xup$))
- xup$ = xup$ + xsp$ + up1$ + pdb$ + x0$
- END IF
- IF bcdc = 2 THEN
- xsp$ = SPACE$(INT((j - 1) * (dc + (wcx - 1) / 2.5) + .4) + gl - LEN(xdn$))
- xdn$ = xdn$ + xsp$ + dn1$ + pdb$ + x0$
- END IF
- xs$ = x0$
- IF bc = 1 THEN xs$ = fnchksum$(x0$)
- IF bcnb = 1 THEN
- xsp$ = SPACE$(INT((j - 1) * (dc + (wcx - 1) / 2.5) + .4) + gl - LEN(xup$))
- xup$ = xup$ + xsp$ + up1$ + "*" + xs$ + "*"
- END IF
- IF bcnb = 2 THEN
- xsp$ = SPACE$(INT((j - 1) * (dc + (wcx - 1) / 2.5) + .4) + gl - LEN(xdn$))
- xdn$ = xdn$ + xsp$ + dn1$ + "*" + xs$ + "*"
- END IF
- 'PRINT j - 1, (j - 1) * (dc + (wcx - 1) / 2.5) + 1.4
- xsp$ = SPACE$((j - 1) * (dc + lnx + bc + 4) + gl - LEN(x$))
- x$ = x$ + xsp$ + sc$ + sc$ + xs$ + sc$ + sc$
- IF x0$ = x2$ THEN
- ii = ii + 1
- x0$ = ""
- ELSE
- x0$ = fninc$(x0$, x, stp)
- END IF
- END IF
- NEXT j
- IF bcdc = 1 OR bcnb = 1 THEN
- PRINT #1, xup$
- xup$ = ""
- END IF
- PRINT #1, x$
- x$ = ""
- IF bcdc = 2 OR bcnb = 2 THEN
- PRINT #1, xdn$
- xdn$ = ""
- END IF
- IF i < bcl AND dr > 0 THEN
- FOR j = 1 TO dr
- PRINT #1, ""
- NEXT j
- END IF
- END IF
- NEXT i
- PRINT #1, CHR$(12);
- pg = pg + 1
- LOOP
- CLOSE #1
- '
- pgend:
- SYSTEM
- END
-
-