SayBarCode control
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: SayBarCode control
It is true that some barcodes in Mr. Timm's program are not working.
Mr Timm has copied from the barlib, so even the barlib codes that Enrico Maria Giordano has always used are wrong....
for generations and years we have used the barlib (which come from an ancient version made in clipper dos) without knowing that these codes are wrong.
If you ask Emg he will tell you that they are right for him
on these years I used Circular Barcode, Ean13 and code39
perhaps we can erase all and create a class only with hzebra barcode, perhaps hbzebra are rights,
but we must verify all them..
Mr Timm has copied from the barlib, so even the barlib codes that Enrico Maria Giordano has always used are wrong....
for generations and years we have used the barlib (which come from an ancient version made in clipper dos) without knowing that these codes are wrong.
If you ask Emg he will tell you that they are right for him
on these years I used Circular Barcode, Ean13 and code39
perhaps we can erase all and create a class only with hzebra barcode, perhaps hbzebra are rights,
but we must verify all them..
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: SayBarCode control
We tested all barcodes from hbzebra.lib. I am not sure about ITF and MSI, but all other codes are working correctly. Maybe I did not know how to use and test ITF and MSI. Any help would be appreciated.
As I said earlier, our tests with vrd barcodes match your results. So, in this release, we restricted to code39,code128 and ean13, if hbzebra.lib is not linked.
We will see what further improvements are possible using the program you shared with us.
As I said earlier, our tests with vrd barcodes match your results. So, in this release, we restricted to code39,code128 and ean13, if hbzebra.lib is not linked.
We will see what further improvements are possible using the program you shared with us.
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: SayBarCode control
Thanks.and now read good my circular barcode ( it read the code "200004" I insert into ) I posted above
I installed the app advised by you and it read the circular barcode correctly.
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
Re: SayBarCode control
when I am compilig c:\fwh\samples\barcod01.prg
FWH 19.03 and xHarbour.com v.19.01
I get error
Type: C >>>xhb.exe -o"t.c" -m -n -p -q -gc0 -I"S:\include" -I"R:\include" -I"R:\include\w32" "t.prg"<<<
xHarbour 1.2.3 Intl. (SimpLex) (Build 20181212)
Copyright 1999-2018, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 't.obj'...
Type: C >>>xhb.exe -o"errorsys.c" -m -n -p -q -gc0 -I"S:\include" -I"R:\include" -I"R:\include\w32" "errorsys.prg"<<<
xHarbour 1.2.3 Intl. (SimpLex) (Build 20181212)
Copyright 1999-2018, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'errorsys.obj'...
Type: C >>>xlink.exe -NOEXPOBJ -MAP -FORCE:MULTIPLE -NOIMPLIB -subsystem:windows -UNMANGLE -LIBPATH:"S:\lib" -LIBPATH:"R:\lib" -LIBPATH:"R:\c_lib" -LIBPATH:"R:\c_lib\win" "t.obj" "errorsys.obj" "r:\lib\libpq.lib" "r:\lib\SQL.lib" "odbccp32.lib" "mem32.lib" "send32.lib" "png.lib" "r:\c_lib\win\gdi32.lib" "r:\c_lib\win\gdiplus.lib" "xhbzip.lib" "xhbzipdll.lib" "xfw.lib" "FiveHCM.lib" "FiveHMX.lib" "OptG.lib" "xhb.lib" "dbf.lib" "nsx.lib" "ntx.lib" "cdx.lib" "rmdbfcdx.lib" "ct3comm.lib" crt.lib kernel32.lib user32.lib winspool.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib uuid.lib wsock32.lib ws2_32.lib wininet.lib advapi32.lib shlwapi.lib msimg32.lib mpr.lib OleDlg.lib version.lib comctl32.lib comdlg32.lib gdi32.lib shell32.lib winmm.lib lz32.lib Netapi32.lib -out:"t.EXE"<<<
Creating object: t.EXP
Creating library: t.LIB
xLINK: error: Unresolved external symbol '_HB_FUN_FWZEBRA referenced from (t.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_TSAYBARCODE referenced from (t.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_FWER_BARCODE referenced from Fivehmx.lib(printer.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_GETSYSFONT referenced from Fivehmx.lib(alert.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_SCREENHEIGHT referenced from Fivehmx.lib(dostofwh.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_SCREENWIDTH referenced from Fivehmx.lib(dostofwh.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_ISWINDOWS10 referenced from Fivehmx.lib(imgtxtio.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_ISWINXP referenced from Fivehmx.lib(pdmenu.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_FW_ISMOUSEPRESENT referenced from Fivehmx.lib(pdmenu.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_CWINVERSION referenced from Fivehmx.lib(pdmenu.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_COLORSQTY referenced from Fivehmx.lib(xbrowse.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_LARGEFONTS referenced from Fivehmx.lib(rpreview.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_GETRECYCLEDREC referenced from Fivehmx.lib(dbffunc2.obj)'.
xLINK: fatal error: 13 unresolved external(s).
Type: C >>>Couldn't build: t.EXE<<<
Type: C >>>TMAKEPROJECT<<<
Type: C >>>TMAKEPROJECT:REFRESH<<<
Type: N >>> 1428<<<
FWH 19.03 and xHarbour.com v.19.01
I get error
Type: C >>>xhb.exe -o"t.c" -m -n -p -q -gc0 -I"S:\include" -I"R:\include" -I"R:\include\w32" "t.prg"<<<
xHarbour 1.2.3 Intl. (SimpLex) (Build 20181212)
Copyright 1999-2018, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 't.obj'...
Type: C >>>xhb.exe -o"errorsys.c" -m -n -p -q -gc0 -I"S:\include" -I"R:\include" -I"R:\include\w32" "errorsys.prg"<<<
xHarbour 1.2.3 Intl. (SimpLex) (Build 20181212)
Copyright 1999-2018, http://www.xharbour.org http://www.harbour-project.org/
Generating object output to 'errorsys.obj'...
Type: C >>>xlink.exe -NOEXPOBJ -MAP -FORCE:MULTIPLE -NOIMPLIB -subsystem:windows -UNMANGLE -LIBPATH:"S:\lib" -LIBPATH:"R:\lib" -LIBPATH:"R:\c_lib" -LIBPATH:"R:\c_lib\win" "t.obj" "errorsys.obj" "r:\lib\libpq.lib" "r:\lib\SQL.lib" "odbccp32.lib" "mem32.lib" "send32.lib" "png.lib" "r:\c_lib\win\gdi32.lib" "r:\c_lib\win\gdiplus.lib" "xhbzip.lib" "xhbzipdll.lib" "xfw.lib" "FiveHCM.lib" "FiveHMX.lib" "OptG.lib" "xhb.lib" "dbf.lib" "nsx.lib" "ntx.lib" "cdx.lib" "rmdbfcdx.lib" "ct3comm.lib" crt.lib kernel32.lib user32.lib winspool.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib uuid.lib wsock32.lib ws2_32.lib wininet.lib advapi32.lib shlwapi.lib msimg32.lib mpr.lib OleDlg.lib version.lib comctl32.lib comdlg32.lib gdi32.lib shell32.lib winmm.lib lz32.lib Netapi32.lib -out:"t.EXE"<<<
Creating object: t.EXP
Creating library: t.LIB
xLINK: error: Unresolved external symbol '_HB_FUN_FWZEBRA referenced from (t.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_TSAYBARCODE referenced from (t.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_FWER_BARCODE referenced from Fivehmx.lib(printer.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_GETSYSFONT referenced from Fivehmx.lib(alert.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_SCREENHEIGHT referenced from Fivehmx.lib(dostofwh.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_SCREENWIDTH referenced from Fivehmx.lib(dostofwh.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_ISWINDOWS10 referenced from Fivehmx.lib(imgtxtio.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_ISWINXP referenced from Fivehmx.lib(pdmenu.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_FW_ISMOUSEPRESENT referenced from Fivehmx.lib(pdmenu.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_CWINVERSION referenced from Fivehmx.lib(pdmenu.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_COLORSQTY referenced from Fivehmx.lib(xbrowse.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_LARGEFONTS referenced from Fivehmx.lib(rpreview.obj)'.
xLINK: error: Unresolved external symbol '_HB_FUN_GETRECYCLEDREC referenced from Fivehmx.lib(dbffunc2.obj)'.
xLINK: fatal error: 13 unresolved external(s).
Type: C >>>Couldn't build: t.EXE<<<
Type: C >>>TMAKEPROJECT<<<
Type: C >>>TMAKEPROJECT:REFRESH<<<
Type: N >>> 1428<<<
best regards
kajot
kajot
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: SayBarCode control
This program requires hbzebra.lib provided by (x)Harbour
If you do not have that lib compatible with your xharbour.com, you can not use this facility
If you do not have that lib compatible with your xharbour.com, you can not use this facility
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: SayBarCode control
Smal Guide for Circular Barcode ... ( for all and Nages )
comments and your experiences are appreciated
By linear we mean a bar code as we are normally used to seeing it: an alternating series of straight, white and black lines, of different thickness, usually accompanied by an underlying writing in legible characters by a human being.
Currently there are several 1-D bar coding standards, used with different frequencies depending on the advantages and disadvantages deriving from the adoption of a coding system with respect to the other. All the symbologies foresee the creation of a rectangular figure, which is read by sliding or scanning, creating an ideal line that crosses the symbol, perpendicularly or at an angle close to 90 ° with respect to the bars
If the scan line does not completely cross the bar code, for example due to a limited angle with the vertical lines printed, the code is not read:
This involves some constraints on the positioning of the code itself, since the reading device must be on the bar code passing directive and with the reading line perpendicular to it. To overcome this, raster devices have been introduced (with multiple parallel reading lines), with oscillating mirror, or with various angled mirrors so that the code can be read regardless of the orientation with which it appears.
A circular code is readable by the same tools reserved for reading traditional bar codes, but has some advantages:
reading is independent of the orientation of the symbol, as the reading range can affect the symbol with any angle (provided that it does not always cross the center);
the symbol is in effect the 360 ° distribution of _ lines of a rectangular bar code, separated by an overflow equal to 2 times the radius of the innermost circle; this feature can avoid the purchase of scanners with multiple reading directives, it greatly simplifies the acquisition of the bar code through sliding devices and allows printing of higher density codes, as the vertical redundancy increases
it can be used to label media, such as CD-ROMs and DVDs, which require a perfect label balance;
it has sufficient redundancy to ensure that the code is read in virtually all cases, even if the surface is partially damaged;
as the overflow increases (central area) the need to center the crossing of the beam decreases and therefore it is possible to use standard laser readers instead of raster readers (for fixed stations); this happens because the lateral deformation of the bars is compensated in large part by the reading instruments, which (in laser and ccd technologies) already provide for the detection of symbols even on partially curled or bent surfaces.
Since the interpretation of the bar code by the reading instruments takes place when the overflow zone is detected, the reading line can in any case completely cross the symbol, following a diameter, without causing a double reading of the encoded content.
The use of circular bar codes in the labeling of CD-ROMs in general and DVDs in particular is decidedly crucial: DVDs, for example, can be printed on both sides, leaving very little space for marking.
On the other hand, in the rental of such media it is essential to identify the disk both for cataloging reasons and to avoid fraud.
The application of any unbalanced mark on a CD-ROM or DVD, such as a traditional bar code label (rectangular), would lead to an imbalance in the support: this imbalance introduces an interference in the reading of the information that can deteriorate the quality of the audio / video reproduced, limiting the speed in extracting information (or inhibit it altogether), causing noisy resonances in the mechanics of reproduction systems (shortening the life of such devices).
By using our class with a suitable resolution, it is possible to insert a bar code up to 8 digits into the central crown of the DVD, without altering the balance of the disc, without covering useful information for reproduction and without altering the contents of the screen-printed side ( if present).
Our class also allows us to produce codes in which each semicircle contains one half of the information to be encoded, possibly supplemented by standard linear codes.
No less interesting is the use in the industrial field, for example to label boxes that can be stored in various ways. These packages can be identified on three sides by applying a single label.
In this case, a quadrant of the symbol is removed (by means of a suitable die cut), covering it by 270 °, and providing for its application on a corner of the neck to be identified:
Hoping that this little guide was welcome, I greet you all good evening
comments and your experiences are appreciated
By linear we mean a bar code as we are normally used to seeing it: an alternating series of straight, white and black lines, of different thickness, usually accompanied by an underlying writing in legible characters by a human being.
Currently there are several 1-D bar coding standards, used with different frequencies depending on the advantages and disadvantages deriving from the adoption of a coding system with respect to the other. All the symbologies foresee the creation of a rectangular figure, which is read by sliding or scanning, creating an ideal line that crosses the symbol, perpendicularly or at an angle close to 90 ° with respect to the bars
If the scan line does not completely cross the bar code, for example due to a limited angle with the vertical lines printed, the code is not read:
This involves some constraints on the positioning of the code itself, since the reading device must be on the bar code passing directive and with the reading line perpendicular to it. To overcome this, raster devices have been introduced (with multiple parallel reading lines), with oscillating mirror, or with various angled mirrors so that the code can be read regardless of the orientation with which it appears.
A circular code is readable by the same tools reserved for reading traditional bar codes, but has some advantages:
reading is independent of the orientation of the symbol, as the reading range can affect the symbol with any angle (provided that it does not always cross the center);
the symbol is in effect the 360 ° distribution of _ lines of a rectangular bar code, separated by an overflow equal to 2 times the radius of the innermost circle; this feature can avoid the purchase of scanners with multiple reading directives, it greatly simplifies the acquisition of the bar code through sliding devices and allows printing of higher density codes, as the vertical redundancy increases
it can be used to label media, such as CD-ROMs and DVDs, which require a perfect label balance;
it has sufficient redundancy to ensure that the code is read in virtually all cases, even if the surface is partially damaged;
as the overflow increases (central area) the need to center the crossing of the beam decreases and therefore it is possible to use standard laser readers instead of raster readers (for fixed stations); this happens because the lateral deformation of the bars is compensated in large part by the reading instruments, which (in laser and ccd technologies) already provide for the detection of symbols even on partially curled or bent surfaces.
Since the interpretation of the bar code by the reading instruments takes place when the overflow zone is detected, the reading line can in any case completely cross the symbol, following a diameter, without causing a double reading of the encoded content.
The use of circular bar codes in the labeling of CD-ROMs in general and DVDs in particular is decidedly crucial: DVDs, for example, can be printed on both sides, leaving very little space for marking.
On the other hand, in the rental of such media it is essential to identify the disk both for cataloging reasons and to avoid fraud.
The application of any unbalanced mark on a CD-ROM or DVD, such as a traditional bar code label (rectangular), would lead to an imbalance in the support: this imbalance introduces an interference in the reading of the information that can deteriorate the quality of the audio / video reproduced, limiting the speed in extracting information (or inhibit it altogether), causing noisy resonances in the mechanics of reproduction systems (shortening the life of such devices).
By using our class with a suitable resolution, it is possible to insert a bar code up to 8 digits into the central crown of the DVD, without altering the balance of the disc, without covering useful information for reproduction and without altering the contents of the screen-printed side ( if present).
Our class also allows us to produce codes in which each semicircle contains one half of the information to be encoded, possibly supplemented by standard linear codes.
No less interesting is the use in the industrial field, for example to label boxes that can be stored in various ways. These packages can be identified on three sides by applying a single label.
In this case, a quadrant of the symbol is removed (by means of a suitable die cut), covering it by 270 °, and providing for its application on a corner of the neck to be identified:
Hoping that this little guide was welcome, I greet you all good evening
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: SayBarCode control
at this message
http://forums.fivetechsupport.com/viewt ... 76#p220779
there is a picture where you can see also a square barcode
perhaps it was a first project for a qr barcode
it can be use also on angle of a box
I hope you insert the circular code and also the square code ( lCircular and lSquare )
on your class with the possibility to draw also partial barcode (aPartial) and the gradient
I 'm making a small utility to create a barcode linear,circular and square easy
http://forums.fivetechsupport.com/viewt ... 76#p220779
there is a picture where you can see also a square barcode
perhaps it was a first project for a qr barcode
it can be use also on angle of a box
I hope you insert the circular code and also the square code ( lCircular and lSquare )
on your class with the possibility to draw also partial barcode (aPartial) and the gradient
I 'm making a small utility to create a barcode linear,circular and square easy
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
Re: SayBarCode control
HI, in brazil , bank intitutions use int2of5 code, this Works with new lib? how to make circular codes like silvio says?
thanks
thanks
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: SayBarCode control
yes,
I'm thinking ...on the next upgrade of fwh
you can select each type you wish code39, int2of5, ean13...
and then the type -> linear, circular, square
I'm thinking ...on the next upgrade of fwh
you can select each type you wish code39, int2of5, ean13...
and then the type -> linear, circular, square
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: SayBarCode control
Without using hbzebra.lib, use barcode type 14 or with hbzebra.lib use 'EAF'Admpss wrote:HI, in brazil , bank intitutions use int2of5 code, this Works with new lib? how to make circular codes like silvio says?
thanks
Code: Select all
#include "fivewin.ch"
// REQUEST FWZEBRA
function Main()
local oDlg, cText, w
local aText := { "1234567895", "602003", "00614141000418" }
local uType := 14
// local uType := "EAF" // with hbzebra.lib
DEFINE DIALOG oDlg SIZE 500,520 PIXEL TRUEPIXEL ;
TITLE "INT2of5"
oDlg:bPainted := <|hDC|
W := oDlg:SayBarCode( aText[ 1 ], { 020, 040, 070, 400 }, uType )
oDlg:SayText( aText[ 1 ], { 075, 040, 100, 040 + w }, "S" )
W := oDlg:SayBarCode( aText[ 2 ], { 220, 040, 260, 240 }, uType )
oDlg:SayText( aText[ 2 ], { 265, 040, 290, 040 + w }, "S" )
W := oDlg:SayBarCode( aText[ 3 ], { 400, 040, 460, 460 }, uType )
oDlg:SayText( aText[ 3 ], { 465, 040, 490, 040 + w }, "S" )
return nil
>
ACTIVATE DIALOG oDlg CENTERED
return nil
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: SayBarCode control
an Utility on progress...
Nages
Can you make an sample to printer ?
Can I use saybarcode also on printer ?
I made
@10,10 SAYBARCODE oBC TEXT cCodice ;
TYPE GiveMeType(nBCodeType) SIZE 500,50 ;
COLOR nColor,CLR_WHITE ;
PIXEL of oPrn:hDcOut
any solution ?
I sent you the test
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
Re: SayBarCode control
Hi guys,
Could us use it with TPrinter? I need to print QR Codes.
Could us use it with TPrinter? I need to print QR Codes.
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: SayBarCode control
Please try
Copy the code to fwh\samples folder and build with buildh.bat
Code: Select all
#include "fivewin.ch"
REQUEST FWZEBRA
function Main()
local oPrn
PRINT oPrn PREVIEW
PAGE
@ 2,2 PRINT TO oPrn TEXT "Mr. Vilian is a great friend" + CRLF + ;
"and a great expert in software" ;
AS BARCODE TYPE "QRCODE" SIZE 1.5,1.5 INCHES
ENDPAGE
ENDPRINT
return nil
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
Re: SayBarCode control
Thank you very much