[Gambas-user] Barcode.... Here ya go Hamilton...
Stephen Bungay
sbungay at ...981...
Fri Apr 27 17:58:16 CEST 2007
This is the code (slightly modified from the original) for a Module (Mine is
called 'BarCodeFunctions') that should do the trick for you (and anyone else
who needs to make barcodes).
Steve.
' Gambas module file
'***********************************************************************
'* Author: Stephen Bungay.
'* Date: Sept 15 2006
'* Creates a barcode PNG file using the GNU Barcode
'* tool and Imagemagic convert.
'* Returns a Picture object.
'***********************************************************************
PUBLIC FUNCTION CreateBarCode(pEncodeString AS String, OPTIONAL pGiftCard AS
Boolean, pProduction AS Boolean) AS Picture
DIM ShellString AS String
DIM PathString AS String
DIM BarcodePathString AS String
DIM ReturnValue AS Picture
DIM FilePrefix AS String
' Remove any previopusly created barcode.
SHELL "rm -f " & user.Home & "/Barcode-" & pEncodeString & ".png"
' This command creates a 128b barcode...
ShellString = BarCodePathString & "barcode -b " & pEncodeString & " -e
128b -o " & "~/Barcode-" & pEncodeString & ".ps"
SHELL ShellString
WHILE NOT Exist("~/Barcode-" & pEncodeString & ".ps")
WAIT 0.4
WEND
ShellString = "convert " & "~/Barcode-" & pEncodeString & ".ps -crop
205x80+7+703 " & "~/Barcode-" & pEncodeString & ".png"
SHELL ShellString
WHILE Exist( "~/Barcode-" & pEncodeString & ".png") = FALSE
WAIT 1
WEND
SHELL "rm -f " & "~/Barcode-" & pEncodeString & ".ps"
WAIT 0.2
ReturnValue = picture.load( "~/Barcode-" & pEncodeString & ".png")
RETURN (ReturnValue)
END
'*************************************************************************
'* Print a barcode.
'* Takes a filename (PNG File created by the routine above)
'* as a parameter.
' * Substutute your printer here. This one uses a
'* DYMO_Labelwriter_400
'*************************************************************************
PUBLIC SUB PrintBarCode(pFileName AS String)
IF FormLauncher.Environment = ModuleConstants.cProduction THEN
SHELL "lpr -P DYMO_LabelWriter_400_USB_1 /home/kidscopos/Barcode-" &
pFileName
ELSE
Message.Info("Dev Environment In Use.\n" &
"Printing disabled.")
END IF
END
More information about the User
mailing list