Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

5/19/2014 VFPX - Home

CodePlex Project Hosting for Open Source Software Register Sign In Search all projects

HOME S OURCE CODE DOWNLOADS DOCUMENTATION DIS CUS S IONS IS S UES PEOPLE LICENS E

Page Info Change History (all pages) Follow (218) Subscribe

Search Wiki & Documentation


Home FoxBarcode

FoxBarcode downloads
FoxBarcode is a 100% Visual FoxPro class that provides a tool for generating images with different bar code
A CT IV IT Y
symbologies to be used in VFP forms and reports, or exported to other applications.

Project Manager: VFPEncoding (*) P A G E VIE W S VIS ITS DO W N LO A DS

(*) VFPEncoding are Guillermo Carrero (RIP) (Barcelona, Spain) and Luis Maria Guayan (Tucuman, 6983 2505 1039
Argentina)
Days: 7 30 All Details

In Memoriam Guillermo Carrero (Feb 05, 1961 / Jan 14, 2013)

FoxBarcode FAQs

Now FoxBarcode supports QR Code with its supplement FoxBarcodeQR

Download the latest release of FoxBarcode - v.1.12 - Release 2012.09.08

Download the latest release of FoxBarcodeQR - v.1.11 - Release 2013.08.24

Features
FoxBarcode supports the following barcode symbologies: Code 128 (Auto, A, B and C), Code 39, Code 39
Extended (Full ASCII), Code 93, Code 93 Extended (Full ASCII), Standard 2 of 5, Interleaved 2 of 5, EAN-8, EAN-
13, UPC-A, UPC-E (EAN and UPC with 2/5 digits supplements), ITF-14, GS1/UCC/EAN-128, Codabar, Code 11,
MSI / Plessey, PostNet, MS4SCC, KIX-Code, Telepen, One Track Pharmacode and Two Track
Pharmacode. Now supports QR Code with its supplement FoxBarcodeQR.

FoxBarcode supports the following image types: JPG, BMP, GIF, PNG and TIFF

