Marc,
I have used a routine for the past years that creates a "3 of 9"
barcode. Not a true UPC format, but read by almost any barcode reader
out there.
Beyond that, It can also be used for barcoding invoice numbers,
customer numbers, etc,
The way I use it is to create the barcode and then swap out the code
for a tagged field in a print template.
I have listed it below.
HTH,
Robert
SUBROUTINE BARCODE.PCL.SUB
(BARCODE.INPUT,BARCODE.OUTPUT,BARCODE.HEIGHT)
* @(#) BARCODE.PCL.SUB Ported to jBASE 11:52:13 01 MAY 2007
IF BARCODE.HEIGHT = "" THEN BARCODE.HEIGHT = "90"
BARCODE.OUTPUT = ""
BARCODE.OUTPUT = BARCODE.OUTPUT: CHAR(27):"*p-":BARCODE.HEIGHT:"Y"
*** add *'s for Code 3 of 9 delimiters ***
WORK.BARCODE.INPUT = "*":OCONV(BARCODE.INPUT,'MCU'):"*"
XX = LEN(WORK.BARCODE.INPUT)
FOR K = 1 TO XX
THECHAR = WORK.BARCODE.INPUT[K,1]
GOSUB MAKE.CHAR
FOR P = 1 TO 9
X = MOD(P,2)
NW = PATTERN[P,1]
IF NW = "." THEN W = "3" ELSE W = "9"
IF X # 0 THEN
BARCODE.OUTPUT = BARCODE.OUTPUT:CHAR
(27):"*c":W:"a":BARCODE.HEIGHT:"b0P"
BARCODE.OUTPUT = BARCODE.OUTPUT:CHAR(27):"*p+":W:"X"
END ELSE
BARCODE.OUTPUT = BARCODE.OUTPUT:CHAR(27):"*p+":W:"X"
END
NEXT P
BARCODE.OUTPUT = BARCODE.OUTPUT:CHAR(27):"*p+10X"
NEXT K
RETURN
MAKE.CHAR:
BEGIN CASE
CASE THECHAR = '1' ; PATTERN ="-..-....-"
CASE THECHAR = '2' ; PATTERN ="..--....-"
CASE THECHAR = '3' ; PATTERN ="-.--....."
CASE THECHAR = '4' ; PATTERN ="...--...-"
CASE THECHAR = '5' ; PATTERN ="-..--...."
CASE THECHAR = '6' ; PATTERN ="..---...."
CASE THECHAR = '7' ; PATTERN ="...-..-.-"
CASE THECHAR = '8' ; PATTERN ="-..-..-.."
CASE THECHAR = '9' ; PATTERN ="..--..-.."
CASE THECHAR = '0' ; PATTERN ="...--.-.."
CASE THECHAR = 'A' ; PATTERN ="-....-..-"
CASE THECHAR = 'B' ; PATTERN ="..-..-..-"
CASE THECHAR = 'C' ; PATTERN ="-.-..-..."
CASE THECHAR = 'D' ; PATTERN ="....--..-"
CASE THECHAR = 'E' ; PATTERN ="-...--..."
CASE THECHAR = 'F' ; PATTERN ="..-.--..."
CASE THECHAR = 'G' ; PATTERN =".....--.-"
CASE THECHAR = 'H' ; PATTERN ="-....--.."
CASE THECHAR = 'I' ; PATTERN ="..-..--.."
CASE THECHAR = 'J' ; PATTERN ="....---.."
CASE THECHAR = 'K' ; PATTERN ="-......--"
CASE THECHAR = 'L' ; PATTERN ="..-....--"
CASE THECHAR = 'M' ; PATTERN ="-.-....-."
CASE THECHAR = 'N' ; PATTERN ="....-..--"
CASE THECHAR = 'O' ; PATTERN ="-...-..-."
CASE THECHAR = 'P' ; PATTERN ="..-.-..-."
CASE THECHAR = 'Q' ; PATTERN ="......---"
CASE THECHAR = 'R' ; PATTERN ="-.....--."
CASE THECHAR = 'S' ; PATTERN ="..-...--."
CASE THECHAR = 'T' ; PATTERN ="....-.--."
CASE THECHAR = 'U' ; PATTERN ="--......-"
CASE THECHAR = 'V' ; PATTERN =".--.....-"
CASE THECHAR = 'W' ; PATTERN ="---......"
CASE THECHAR = 'X' ; PATTERN =".-..-...-"
CASE THECHAR = 'Y' ; PATTERN ="--..-...."
CASE THECHAR = 'Z' ; PATTERN =".--.-...."
CASE THECHAR = '-' ; PATTERN =".-....-.-"
CASE THECHAR = '.' ; PATTERN ="--....-.."
CASE THECHAR = ' ' ; PATTERN =".--...-.."
CASE THECHAR = '*' ; PATTERN =".-..-.-.."
CASE THECHAR = '$' ; PATTERN =".-.-.-..."
CASE THECHAR = '/' ; PATTERN =".-.-...-."
CASE THECHAR = '+' ; PATTERN =".-...-.-."
CASE THECHAR = '%' ; PATTERN ="...-.-.-."
END CASE
RETURN
END
On Dec 20, 10:50 pm, Marc <[email protected]> wrote:
> Greetings all,
>
> I am looking for a simple(?) way to convert a part number and print
> the number along with the upc barcode for that number on a plain paper
> report. I have laser and inkjet printers available. The discussion
> pages go back a few years and I was wondering if there are any more
> current solutions available.
>
> As always, any help will be appreciated.
>
> Marc Zitcer
--
Please read the posting guidelines at:
http://groups.google.com/group/jBASE/web/Posting%20Guidelines
IMPORTANT: Type T24: at the start of the subject line for questions specific to
Globus/T24
To post, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en