BARCODEDATA
typedef struct tagBarCodeData
{
L_UINT uStructSize;
L_INT nGroup;
L_UINT32 ulType;
L_INT nUnits;
RECT rcBarLocation;
L_INT nSizeofBarCodeData;
L_CHAR L_FAR pszBarCodeData;
L_INT nIndexDuplicate;
L_INT nTotalCount;
L_INT nDupCount
} BARCODEDATA, L_FAR * pBARCODEDATA;
This structure contains bar code information.
Member |
Description |
uStructSize |
Size of the BARCODEDATA structure, in bytes, for versioning. Use the sizeof() macro to calculate the value. |
nGroup |
Specifies whether the barcode symbol is a member of a group of symbols. This member is used for reading PDF417 symbols. |
ulType |
Barcode type. Possible values are : |
|
|
Value |
Meaning |
|
Linear (1D) barcode symbols: |
|
|
BARCODE_1D_EAN_13 |
[0x00000001] EAN 13 type. |
|
BARCODE_1D_EAN_8 |
[0x00000002] EAN 8 type. |
|
BARCODE_1D_UPC_A |
[0x00000004] UPC version A type. |
|
BARCODE_1D_UPC_E |
[0x00000008] UPC version E type. |
|
BARCODE_1D_CODE_3_OF_9 |
[0x00000010] Code 3 of 9 (Code 39) type. |
|
BARCODE_1D_CODE_128 |
[0x00000020] Code 128 type. |
|
BARCODE_1D_CODE_I2_OF_5 |
[0x00000040] Interleaved 2 of 5 type. |
|
BARCODE_1D_CODA_BAR |
[0x00000080] CODABAR type. |
|
BARCODE_1D_UCCEAN_128 |
[0x00000100] UCCEAND 128 type (for read only) |
|
BARCODE_1D_CODE_93 |
[0x00000200] Code 93 type. |
|
PDF417 barcode symbol: |
|
|
BARCODE_PDF417 |
[0x00002000] To read PDF417 type. |
|
Data Matrix barcode symbol: |
|
|
BARCODE_DM_10x10 |
[0x00000102] Data Matrix Type 10x10. |
|
BARCODE_DM_12x12 |
[0x00000103] Data Matrix Type 12x12. |
|
BARCODE_DM_14x14 |
[0x00000104] Data Matrix Type 14x14. |
|
BARCODE_DM_16x16 |
[0x00000105] Data Matrix Type 16x16. |
|
BARCODE_DM_18x18 |
[0x00000106] Data Matrix Type 18x18. |
|
BARCODE_DM_20x20 |
[0x00000107] Data Matrix Type 20x20. |
|
BARCODE_DM_22x22 |
[0x00000108] Data Matrix Type 22x22. |
|
BARCODE_DM_24x24 |
[0x00000109] Data Matrix Type 24x24. |
|
BARCODE_DM_26x26 |
[0x0000010A] Data Matrix Type 26x26. |
|
BARCODE_DM_32x32 |
[0x0000010B] Data Matrix Type 32x32. |
|
BARCODE_DM_36x36 |
[0x0000010C] Data Matrix Type 36x36. |
|
BARCODE_DM_40x40 |
[0x0000010D] Data Matrix Type 40x40. |
|
BARCODE_DM_44x44 |
[0x0000010E] Data Matrix Type 44x44. |
|
BARCODE_DM_48x48 |
[0x0000010F] Data Matrix Type 48x48. |
|
BARCODE_DM_52x52 |
[0x00000110] Data Matrix Type 52x52. |
|
BARCODE_DM_64x64 |
[0x00000111] Data Matrix Type 64x64. |
|
BARCODE_DM_72x72 |
[0x00000112] Data Matrix Type 72x72. |
|
BARCODE_DM_80x80 |
[0x00000113] Data Matrix Type 80x80. |
|
BARCODE_DM_88x88 |
[0x00000114] Data Matrix Type 88x88. |
|
BARCODE_DM_96x96 |
[0x00000115] Data Matrix Type 96x96. |
|
BARCODE_DM_104x104 |
[0x00000116] Data Matrix Type 104x104. |
|
BARCODE_DM_120x120 |
[0x00000117] Data Matrix Type 120x120. |
|
BARCODE_DM_132x132 |
[0x00000118] Data Matrix Type 132x132. |
|
BARCODE_DM_144x144 |
[0x00000119] Data Matrix Type 144x144. |
|
BARCODE_DM_8x18 |
[0x0000011A] Data Matrix Type 8x18. |
|
BARCODE_DM_8x32 |
[0x0000011B] Data Matrix Type 8x32. |
|
BARCODE_DM_12x26 |
[0x0000011C] Data Matrix Type 12x26. |
|
BARCODE_DM_12x36 |
[0x0000011D] Data Matrix Type 12x36. |
|
BARCODE_DM_16x36 |
[0x0000011E] Data Matrix Type 16x36. |
|
BARCODE_DM_16x48 |
[0x0000011F] Data Matrix Type 16x48. |
|
QR barcode symbol: |
|
|
BARCODE_QR_DEF |
[0x00000300] Default QR Code size |
|
BARCODE_QR_M2_1 |
[0x00000301] QR Code Model 2, Version 1 |
|
BARCODE_QR_M2_2 |
[0x00000302] QR Code Model 2, Version 2 |
|
BARCODE_QR_M2_3 |
[0x00000303] QR Code Model 2, Version 3 |
|
BARCODE_QR_M2_4 |
[0x00000304] QR Code Model 2, Version 4 |
|
BARCODE_QR_M2_5 |
[0x00000305] QR Code Model 2, Version 5 |
|
BARCODE_QR_M2_6 |
[0x00000306] QR Code Model 2, Version 6 |
|
BARCODE_QR_M2_7 |
[0x00000307] QR Code Model 2, Version 7 |
|
BARCODE_QR_M2_8 |
[0x00000308] QR Code Model 2, Version 8 |
|
BARCODE_QR_M2_9 |
[0x00000309] QR Code Model 2, Version 9 |
|
BARCODE_QR_M2_10 |
[0x0000030A] QR Code Model 2, Version 10 |
|
BARCODE_QR_M2_11 |
[0x0000030B] QR Code Model 2, Version 11 |
|
BARCODE_QR_M2_12 |
[0x0000030C] QR Code Model 2, Version 12 |
|
BARCODE_QR_M2_13 |
[0x0000030D] QR Code Model 2, Version 13 |
|
BARCODE_QR_M2_14 |
[0x0000030E] QR Code Model 2, Version 14 |
|
BARCODE_QR_M2_15 |
[0x0000030F] QR Code Model 2, Version 15 |
|
BARCODE_QR_M2_16 |
[0x00000310] QR Code Model 2, Version 16 |
|
BARCODE_QR_M2_17 |
[0x00000311] QR Code Model 2, Version 17 |
|
BARCODE_QR_M2_18 |
[0x00000312] QR Code Model 2, Version 18 |
|
BARCODE_QR_M2_19 |
[0x00000313] QR Code Model 2, Version 19 |
|
BARCODE_QR_M2_20 |
[0x00000314] QR Code Model 2, Version 20 |
|
BARCODE_QR_M2_21 |
[0x00000315] QR Code Model 2, Version 21 |
|
BARCODE_QR_M2_22 |
[0x00000316] QR Code Model 2, Version 22 |
|
BARCODE_QR_M2_23 |
[0x00000317] QR Code Model 2, Version 23 |
|
BARCODE_QR_M2_24 |
[0x00000318] QR Code Model 2, Version 24 |
|
BARCODE_QR_M2_25 |
[0x00000319] QR Code Model 2, Version 25 |
|
BARCODE_QR_M2_26 |
[0x0000031A] QR Code Model 2, Version 26 |
|
BARCODE_QR_M2_27 |
[0x0000031B] QR Code Model 2, Version 27 |
|
BARCODE_QR_M2_28 |
[0x0000031C] QR Code Model 2, Version 28 |
|
BARCODE_QR_M2_29 |
[0x0000031D] QR Code Model 2, Version 29 |
|
BARCODE_QR_M2_30 |
[0x0000031E] QR Code Model 2, Version 30 |
|
BARCODE_QR_M2_31 |
[0x0000031F] QR Code Model 2, Version 31 |
|
BARCODE_QR_M2_32 |
[0x00000320] QR Code Model 2, Version 32 |
|
BARCODE_QR_M2_33 |
[0x00000321] QR Code Model 2, Version 33 |
|
BARCODE_QR_M2_34 |
[0x00000322] QR Code Model 2, Version 34 |
|
BARCODE_QR_M2_35 |
[0x00000323] QR Code Model 2, Version 35 |
|
BARCODE_QR_M2_36 |
[0x00000324] QR Code Model 2, Version 36 |
|
BARCODE_QR_M2_37 |
[0x00000325] QR Code Model 2, Version 37 |
|
BARCODE_QR_M2_38 |
[0x00000326] QR Code Model 2, Version 38 |
|
BARCODE_QR_M2_39 |
[0x00000327] QR Code Model 2, Version 39 |
|
BARCODE_QR_M2_40 |
[0x00000328] QR Code Model 2, Version 40 |
|
BARCODE_QR_M1_1 |
[0x00000329] QR Code Model 1, Version 1 |
|
BARCODE_QR_M1_2 |
[0x0000032A] QR Code Model 1, Version 2 |
|
BARCODE_QR_M1_3 |
[0x0000032B] QR Code Model 1, Version 3 |
|
BARCODE_QR_M1_4 |
[0x0000032C] QR Code Model 1, Version 4 |
|
BARCODE_QR_M1_5 |
[0x0000032D] QR Code Model 1, Version 5 |
|
BARCODE_QR_M1_6 |
[0x0000032E] QR Code Model 1, Version 6 |
|
BARCODE_QR_M1_7 |
[0x0000032F] QR Code Model 1, Version 7 |
|
BARCODE_QR_M1_8 |
[0x00000330] QR Code Model 1, Version 8 |
|
BARCODE_QR_M1_9 |
[0x00000331] QR Code Model 1, Version 9 |
|
BARCODE_QR_M1_10 |
[0x00000332] QR Code Model 1, Version 10 |
|
BARCODE_QR_M1_11 |
[0x00000333] QR Code Model 1, Version 11 |
|
BARCODE_QR_M1_12 |
[0x00000334] QR Code Model 1, Version 12 |
|
BARCODE_QR_M1_13 |
[0x00000335] QR Code Model 1, Version 13 |
|
BARCODE_QR_M1_14 |
[0x00000336] QR Code Model 1, Version 14 |
|
BARCODE_QR_M1_DEF |
[0x00000337] Default Model 1 QR Code size |
|
|
|
nUnits |
Unit of measure for the rcBarLocation member. Possible values are: |
|
|
Value |
Meaning |
|
BARCODE_SCANLINES_PER_PIXELS |
[0] the rcBarLocation rectangle is measured in pixels. |
|
BARCODE_INCHES |
[1] The rcBarLocation rectangle is measured in inches. You must multiply the search area by 100 when using the LBarCode::WriteExt or LBarCode::WriteExt2 function. |
|
BARCODE_MILLIMETERS |
[2] the rcBarLocation rectangle is measured in mm. |
rcBarLocation |
The barcode location on the bitmap. |
|
pszBarCodeData |
Pointer to the barcode data string. |
nIndexDuplicate |
Index to the next duplicated barcode. This member will be filled only by LBarCode::Read function. Possible values are: |
|
|
Value |
Meaning |
|
>=0 |
Next duplicated index. |
|
-1 |
The barcode is not duplicated. |
|
0xFF |
The barcode is the last duplicated one. |
nTotalCount |
Total barcode count found by LBarCode::Read function. |
|
nDupCount |
Total count of bar codes duplicated for the current bar code. This member is filled by the LBarCode::Read function. |
Comments
This structure will be filled by LBarCode::Read when reading in barcode information.
You can also fill this structure before calling LBarCode::WriteExt or LBarCode::WriteExt2 to print the barcode symbol on the bitmap.
Note: |
The BARCODE_1D_UCCEAN_128 type is designed for reading UCCEAN 128 barcode only, and it is not designed for writing this barcode type. |
The following table contains information for writing linear 1D barcodes:
|
EAN 13 |
EAN 8 |
UPC A |
UPC E |
Code 3 of 9 (Code 39) |
CODABAR |
Code 128 |
Code Interleaved 2 of 5 |
Numerical digits |
0-9 |
0-9 |
0-9 |
0-9 |
0-9 |
0-9 |
All ASCII characters |
0-9 |
Alpha char. |
N/A |
N/A |
N/A |
N/A |
A-Z and space bar |
N/A |
|
N/A |
Special char. |
N/A |
N/A |
N/A |
N/A |
- . $ % + / |
- . $ % + / |
|
N/A |
Data Length |
12 |
7 |
11 |
6 or 11 |
1-63 |
1-63 |
3-63 |
1-63 |
Min. width (pixels) |
113 |
80 |
113 |
70 |
(I+4) * 15 |
N/A |
(I + 5) * 11 |
(I*9)+ 9+ Q |
Double width (pixels) |
226 |
170 |
226 |
140 |
(I+4) * 30 |
N/A |
(I + 5) * 22 |
((I*9)+ 9+ Q) * 2 |
Triple width (pixels) |
339 |
255 |
339 |
210 |
(I+4) * 45 |
N/A |
(I + 5) * 33 |
((I*9)+ 9+ Q) * 3 |
Quad width (pixels) |
452 |
340 |
452 |
280 |
(I+4) * 60 |
N/A |
(I + 5) * 44 |
((I*9)+ 9+ Q) * 5 |
Quintuple width (pixels) |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
|
N/A |
FNC1 Char Set A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x80 |
N/A |
FNC2 Char Set A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x81 |
N/A |
FNC3 Char Set A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x82 |
N/A |
FNC4 Char Set A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x83 |
N/A |
FNC1 Char Set B |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x84 |
N/A |
FNC2 Char Set B |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x85 |
N/A |
FNC3 Char Set B |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x86 |
N/A |
FNC4 Char Set B |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x87 |
N/A |
FNC1 Char Set C |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
0x88 |
N/A |
Start and Stop Chars |
N/A |
N/A |
N/A |
N/A |
N/A |
abcd |
N/A |
N/A |
For Code 3 of 9 and Code 128:
I = # of characters in the string
Code Interleaved 2 of 5
I = # of digits and must be even.
Q = Quite Zone – 36 elements
The Linear barcodes are not supported in UNICODE.