FoxBarcode generates the images with the class gpImage2 (http://sites.google.com/site/gpimage2) of


Alexander Golovlev (Russia) and Cesar Ch. (Brazil), based on GDI + and requires gdiplus.dll.

FoxBarcode is compatible with all versions of Visual FoxPro from version 6.0

Properties
FoxBarcode allows greater control over the generation of bar code image to be able to customize the following
properties:

nImageHeight: Height in pixels of the image.

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 1/12
5/19/2014 VFPX - Home
nImageWidth: Width in pixels of the image. Now can set the property
nAlignBarcode: Allows to align the barcode on the left, center or right of the image.
nResolution: Image resolution in DPI.
nRotation: Rotate the image. (0 = 0°, 1 = 90°, 2 = 180°, 3 = 270°)
cImageType: Type of the generated image ("JPG", "GIF" "PNG", "BMP", "TIF")
cImageFile: Name the image file generated. If not specified, it generates a random file name in the
folder Windows temporary files.
cText: Text encoding.
nAlignText: Alignment of human-readable text. (0 = Left, 1 = center, 2 = Right)
lShowHumanReadableText: .T. whether to display the human-readable.
lShowCheckDigit: .T. whether to display the check digit on the human-readable.
lShowStartStopChars: .T. if it shows the start and end characters in human-readable.
cFontName: Name of the source of human-readable.
lFontBold: .T. if the source of human-readable is Bold.
lFontItalic: .T. if the source of human-readable is Italic.
nFontSize: Font size of the human-readable. (Recommended = 8 or 9)
nFontColor: Color of the human-readable source. (Recommended = Black = RGB (0,0,0)).
nBackColor: The background color of the image (Recommended = White = RGB (255,255,255)).
nBarsColor: Color of the bars (Recommended = Black = RGB (0,0,0)).
nBarcodeType: Type bar code symbology. See the list of supported barcodes and ID
cSet128: Set of Code 128. ("A", "B", "C" and AUTO with "*" chararacter)
cSupplementalText: Supplementary Text EAN and UPC codes.
lAddCheckDigit: .T. if you calculate the check digit. In symbols, where the check digit is mandatory,
not taking into account this property.
nBearerBar: supporting frame type, only in the ITF-14 symbology. (0 = None, 1 = Rectangle, 2 = Top
& Bottom)
lUseAppId: .T. FoxBarcode interpreter to code to GS1/UCC/EAN-128 Application Identifiers (enclosed
in parentheses)
nFactor: Magnification factor of the bar code. (1 .. 9)
nMargin: Margin around the barcode
nRatio: Relationship between the narrow bars and wide bars in the symbols that allow it.
lDeleteTempFiles: Lets choose if delete or not the temporary folder and image files.

Methods
For the generation of the image, only one method should be called that generates the bar code image and
returns the path and file name generated:

BarcodeImage(cTextToEncode, cFileNameImage, cPropertyList): Encodes the text and returns


the file path of the bar code image generated.

All parameters are optional.

cTextToEncode: Text to encode.


cFileNameImage: Name the image file to generate. If none is specified, it generates a random
file name in the folder Windows temporary files.
cPropertyList: The third parameter to set all the properties in a single line, separated by
commas.

Now with the BarcodeTest() method we can validate the text to be encoded without the need to generate the
image of the barcode:

BarcodeTest(cTextToEncode, cFileNameImage, cPropertyList): Validate the string to encode


without generating the image.

All parameters are optional, and are the same as the BarcodeImage() method.

cTextToEncode: Text to encode.

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 2/12
5/19/2014 VFPX - Home
cFileNameImage: As an image is not generated, this parameter is an empty string.
cPropertyList: The third parameter to set all the properties in a single line, separated by
commas.

Languages
With the help of the Community VFP translated FoxBarcode messages the following languages:

ENGLISH
SPANISH by VFPEncoding
CZECH by Martin Krivka
DUTCH by Koen Piller
GERMAN by Stefan Wuebbe
INDONESIAN by Samir H.
PORTUGUESE by Cesar Ch.
TURKISH by Ugur Yilmaz
FILIPINO by Glenn Gevero
FRENCH by Samir H.
SERBIAN by Michael Kopljan
ITALIAN by Roberto Saccomanno

You just have to define compiler directive FBC_LANGUAGE with the desired language in the file FoxBarcode.prg.

#DEFINE FBC_LANGUAGE "ENGLISH"

You can add more languages translating messages in their native language and send email to:
vfpencoding@gmail.com

Examples
The following is an example of code to generate an image type PNG barcode Code 128 C with a height of 100
pixels and a magnification factor 2

*-- Create object


loFbc = CREATEOBJECT("FoxBarcode")

*-- Set the properties


WITH loFbc
.cImageType = "PNG"
.nBarcodeType = 110 & & Code 128
.cSet128 = "C" & & Set 128 C
.nImageHeight = 100
.nFactor = 2
ENDWITH

*-- Generate image


lcImagen = loFbc.BarcodeImage("123456789012")

The new third parameter to the BarcodeImage() method, which allows you to configure the various properties,
separated by commas. The same example as above, with this new way.

*-- Create object


loFbc = CREATEOBJECT("FoxBarcode")

*-- Generate image with the properties


lcImagen = loFbc.BarcodeImage("","",[cText="123456789012", cImageType="PNG",
nBarcodeType=110, cSet128="C", nImageHeight=100, nFactor=2])

This are some images generated with FoxBarcode

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 3/12
5/19/2014 VFPX - Home

Now FoxBarcode support code EAN/UCC/GS1 128

The following is an example to test if a string is valid to encode the EAN-8:

*--- Create FoxBarcode Object


LOCAL loFbc
loFbc = CREATEOBJECT("FoxBarcode")

*-- Generate a test (Ej: EAN-8 -> nBarcodeType = 150)


IF loFbc.BarcodeTest("123456", "", [nBarcodeType = 150])
MESSAGEBOX(["] + loFbc.cText + ["] + " Ok", 64, "Example BarcodeTest()")
ELSE
MESSAGEBOX(loFbc.cMsgError, 16, "Example BarcodeTest()")
ENDIF

To include a barcode on a form, you must insert an Image object. As the bar code image does not exist at design
time, the Picture property takes the name of the image when calling the BarcodeImage() method, for example
from the Refresh method of form, as shown in the figure below:

To include a barcode on a report, you must insert an Image object and set the property with a call ControlSource
BarcodeImage() method and is recommended to set "contents Scale, Retain shape" if the image size differs from
the frame.

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 4/12
5/19/2014 VFPX - Home

Important: Before you run the report and create the object FoxBarcode, you must declare the variable as
PRIVATE so that it has scope in the report, as follows:

PRIVATE poFbc
poFbc = CREATEOBJECT("FoxBarcode)
...
REPORT FORM MyReport

Distribution
The only files needed to be distributed to FoxBarcode function properly are:

FoxBarcode.prg
gpImage2.prg

These files are located in the Source folder included in the download file.

Before instantiating the class FoxBarcode, you must run the following statements:

SET PROCEDURE TO LOCFILE("FoxBarcode.prg"), LOCFILE("gpImage2.prg") ADDITIVE

Demo Form
With the download of FoxBarcode is a sample form, from which we can generate bar codes to our needs, and a
builder of code, from which we can copy the generated code to the clipboard ready for pasting into your
application.

At the top of the form there are three tabs from which all properties are configured class FoxBarcode.

From the tab "Barcode properties" you enter the text to encode, the kind of symbolism and if FoxBarcode
calculates the check digit. The dimensions of the image of the bar code to configure: the magnification factor, the
around margin barcode, the height of the image, and the ratio of narrow and wide bar (in the symbols that allow
for such variation) . The rotation of the bar code is also set from this tab, as well as some special properties of
certain symbols.

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 5/12
5/19/2014 VFPX - Home

When we go through the list of symbols, is a brief description of the selected symbols, valid characters and their
more common.

On the tab "Human-readable properties" to configure the human-readable text, whether it will be shown,
whether to display the check digit and if it shows the characters of Start and End of the symbols. The font,
justification, the size and color are set in this tab.

The tab "Image and colors" shows us the full name of the image file, this property can be passed as parameter
or FoxBarcode class generates a random file name. Here we set the image type, resolution (DPI), the background
color and the color of the bars.

Once you've set the properties, you can click on the button "Script Builder" and FoxBarcode automatically
generates the necessary code to cut and paste in your application.

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 6/12
5/19/2014 VFPX - Home

See more examples: In English

Mire mas ejemplos: En español

Voir d'autres exemples: En français

Acknowledgements
To our families.
To Cesar Ch. for your continued ideas and collaborations with their classes gpImage2 and
FoxyPreviewer.

Last edited Sep 8, 2013 at 9:04 AM by VFPEncoding, version 35

CO MME NT S

edyshor Feb 19 at 6:19 PM


Hello, I was wondering if you still plan on including PDF417 in this library :)
I know that its not as popular as QR but ..

VFPEncoding Feb 6 at 5:57 AM


JKSoftware, unfortunately FoxBarcode not support the Datamatrix code.

JKSoftware Jan 15 at 11:01 PM


Is there a way to generate Datamatrix Barcode?

frankp1r Oct 4, 2013 at 7:25 AM


Any idea of when IMPB barcodes will be implemented? I am hearing rumors the post office is going to start
requiring them more.

mklempam Sep 13, 2013 at 1:55 AM


Hello, what is the status of 2D barcodes implementation? I am interesting on Data Matrix type of 2D barcode.
When you plan add it to FoxBarcode?

VFPEncoding Aug 28, 2013 at 5:33 AM

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 7/12
5/19/2014 VFPX - Home
Reakal, in the next version of FoxBarcode (v.1.12) will be released in September, you can select the Code 128
"Auto", which automatically decreases the number of bars. I'm just missing some tests and upload it to VFPX.

Luis Maria Guayan

Meredither Jun 26, 2013 at 1:35 AM


http://www.keepautomation.com/how_to/foxpro/

VFPEncoding Apr 23, 2013 at 7:56 AM


Jeno, you do not specify the symbols used. Surely you're encoding with the symbolism I2of5 or Code 128 C,
which for better code density bar codes in pairs of digits, so if your string is of odd length, add a "0" left to
make even length.

Luis Maria Guayan

domotorijeno Apr 21, 2013 at 9:37 AM


Hello! The FoxBarcode is great! But I've a problem: I need to coding a 43 num. character lenght number in my
application. I think I do everithing OK, but if I read the printed barcode with my barcodereader, the result will
be 44 character lenght leading a zero (0). Whta is the problem? Is my barcodereader is wrong?
Thank you for help.
Jenő Dömötöri

VFPEncoding Mar 20, 2013 at 3:45 PM


Reakal,

The EAN-128 is formed over shrinking automatically. No Code 128 standard so it only has the types A, B and C.

The EAN-128 is "shrinking" including the FNC1 character which is not accepted in the Code 128 standard.

Luis Maria Guayan

reakal Mar 18, 2013 at 7:41 PM


Coce 128 Auto it?
When the character content longer, Code 128 Auto smaller width of the bar code generated
I hope to increase the selection of barcode output, thank you!

VFPEncoding Jun 3, 2012 at 1:43 PM


Rogy, download the latest version of FoxBarcode 1.10 and now you can center the image and set a defined
width.

See the file Example5.prg included with the download of FoxBarcode.

Luis Maria Guayan

Rogy May 29, 2012 at 2:57 PM


Thanks for info Luis Maria.

Is there any other way to center image on the report?

VFPEncoding May 29, 2012 at 2:30 PM


Rogy,

The nImageWidth property is PROTECTED.

The nImageWidth property is set once generated the pattern according to the magnification factor and margin.
Can not set in advance.

Luis Maria

Rogy May 29, 2012 at 1:29 PM


Hello!
I want to center the image on the report, but I get an error (property not found) when i try to use the
.nImageWidth property.

THIS.loFBC = CREATEOBJECT("FoxBarcode")
WITH THIS.loFBC
.nBarCodeType = 159
.cSet128 = "B"

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 8/12
5/19/2014 VFPX - Home
.nFactor = 2
.nImageHeight = 220
.nImageWidth = 500
.lShowHumanReadableText = .T.
ENDWITH

VFPEncoding May 2, 2012 at 10:53 AM


Mariano, we do have the intention to implement 2D barcodes in FoxBarcode.

Unfortunately not in the near future, as Guillermo is working on another project and I am overworked.

When we begin to work on it, we will inform the VFP Community.

Luis Maria

marboccia Apr 30, 2012 at 3:53 PM


Hello everyone! I am needing to generate 2d barcode, particularly Datamatrix Ecc-200, in order to complies
with GS1 requirements. Does anyone know whether this awesome project will included in the near future,
meaning in a month at least. Thanks you in advance,

cmlopezrizo Feb 17, 2012 at 1:27 PM


Simply Great

VFPEncoding Feb 9, 2012 at 11:02 AM


oglethorpe:

Use the image format PNG or BMP

Luis María Guayan

oglethorpe Feb 9, 2012 at 5:20 AM


The human readable text is not clear. I have tried various resolution, fonts, size, bold, etc. Nothing seems to
make the UPC number clear text. I have tried 1200dpi laser printer and it is still not clear. What can I do to fix
this problem?

oglethorpe Feb 6, 2012 at 12:44 PM


Thanks great program! Thank you! It will replace tec-it bar code library that I have been using for many years.

VFPEncoding Jan 9, 2012 at 10:33 AM


Edsonfat:
What is the problem?
The name of the property is nFactor and valid values ​
are integers from 1 to 9

Ex:
goFbc.BarcodeImage("1234567890",,[cSet128 = "C", nBarcodeType = 110, nImageHeight = 34, nFactor = 1,
lShowHumanReadableText = .F.])

Luis Maria Guayan

edsonfast Jan 9, 2012 at 8:35 AM


NF-e and CT-e Barcode: goFbc.BarcodeImage(conhecim.cte_chave,,[cSet128 = "C",nBarcodeType =
110,nImageHeight = 34, nFator = 0.6,lShowHumanReadableText = .F.])

skiwith Oct 24, 2011 at 10:36 AM


Looks good! Hope you get to QR soon.

Thanks.

pepere_jack May 18, 2011 at 12:07 PM


Good work!

A suggestion: you could let the user specify the width of the generated image so we could get, for exemple,
200 pixel width barcode image no matther the actual length of the barcode.

Thanks.

fredkrampe May 9, 2011 at 10:38 AM


Luis,

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 9/12
5/19/2014 VFPX - Home

The online scan readers show the barcode in upper case. It must be my scanner. Thank you very much.

Fred Krampe

VFPEncoding May 6, 2011 at 8:20 PM


Fred, see the code below:

SET PROCEDURE TO LOCFILE("Source\FoxBarcode.prg"), LOCFILE("Source\gpImage2.prg") ADDITIVE

PRIVATE poFbc
poFbc = CREATEOBJECT("FoxBarCode")
poFbc.cImageType = "PNG"
poFbc.nBarcodeType = 110
poFbc.cSet128 = "B"
poFBC.nImageHeight=200
poFbc.nFactor = 3

*-- I simulate a table with data in lower case


CREATE CURSOR Labels (Part C(30))
INSERT INTO Labels (Part) VALUES ("005-chp-nsg-11-02")

lcImage = poFbc.BarcodeImage(upper(alltrim(Labels.Part)))
COPY FILE (lcImage) TO (JUSTFNAME(lcImage))

I copy the image file generated in the current directory and scan the image with the following online scanners:

. http://www.onlinebarcodereader.com
. http://zxing.org/w/decode.jspx

In all cases the reading is in uppercase. I think you scanner is configured to return the read string to
lowercase. Please check this.

Please keep me informed. Thanks for your feedback.

Luis Maria Guayan

fredkrampe May 6, 2011 at 1:21 PM


Hi, love the app. Very simple to use and powerful.

But, I have a problem with Code 128 B. It only seems to generate lowercase text. That is, my TextToEncode is
in uppercase, and the human readable is in uppercase, but when I actually print and scan it, the result is lower
case. My code is:
===================================================
SET PROCEDURE TO LOCFILE("foxBarcode.PRG"),LOCFILE("gpImage2.prg") additive
PRIVATE poFbc
poFbc = CREATEOBJECT("FoxBarCode")
poFbc.cImageType = "PNG"
poFbc.nBarcodeType = 110
poFbc.cSet128 = "B"
poFBC.nImageHeight=203
poFBC.nResolution = 203
poFbc.nFactor = 3
poFbc.nmargin = 1

*-- Create FoxBarcode Object


REPORT FORM shiplabel TO PRINTER PROMPT PREVIEW
=======================================================
my report image has the property poFbc.BarcodeImage(upper(alltrim(labels.part)))
though you can easily test with its equivalent poFbc.BarcodeImage("005-CHP-NSG-11-02")

Any ideas?
Thanks,
Fred

VFPEncoding Apr 23, 2011 at 7:29 AM


Limcarlo: see the sample forms are included with the download of FoxBarcode.

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 10/12
5/19/2014 VFPX - Home
To you I need to create in your form the oFBC property and the clause where you create the instance of the
FoxBarcode class with CREATEOBJETC()

Ex:
ThisForm.oFBC = CREATEOBJECT("FoxBarcode")

Luis Maria Guayan

limcarlo Apr 22, 2011 at 6:47 PM


Good day!
Thank you very much for the FoxBarCode app. I'm a newbie using vfp 9. I'm using the app in printing barcode
labels for items in my POS system, and it is working very well. I'm trying to include it in my ITEMs entry form
as an image, and tried using the "THISFORM.Image1.Picture = THISFORM.loFbc.BarcodeImage(myVariable)". I
placed the FoxBarcode script in my FORM.INIT, but when running the form it gives an error "Unknown member
LOFBC". Need help thank you very much.

soykanozcelik Apr 16, 2011 at 4:10 PM


Would you please consider including QR Code in the near future ?

VFPEncoding Apr 10, 2011 at 1:13 PM


Hi montand:

What version of "FoxBarcode" are you using? That error was corrected in version 0.12 and was improved in
version 0.13 (the current version is 0.14)

I'm using FoxBarcode 0.14 with VFP9 SP2 and Windows 7 64 bits without problems.

If even with the 0.14 version the problem continues, find the array "laListFontName" in "FoxBarcode.PRG" file
and try changing some of the 10 names of fonts for the names of fonts you have installed on your Windows.

Ej:
laListFontName(1) = "Calibri" && Old name = "Courier New"

Please keep me informed. Thanks for your feedback.

Luis Maria Guayan

montand Apr 8, 2011 at 9:21 AM


Hello folks, I've been using the Luis Maria's prg CodBar and is really good, i want to test this one but i get an
error when run it in developer mode, GDI+ error GRAPHICS.DRAWSTRINGS Error code : 15 Description: Font
Style not found. If press omit, error code: 2 description: Invalid Parameter
I have VFP9 SP2 in windows 7 ultimate in 64bits
I hope your comments and thanks for this excelent tools

fsinatha Feb 16, 2011 at 6:50 PM


Very good job. Awesome.

Faure Jan 11, 2011 at 11:49 AM


very very great work ! nice !
many thanks

proposal : file for localization string

Best Regards
Francis (French MVP VFP)

thai_vfp Nov 29, 2010 at 6:51 AM


Thank you.

VFPEncoding Nov 19, 2010 at 5:41 PM


Yes, is considered the inclusion of 2D symbologies, and the first will be the PDF417, but in the future ...

edyshor Nov 19, 2010 at 5:07 PM


Awesome, thank you!
Would you please consider including PDF417 in the near future ?

Sign in to add a comment

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 11/12
5/19/2014 VFPX - Home

© 2006-2014 Microsoft Get Help Privacy Statement Terms of Use Code of Conduct Advertise With Us Version 5.6.2014.20907

https://vfpx.codeplex.com/wikipage?title=FoxBarcode 12/12

You might also like