2D Barcode VCL ComponentsUser Manual Version: 6.1.2.2398 Copyright © 2001-2015 Han-soft Corporation. All rights reserved. 2015-12-11 2D Barcode VCL Components User Manual Table of Contents Table of Contents Chapter 1. Introduction 1 9 1.1 Overview 9 1.2 Main features 9 Chapter 2. Installation 11 2.1 Trial user 11 2.2 Registered user 11 Chapter 3. Quick start 13 3.1 How to use the barcode components 13 3.2 How to use the barcode components with a database 13 3.3 How to use the barcode components with QuickReport 14 3.4 How to use the barcode components with FastReport 15 3.5 How to use the barcode components with ReportBuilder 15 3.6 How to use the barcode components with ACE Reporter 16 3.7 How to use the barcode components with Rave Reports 17 3.8 How to generate the EAN.UCC composite barcode symbol 18 3.9 How to add a logo to barcode symbol 18 3.10 How to print a barcode symbol to paper 19 3.11 How to save a barcode symbol to picture file 19 3.12 How to encode the UNICODE text in a 2D barcode symbol 20 Chapter 4. Reference 4.1 TBarcode2D 22 22 4.1.1 TBarcode2D_AztecCode 22 4.1.2 TBarcode2D_AztecRunes 27 4.1.3 TBarcode2D_CCA 28 4.1.4 TBarcode2D_CCB 31 4.1.5 TBarcode2D_CCC 35 4.1.6 TBarcode2D_Code16K 38 4.1.7 TBarcode2D_CompactMatrix 43 4.1.8 TBarcode2D_DataMatrix 47 4.1.9 TBarcode2D_DataMatrixECC200 50 4.1.10 TBarcode2D_GridMatrix 55 4.1.11 TBarcode2D_HanXinCode 59 4.1.12 TBarcode2D_MaxiCode 62 4.1.13 TBarcode2D_MicroPDF417 67 4.1.14 TBarcode2D_MicroQRCode 75 4.1.15 TBarcode2D_PDF417 78 4.1.16 TBarcode2D_QRCode 87 1 2D Barcode VCL Components User Manual 4.1.17 TBarcode2D_RSS14 95 4.1.18 TBarcode2D_RSSExpanded 98 4.1.19 TBarcode2D_RSSLimited 4.2 TDBBarcode2D 103 4.3 TLogo2D 103 4.4 TSave2D 103 4.4.1 TSave2D_Bmp 104 4.4.2 TSave2D_Emf 104 4.4.3 TSave2D_Eps 104 4.4.4 TSave2D_Gif 105 4.4.5 TSave2D_Jpg 105 4.4.6 TSave2D_Png 105 4.4.7 TSave2D_Svg 106 4.4.8 TSave2D_Wmf 106 4.5 TUserWorkArea Chapter 5. FAQs 5.1 How to download the full version 5.2 I forgot my license key Chapter 6. Information 106 109 109 109 110 6.1 Support 110 6.2 Purchase 110 6.3 Contact us 111 6.4 End-User License Agreement 111 Annex A. Properties A.1 TBarcode2D 2 101 114 114 A.1.1 AllowEscape 114 A.1.2 AllowKanjiMode (TBarcode2D_MicroQRCode) 114 A.1.3 AllowKanjiMode (TBarcode2D_QRCode) 115 A.1.4 AutoCheckDigit (TBarcode2D_RSS14, TBarcode2D_RSSLimited) 115 A.1.5 AutoMode (TBarcode2D_MaxiCode) 116 A.1.6 Barcode 116 A.1.7 BarcodeHeight 117 A.1.8 BarcodeWidth 119 A.1.9 BarColor 121 A.1.10 BottomQuietZone 121 A.1.11 BytesAlwaysBackToUpper (TBarcode2D_AztecCode) 122 A.1.12 Compact (TBarcode2D_PDF417, TBarcode2D_CCC) 122 A.1.13 CurrentColumns (TBarcode2D_CCC) 123 A.1.14 CurrentColumns (TBarcode2D_PDF417) 124 A.1.15 CurrentECCLevel (TBarcode2D_CompactMatrix) 124 2D Barcode VCL Components User Manual A.1.16 CurrentECCLevel (TBarcode2D_DataMatrix) 125 A.1.17 CurrentECCLevel (TBarcode2D_GridMatrix) 125 A.1.18 CurrentECCLevel (TBarcode2D_HanXinCode) 126 A.1.19 CurrentECCLevel (TBarcode2D_MicroQRCode) 127 A.1.20 CurrentECCLevel (TBarcode2D_PDF417, TBarcode2D_CCC) 127 A.1.21 CurrentECCLevel (TBarcode2D_QRCode) 128 A.1.22 CurrentEncodeMode (TBarcode2D_DataMatrix) 128 A.1.23 CurrentMode (TBarcode2D_Code16K) 129 A.1.24 CurrentMode (TBarcode2D_MaxiCode) 130 A.1.25 CurrentRows (TBarcode2D_CCA) 130 A.1.26 CurrentRows (TBarcode2D_CCB) 131 A.1.27 CurrentRows (TBarcode2D_CCC) 131 A.1.28 CurrentRows (TBarcode2D_Code16K) 132 A.1.29 CurrentRows (TBarcode2D_PDF417) 132 A.1.30 CurrentSegments (TBarcode2D_CompactMatrix) 133 A.1.31 CurrentSize (TBarcode2D_AztecCode) 133 A.1.32 CurrentSize (TBarcode2D_DataMatrix) 134 A.1.33 CurrentSize (TBarcode2D_DataMatrixECC200) 134 A.1.34 CurrentSize (TBarcode2D_MicroPDF417) 135 A.1.35 CurrentVersion (TBarcode2D_CompactMatrix) 136 A.1.36 CurrentVersion (TBarcode2D_GridMatrix) 136 A.1.37 CurrentVersion (TBarcode2D_HanXinCode) 137 A.1.38 CurrentVersion (TBarcode2D_MicroQRCode) 137 A.1.39 CurrentVersion (TBarcode2D_QRCode) 138 A.1.40 Data 138 A.1.41 DefaultEncodeMode (TBarcode2D_MicroPDF417) 139 A.1.42 DefaultTextEncodeMode (TBarcode2D_MicroPDF417) 139 A.1.43 ECCCount (TBarcode2D_AztecCode) 140 A.1.44 ECCLevel (TBarcode2D_AztecCode) 140 A.1.45 ECCLevel (TBarcode2D_CompactMatrix) 141 A.1.46 ECCLevel (TBarcode2D_DataMatrix) 141 A.1.47 ECCLevel (TBarcode2D_GridMatrix) 142 A.1.48 ECCLevel (TBarcode2D_HanXinCode) 143 A.1.49 ECCLevel (TBarcode2D_MicroQRCode) 144 A.1.50 ECCLevel (TBarcode2D_PDF417, TBarcode2D_CCC) 144 A.1.51 ECCLevel (TBarcode2D_QRCode) 145 A.1.52 ECCLevelUpgrade (TBarcode2D_CompactMatrix) 146 A.1.53 ECCLevelUpgrade (TBarcode2D_DataMatrix) 146 A.1.54 ECCLevelUpgrade (TBarcode2D_GridMatrix) 147 A.1.55 ECCLevelUpgrade (TBarcode2D_HanXinCode) 147 3 2D Barcode VCL Components User Manual 4 A.1.56 ECCLevelUpgrade (TBarcode2D_MicroQRCode) 148 A.1.57 ECCLevelUpgrade (TBarcode2D_PDF417, TBarcode2D_CCC) 148 A.1.58 ECCLevelUpgrade (TBarcode2D_QRCode) 149 A.1.59 EncodeMode (TBarcode2D_DataMatrix) 149 A.1.60 EncodePolicy (TBarcode2D_MicroQRCode) 150 A.1.61 EncodePolicy (TBarcode2D_QRCode) 151 A.1.62 FixedLength (TBarcode2D_AztecRunnes) 151 A.1.63 Image 152 A.1.64 InitialMode (TBarcode2D_Code16K) 152 A.1.65 Inversed (TBarcode2D_AztecCode, TBarcode2D_DataMatrix, TBarcode2D_QRCode, etc.) 153 A.1.66 LeadingQuietZone 154 A.1.67 LeftMargin 155 A.1.68 Linear (TBarcode2D_CCA, TBarcode2D_CCB, TBarcode2D_CCC) 157 A.1.69 Link2D (TBarcode2D_RSS14, TBarcode2D_RSSLimited, TBarcode2D_RSSExpanded) 158 A.1.70 Locked 159 A.1.71 MaxColumns (TBarcode2D_CCC) 159 A.1.72 MaxColumns (TBarcode2D_PDF417) 160 A.1.73 MaxRows (TBarcode2D_CCA) 161 A.1.74 MaxRows (TBarcode2D_CCB) 162 A.1.75 MaxRows (TBarcode2D_CCC) 162 A.1.76 MaxRows (TBarcode2D_Code16K) 163 A.1.77 MaxRows (TBarcode2D_PDF417) 164 A.1.78 MaxSegments (TBarcode2D_CompactMatrix) 164 A.1.79 MaxSize (TBarcode2D_AztecCode) 165 A.1.80 MaxSize (TBarcode2D_DataMatrix) 166 A.1.81 MaxSize (TBarcode2D_DataMatrixECC200) 166 A.1.82 MaxSize (TBarcode2D_MicroPDF417) 167 A.1.83 MaxSliceLen (TBarcode2D_MicroQRCode) 168 A.1.84 MaxSliceLen (TBarcode2D_QRCode) 168 A.1.85 MaxVersion (TBarcode2D_CompactMatrix) 169 A.1.86 MaxVersion (TBarcode2D_GridMatrix) 169 A.1.87 MaxVersion (TBarcode2D_HanXinCode) 170 A.1.88 MaxVersion (TBarcode2D_MicroQRCode) 170 A.1.89 MaxVersion (TBarcode2D_QRCode) 171 A.1.90 MinColumns (TBarcode2D_CCC) 172 A.1.91 MinColumns (TBarcode2D_PDF417) 172 A.1.92 MinRows (TBarcode2D_CCA) 173 A.1.93 MinRows (TBarcode2D_CCB) 174 A.1.94 MinRows (TBarcode2D_CCC) 174 A.1.95 MinRows (TBarcode2D_Code16K) 175 2D Barcode VCL Components User Manual A.1.96 MinRows (TBarcode2D_PDF417) 176 A.1.97 MinSegments (TBarcode2D_CompactMatrix) 176 A.1.98 MinSize (TBarcode2D_AztecCode) 177 A.1.99 MinSize (TBarcode2D_DataMatrix) 177 A.1.100 MinSize (TBarcode2D_DataMatrixECC200) 178 A.1.101 MinSize (TBarcode2D_MicroPDF417) 179 A.1.102 MinVersion (TBarcode2D_CompactMatrix) 179 A.1.103 MinVersion (TBarcode2D_GridMatrix) 180 A.1.104 MinVersion (TBarcode2D_HanXinCode) 180 A.1.105 MinVersion (TBarcode2D_MicroQRCode) 181 A.1.106 MinVersion (TBarcode2D_QRCode) 181 A.1.107 Mirrored (TBarcode2D_AztecCode, TBarcode2D_DataMatrix, TBarcode2D_QRCode, etc.) 182 A.1.108 Mode (TBarcode2D_MaxiCode) 183 A.1.109 Module 183 A.1.110 Options (TBarcode2D_MicroPDF417) 184 A.1.111 Options (TBarcode2D_PDF417) 186 A.1.112 Orientation 187 A.1.113 Placement (TBarcode2D_CompactMatrix) 188 A.1.114 ReviseVersion5 (TBarcode2D_HanXinCode) 189 A.1.115 RowHeight (TBarcode2D_CCA, TBarcode2D_CCB) 189 A.1.116 RowHeight (TBarcode2D_Code16K) 189 A.1.117 RowHeight (TBarcode2D_MicroPDF417) 190 A.1.118 RowHeight (TBarcode2D_PDF417, TBarcode2D_CCC) 190 A.1.119 RowHeight (TBarcode2D_RSSExpanded) 191 A.1.120 RowSymbols (TBarcode2D_RSSExpanded) 191 A.1.121 SeparatorBarHeight (TBarcode2D_Code16K) 192 A.1.122 SeparatorRowHeight (TBarcode2D_RSS14, TBarcode2D_RSSExpanded) 192 A.1.123 SeparatorRowHeight (TBarcode2D_RSSLimited) 193 A.1.124 Shape (TBarcode2D_DataMatrixEcc200) 194 A.1.125 Show2DSeparator (TBarcode2D_RSS14, TBarcode2D_RSSLimited, TBarcode2D_Expanded) 194 A.1.126 ShowQuietZone 195 A.1.127 SpaceColor 197 A.1.128 StartWidth (TBarcode2D_CompactMatrix) 197 A.1.129 StopWidth (TBarcode2D_CompactMatrix) 197 A.1.130 Stretch 198 A.1.131 StretchOrder (TBarcode2D_CCC) 199 A.1.132 StretchOrder (TBarcode2D_CompactMatrix) 200 A.1.133 StretchOrder (TBarcode2D_MicroPDF417) 202 A.1.134 StretchOrder (TBarcode2D_PDF417) 204 A.1.135 Style (TBarcode2D_RSS14) 206 5 5 Field 215 A.9 VerticalMargin 222 A.4.2 Barcode2D 217 A.4.4 ColorDepth (TSave2D_Gif) 225 A.140 TotalHeight (TBarcode2D_RSS14.5 ColorDepth (TSave2D_Png) 226 A.3.1 Barcode2D 214 A.11 DeviceWidthInPixel (TSave2D_Emf) 228 A.136 Style (TBarcode2D_RSSExpanded) 207 A.8 DeviceHeightInPixel (TSave2D_Emf) 227 A.12 DeviceWidthInUM (TSave2D_Emf) 229 A. TSave2D_Svg) 224 A.4. TSave2D_Eps.2 TDBBarcode2D 214 A.2.3.4 TSave2D 223 A.4.137 SymbolMode (TBarcode2D_AztecCode) 207 A.3 Height 217 A.13 EmbedBarcodeText (TSave2D_Emf.3 ColorDepth (TSave2D_Bmp) 224 A.2.4 DataSource 215 A.139 TopQuietZone 210 A.3.3.2.4.3. TBarcode2D_RSSLimited) 211 A.1.4.4.141 TrailingQuietZone 212 A.2D Barcode VCL Components User Manual A.1.2.3.4.5 HorizontalMargin 219 A.3. TSave2D_Svg) 229 A.7 Picture 220 A.138 TopMargin 208 A.2 BindProperty 214 A.10 DeviceWidthInMM (TSave2D_Emf) 228 A.4.142 UseECIDescriptor (TBarcode2D_MicorPDF417) 213 A.1.8 VerticalAlignment 221 A.1 AlignToModule 216 A.6 Padding 220 A.4 HorizontalAlignment 218 A.4.3.1.1.10 Width 223 A.4.1.1 Barcode2D 224 A.6 CompressionLevel (TSave2D_Png) 226 A.3 DataField 215 A.7 DeviceHeightInMM (TSave2D_Emf) 227 A.3 TLogo2D 6 216 A.4.14 EmbedBarcodeText (TSave2D_Png) 229 .2.3.4. TSave2D_Gif.4.3.2.1.2 BarOpacity (TSave2D_Png.6 ReadOnly 216 A.9 DeviceHeightInUM (TSave2D_Emf) 228 A. 23 XPPM (TSave2D_Bmp) 233 A.1.4.1.3.1 Assign 234 B.1.Syntax 3 241 B.1.2 DrawToSize .2 GetCheckSum .3 CopyToClipboard .2 CopyToClipboard .3 DrawToSize .Syntax 3 259 B.3.1.1.8 DrawToSize 266 B.1 CopyToClipboard .4.12.4.3 CopyToClipboard 235 B.1.2D Barcode VCL Components User Manual A.Syntax 1 (TBarcode2D_QRCode) 299 B.12 Print B.7.Syntax 3 283 B.2 DrawTo .10 GetCheckSum (TBarcode2D_PDF417) 295 B.1.11.7 DrawTo 247 B.1.3 DrawTo .1.1.1.2 GetParity .1.1.1.Syntax 1 300 301 7 .1.Syntax 1 267 B.1 Print .1.10. TSave2D_Gif) 230 A.1.7.1.4.8.1.3.1.7.15 Interlaced (TSave2D_Png.9 GetCheckSum (TBarcode2D_MicroPDF417) 292 B.1.1 TBarcode2D 234 B.11 GetParity (TBarcode2D_QRCode) 298 B.Syntax 1 235 B.1.Syntax 1 247 B.Syntax 1 (TBarcode2D_PDF417) 296 B.1.1.4 Create 245 B.16 LogicUnitsPerInch (TSave2D_Wmf) 230 A. TSave2D_Svg) 232 A.1 GetCheckSum .4.6 Draw 246 B.Syntax 2 274 B.21 SpaceOpacity (TSave2D_Png.9.1 GetCheckSum .19 Progressive (TSave2D_Jpg) 231 A.Syntax 2 (TBarcode2D_PDF417) 297 B.11.18 Placeable (TSave2D_Wmf) 231 A.4. Methods 234 B.1.4.20 Quality (TSave2D_Jpg) 232 A.4.1 DrawTo .Syntax 1 (TBarcode2D_MicroPDF417) 293 B.22 Version (TSave2D_Gif) 232 A.1 GetParity .10.2 GetCheckSum .17 OriginalLogo (TSave2D_Svg) 231 A.24 YPPM (TSave2D_Bmp) 233 Annex B.Syntax 2 252 B.9.Syntax 2 237 B.1 DrawToSize .2 Clear 234 B.4.8.4.Syntax 2 (TBarcode2D_QRCode) 299 B.5 Destroy 246 B.1.8.1.Syntax 2 (TBarcode2D_MicroPDF417) 294 B. 1 Assign 367 B.2.1.2D Barcode VCL Components User Manual B.3 Print .12.1.1 TBarcode2D 370 C.2.13 PrintSize 327 B.2.1.5 OnInvalidDataChar 372 C.1.1.1 OnSave 375 C.Syntax 2 338 B.3 TSave2D 368 B.3 PrintSize . Events 370 C.1.3.3.2 PrintSize .Syntax 1 328 B.7 OnInvalidLength 374 C.Syntax 3 349 B.1.3 OnEncode 371 C.2 TSave2D 8 375 C.13.1.6 OnInvalidDataLength 373 C.2 Create 368 B.1.2 Print .14 Size 360 B.13.Syntax 3 318 B.2 Create 367 B.1 PrintSize .2.3.2 TLogo2D 367 B.1.3 Destroy 368 B.1.1.1 OnChange 370 C.3 Destroy 367 B.12.3.Syntax 2 308 B.2 OnDrawBarcode 370 C.2 OnSaved 375 .2.1.13.4 OnInvalidChar 372 C.1 Assign 368 B.4 Save 369 Annex C.1. 6. Fast Report. XE4. 2D Barcode VCL Components supports most popular Matrix and Stacked 2D Barcode Symbologies/Standards. XE4. 1. RSS-14 Stacked Omnidirectional. XE5. XE8. XE6. The database function is supported. XE4. XE. XE6. 2006. XE3. XE8. 10 Seattle and C++ Builder 4.2D Barcode VCL Components User Manual Chapter 1. Allows to print the barcode symbol to paper (with scaling and rotating). XE2. XE7. PDF417.UCC composite barcode symbols. Aztec Runes. XE5. XE8. All RSS barcode symbologies are supported. both 32bit and 64-bit components are included. XE8. QR Code 2005. Code 16K. Most popular matrix and stacked 2 dimensional barcode symbologies are supported. 2007. MicroPDF417. 2005. XE. 10 Seattle and C++ Builder XE3. XE7. 2009. 2009. XE4. ECI. ECC 200). XE4.2 Main features Allows to draw the barcode symbol to canvas (with scaling and rotating). Report Builder. 2010. BDE) and the LiveBindings. XE6. The EAN. 10 Seattle. 2006. 2007. MaxiCode. For Delphi XE2. 5. etc. Developers use them like any other VCL component. 2010. RSS-14 Truncated. 9 . XE8. All RSS barcode symbologies are supported. XE6. 2010. RSS Limited. Ability to save barcode symbol in a variety of picture formats. 2010. All of the Quick Report. Ability to encode the data block into a barcode symbol. 5. RSS-14 Stacked. XE6. XE5. XE5. All morden versions of Delphi and C++ Builder are supported. 6. 2006. XE3. and RSS Expanded Stacked.UCC composite symbologies are supported. including the Delphi 4. 6. 2009. 2006. XE5. XE6. Introduction 1. XE8. Ability to create the EAN. 7. Structured append. For Delphi XE2. 2007.1 Overview 2D Barcode VCL Components is the most flexible and powerful VCL components package which lets you to easily add advanced 2D barcode generation and printing features to your application. including RSS-14. XE3. XE3. XE2. 10 Seattle. Micro QR Code. both 32-bit and 64-bit components are included. 10 Seattle are supported. XE7. XE. dbExpress. including the data access components (such as the FireDAC. features are supported. 2007. XE7. and C++ Builder XE3. 7. XE5. XE7. 2D Barcode VCL Components are easy to use. Data Matrix (ECC 000-140. including Aztec Code. XE. 10 Seattle. The Delphi 4. XE2. XE7. 5. XE4. XE4. 2005. Rave Reports and ACE Reporter are supported. 5. 10 Seattle. XE8. XE6. XE6. XE3. XE2. XE5. 2009. 10 Seattle and C++ Builder 4. 6. XE3. RSS Expanded. XE7. XE8. XE4. XE5. XE7. Ability to scale and rotate the barcode symbols.2D Barcode VCL Components User Manual Ability to add a logo picture to the barcode symbol. 10 . It is visible in design time. and it has the excellent functionality. Foreground and background colors of barcode symbol can be changed freely. It's easy to use. It's a very popular 2D barcode components package. 4. please close all Delphi and C++ Builder IDEs. 2007. then closes it and continues installation. 2010. XE5. XE2. 2009. Note. XE4. Specify a target folder (it will be created if does not exist). XE4. 2006. Click on the "Install" button to complete the components package installation. XE7. XE6. XE8. Click on the "Finish" button to close the installation dialog box. 2010. You must accept the terms of this agreement before continuing with the installation. 6. 10 Seattle are listed as RAD Studio (Delphi & C++ Builder) 2006. Read the End-User License Agreement. 2009. 2010. please close all Delphi and C++ Builder IDEs.exe. 2007. 5. 10 Seattle. 10 Seattle. 2007. XE4. and C++ Builder 4. XE6. XE2. XE6. you can open the manual or remove the components package in the shortcuts folder. XE2. XE7. XE3. 11 . XE8.1 Trial user Installation step by step: 1. XE8. XE. Before installing the components package. XE5. The Delphi 4. XE6. for each IDE. XE3. Specify a shortcuts folder in "Start Menu" for the components package. XE8. XE4. 2005. XE7. And then click on the "Next" button. XE3. 3. please install it into the same folder in each user session. and then click on the "Next" button in the installation dialog box. Please select the IDEs you want to install to them. XE8. 2009. XE5. XE.2D Barcode VCL Components User Manual Chapter 2. XE7. XE5. 6. if it's a clean installation. 2007. Note: If multi-user accounts want to use the components package. XE. 2. XE7. XE8. 6. if it's a clean installation. 9. 2. XE4. 10 Seattle are supported now. XE4. 5. All supported Delphi and C++ Builder IDEs will be listed automatically according on the existing IDEs in your computer. XE7. XE6. Note. and C++ Builder XE3. For Delphi XE2. You can start your IDE to use the components package now. XE5. XE. Before installing the components package. 8. 7. 2007. XE2. And then click on the "Next" button. please run it at least once before installing the components package. please run it at least once before installing the components package. 2009. XE7. 5. XE6. Run the installation file barcode2d_tri. Installation 2. XE3. the components package will be installed into it. 2009. 2006. both 32bit and 64-bit components are included. 10 Seattle. XE4. 7. XE6. The Delphi 2006. XE3. XE. Note.2 Registered user Installation step by step: 1. 2010. XE3. And then click on the "Next" button. XE8. for each IDE. XE5. 10 Seattle and C++ Builder 2006. Later. 10 Seattle. XE2. 2010. XE5. And then click on the "Next" button. then closes it and continues installation. 2005. XE3. and C++ Builder 2006. XE7. 2006. For Delphi XE2. 2010. XE7. The Delphi 2006. XE5. XE5. 5. XE4. XE2. and C++ Builder 4. XE8. All supported Delphi and C++ Builder IDEs will be listed automatically according on the existing IDEs in your computer. please install it into the same folder in each user session. Click on the "Finish" button to close the installation dialog box. XE8. 3. XE. You must accept the terms of this agreement before continuing with the installation. 2007. XE7. please visit the "Manage your licenses" page to retrieve it. the components package will be installed into it. XE7. 2010. Run the installation file barcode2d_ful. Please open the page then enter your order ID. Please select the IDEs you want to install to them. both 32bit and 64-bit components are included. Please open the page then enter your order ID. then click on the oder ID to display it. After installation. 5. 4. then re-build these projects. you can open the manual or remove the components package in the shortcuts folder. XE7. 2007. 10 Seattle. XE6. please delete all ". If you forgot the license key. XE2. XE8. XE3. the license key will be sent to the license e-mail address automatically. 6.2D Barcode VCL Components User Manual 2. 10 Seattle. the new download link will be sent to this license e-mail address automatically. XE6. XE6. XE4. 2007. 10 Seattle. 11. XE5. Please download the installation package using the download link that's sent from us after you purchase the components package. XE4. Please uninstall the trial release using the "Uninstall" shortcuts in the "Start Menu" if it is installed in your computer. 5. 6. XE8. XE2. XE3. Type your email address and the license key that they are sent from us after you purchase the components package. You can start your IDE to use the components package now. and then click on the "Next" button in the installation dialog box. XE. XE8. XE. 10 Seattle are listed as RAD Studio (Delphi & C++ Builder) 2006. XE2. Note: If multi-user accounts want to use the components package. Note. then click on the oder ID to display it. they are not case-sensitive. XE4. 2009. XE6. XE7. 2009. XE2. XE5. choose a license and click on the "Retrieve the license key". XE5. XE6. XE8. XE6. XE3. 10. XE. Read the End-User License Agreement. And then click on the "Next" button. license user name or license e-mail address to locate your order. XE6. And then click on the "Next" button.dcu" files in your projects that they are built using the trial release of the components package. license user name or license e-mail address to locate your order. Click on the "Install" button to complete the components package installation. 2010. 2009. XE5. XE7. Specify a shortcuts folder in "Start Menu" for the components package. And then click on the "Next" button. XE8. 10 Seattle. 2010. 7. XE4. XE4. Specify a target folder (it will be created if does not exist). 12 . choose a license and click on the "Request a new download link". If your download link doesn't work. 2009. 10 Seattle. 7. 2007. 8. XE3. please visit the "Manage your licenses" page to request a new download link. XE3. 10 Seattle are supported now. 2010. The Delphi 4. 2009. Later. 9. And then click on the "Next" button. And then click on the "Next" button. and C++ Builder XE3.exe. 12. XE5. 2007. XE. XE4. 6. 2006. or put a TQRImage or TQRGzImage control to your report. 2. Put a TDBBarcode2D component to your form. 1.1 How to use the barcode components Usage: 1. TBarcode2D_PDF417. 3. And create the OnInvalidChar and OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event handles to catch the invalid character in the barcode text. Set the Barcode2D property of the TDBBarcode2D component to your TBarcode2D barcode component. 13 . Put a TImage control to your form. Set the Image property of the barcode component to the TImage control. 4. 3. or TQRGzImage control. please check whether the length of barcode text exceeds the maximum length limit. 3. and TBarcode2D_RSS14 to your form. Put a barcode component. dbExpress. Set the DataField property of the TDBBarcode2D component to a field in your dataset. TQRImage. such as the TBarcode2D_QRCode. You can create the OnInvalidLength and OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event handles to catch the invalid barcode length exception. 5. Set the Image property of the TBarcode2D barcode component to the TImage.2D Barcode VCL Components User Manual Chapter 3.2 How to use the barcode components with a database Use the classic data access components such as BDE. and TBarcode2D_RSS14 to your form. Put a TBarcode2D barcode component. If you want to represent the barcode symbol in form or QuickReport report. TBarcode2D_PDF417. Set the BindProperty property of the TDBBarcode2D component to indicate which property of the TBarcode2D component the data field value will be applied to. 6. etc. Also. AnyDAC. FireDAC. 7. Note: If the barcode symbol isn't displayed. Set the DataSource property of the TDBBarcode2D component to your TDataSource component. If you use the Delphi/C++ Builder 2009 or later. such as the TBarcode2D_QRCode. The data in the data field will be represented as a barcode symbol in your TImage. You can link single TImage control to multiple TBarcode2D components in order to display multiple barcode symbols in the TImage control (using the LeftMargin and TopMargin properties to specify the position for every barcode symbol). put a TImage control to your form. or TQRGzImage control. Quick start 3. 2. or whether there is any invalid character in the barcode text. please check whether the TImage control is large enough to accommodate entire barcode symbol. TQRImage. change the "Visible Element" sub-item of the "LiveBindings Designer" item to true in the "Object Inspector". and TSave2D_Svg to your form. You can bind multiple TDBBarcode2D and TBarcode2D component pairs to a data field in order to represent the data field with multiple barcode symbols. If you want to represent the barcode symbol in form or QuickReport report. Put a TQRImage or TQRGzImage control to your report. TQRImage.2D Barcode VCL Components User Manual 8. Set the Image property of the barcode component to the TQRImage or TQRGzImage control. and TSave2D_Svg to your form. 3. Note: If the barcode symbol cannot be read.. TQRImage. Open the "LiveBindings Designer". Also. or TQRGzImage control. and TBarcode2D_RSS14 to your form. Note. please don't reduce/stretch the barcode symbol (set the Stretch property to false). Put a TBarcode2D barcode component. If you want to save the barcode symbol to a picture. The data in the data field will be represented as a barcode symbol in your TImage. Then you can use the Save method of the TSave2D component to save the barcode symbol to a picture file. 4. execute the "Bindable Members. such as the TSave2D_Bmp. Also. such as the TBarcode2D_QRCode." menu item. 7. or a string property of other control.. TBarcode2D_PDF417. or use the DrawTo method of the TBarcode2D component to draw the barcode symbol to any TCanvas. Put a barcode component. TSave2D_Png. You can 14 . 9. Note. TBarcode2D_PDF417. You can link single TQRImage or TQRGzImage control to multiple TBarcode2D components in order to display multiple barcode symbols in the TQRImage or TQRGzImage control (using the LeftMargin and TopMargin properties to specify the position for every barcode symbol). put a TDBBarcode2D component to the form and link the TBarcode2D component to the TDBBarcode2D component if the database support is required. Link the Barcode property or the Data property (only for the Delphi/C++ Builder 2009 or later) of the TBarcode2D barcode component to your data field in the TBindSourceDB component. 3. such as the TBarcode2D_QRCode. or TQRGzImage control. Use the LiveBindings (Delphi/C++ Builder XE2 or later). TSave2D_Png. you can use the Print method of the TBarcode2D component to print the barcode symbol to paper. Set the Barcode2D property of the TSave2D component to your barcode component. such as the TSave2D_Bmp. Set the Image property of the TBarcode2D barcode component to the TImage. and TBarcode2D_RSS14 to your form. 2. click on the "OK" button to close it. put a TSave2D component. click on the barcode component in the form to select it. Set the Barcode2D property of the TSave2D component to your TBarcode2D barcode component.3 How to use the barcode components with QuickReport Usage: 1. You can link multiple TBarcode2D components to a data field in order to represent the data field with multiple barcode symbols. put a TImage control to your form. you can use the Print method of the TBarcode2D component to print the barcode symbol to paper. Right-click on the barcode component in the "LiveBindings Designer". 2. 3. or put a TQRImage or TQRGzImage control to your report. 5. or use the DrawTo method of the TBarcode2D component to draw the barcode symbol to any TCanvas. Also. check the "Barcode" property or the "Data" property (only for the Delphi/C++ Builder 2009 or later) in the "Bindable Members" dialog. 1. 6. Then you can use the Save method of the TSave2D component to save the barcode symbol to a picture file. put a TSave2D component. If you want to save the barcode symbol to a picture. such as the TBarcode2D_QRCode. . put a TDBBarcode2D component to the form and link the TBarcode2D component to the TDBBarcode2D component if the database support is required. Also.FindObject('Picture1')). ASymbolHeight: Integer.. 3. 15 . change the properties of the TBarcode2D component such as Barcode. and Orientation. TBarcode2D_PDF417. Also..5 How to use the barcode components with ReportBuilder Usage: 1. In the event function. and TBarcode2D_RSS14 to your form that the TppReport component is in it.Module := 1. For example: var AWidth. please use the OnBeginBand event. Module. please check whether the TQRImage or TQRGzImage control is large enough to accommodate entire barcode symbol. and TBarcode2D_RSS14 to your form that the TfrxReport component is in it.. Height := AHeight.Barcode := '1235678'. Create the OnBeforePrint event function for the TfrxReport component. end. and adjust the bitmap size of the TfrxPictureView control in order to accommodate entire barcode symbol. ASymbolHeight).Picture.Bitmap do begin Width := AWidth. ASymbolWidth. end.. with TfrxPictureView(frxReport1. Note.. 3. put a TppImage control to your report in order to present the barcode symbol. Barcode2D_QRCode1. AHeight. Edit your report. Also. AHeight. such as the TBarcode2D_QRCode.DrawToSize(AWidth. 3. TBarcode2D_PDF417. 2. Barcode2D_QRCode1. Put a barcode component. then use the DrawTo method of the TBarcode2D component to draw the barcode symbol to the TfrxPictureView control. Put a barcode component. 0.4 How to use the barcode components with FastReport Usage: 1. Edit your report. put a TfrxPictureView control to your report in order to present the barcode symbol. put a TDBBarcode2D component to the form and link the TBarcode2D component to the TDBBarcode2D component if the database support is required. if you use old FastReport 2. Barcode2D_QRCode1. ASymbolWidth.2D Barcode VCL Components User Manual change the barcode symbol size by changing its Module property value. begin Barcode2D_QRCode1. 2. 0).x.DrawTo(Canvas. . end.Module := 1.Bitmap.Width := AWidth. and Orientation. end.6 How to use the barcode components with ACE Reporter Usage: 1. Module. Also. Put a barcode component. Create the OnBeforePrint event function for the TppReport component.Barcode := '1235678'. 3.Picture. Barcode2D_QRCode1. Barcode2D_QRCode1. and adjust the bitmap size of the TsctImageLabel control in order to accommodate entire barcode symbol.DrawToSize(AWidth. 0.Module := 1.2D Barcode VCL Components User Manual 3. such as the TBarcode2D_QRCode.. For example: var AWidth. with SctImageLabel1. 0).Barcode := '1235678'. TBarcode2D_PDF417.Bitmap.Bitmap.Bitmap do begin Width := AWidth. ppReport1Image1. 16 .DrawToSize(AWidth.. ASymbolHeight: Integer.Picture. Edit your report.Height := AHeight. Height := AHeight.Canvas. ppReport1Image1. and TBarcode2D_RSS14 to your form that the TsctReport component is in it. Create the OnBeforePrint event function for the TsctImageLabel control.. In the event function. ASymbolHeight). AHeight.DrawTo(ppReport1Image1.. put a TsctImageLabel control to your report in order to present the barcode symbol. For example: var AWidth. ASymbolHeight).. ASymbolWidth. and adjust the bitmap size of the TppImage control in order to accommodate entire barcode symbol. put a TDBBarcode2D component to the form and link the TBarcode2D component to the TDBBarcode2D component if the database support is required. Barcode2D_QRCode1. AHeight.DrawTo(Canvas. 2. Barcode2D_QRCode1. 3. end. AHeight. change the properties of the TBarcode2D component such as Barcode. ASymbolWidth. begin Barcode2D_QRCode1.Picture.. . . Barcode2D_QRCode1.Picture. change the properties of the TBarcode2D component such as Barcode.. then use the DrawTo method of the TBarcode2D component to draw the barcode symbol to the TsctImageLabel control.. AHeight. Barcode2D_QRCode1. then use the DrawTo method of the TBarcode2D component to draw the barcode symbol to the TppImage control. Module. begin Barcode2D_QRCode1. and Orientation. 0). ASymbolWidth. ASymbolHeight: Integer. 0. ASymbolWidth. In the event function.. and Orientation. At last. RvBitmap. Barcode2D_QRCode1. and TBarcode2D_RSS14 to your form that the TRvProject component is in it. and assign the temporary bitmap to it. For example: var RvReport: TRaveReport. nil) as TRaveReport. ASymbolHeight: Integer. TmpBitmap := TBitmap.Height := AHeight. In the event function.. RvProject1. Scale := 72. RvReport) as TRavePage. RvPage : TRavePage. Insert code to call the Open method of the TRvProject component before print or preview the report. RvBitmap: TRaveBitmap..2D Barcode VCL Components User Manual 3.ProjMan do begin RvReport := FindRaveComponent('Report1'. RvProject1. put a bitmap component to your report in order to present the barcode symbol. try Barcode2D_QRCode1. . RvProj. 17 . 4. change the properties of the TBarcode2D component such as Barcode. adjust its size in order to accommodate entire barcode symbol.7 How to use the barcode components with Rave Reports Usage: 1.Create. RvPage := FindRaveComponent('Page1'. begin . adjust the size of the bitmap component in your report. TmpBitmap: TBitmap. ASymbolWidth.YI2U(AHeight / Scale).Height := RvReport. Barcode2D_QRCode1. Module. RvBitmap.. 2.XI2U(AWidth / Scale).. 3. end. RvBitmap := FindRaveComponent('Bitmap1'. such as the TBarcode2D_QRCode.. and RvClass units to the uses list. and use the DrawTo method of the TBarcode2D component to draw the barcode symbol to the temporary TBitmap object. AHeight. TmpBitmap. Put a TBarcode2D barcode component. TBarcode2D_PDF417.Close.DrawToSize(AWidth. For example: RvProject1. AWidth. Then create a temporary TBitmap object. ASymbolHeight). Create the OnAfterOpen event function for the TRvProject component... with RvProject1.Width := RvReport. Scale: Integer. Use the Rave Reports Visual Designer to edit your report.Barcode := '1234567890'. AHeight.Module := 2. put a TDBBarcode2D component to the form and link the TBarcode2D component to the TDBBarcode2D component if the database support is required. ASymbolWidth.Open. Also..Width := AWidth.. 5.Execute. TmpBitmap. and call the Close method after print or preview the report. Add RvCsStd. RvPage) as TRaveBitmap.. TBarcode1D_UPCE. TBarcode2D_CCB. TBarcode1D_UPCE1. put a TDBBarcode2D component (the linear barcode component is the TBarcode2D_RSS14. The TBarcode2D_RSS14. TBarcode1D_UPCE1. TBarcode2D_GridMatrix to your form. TBarcode2D_RSSLimited. Put a TBarcode2D barcode component. TBarcode1D_EAN13.9 How to add a logo to barcode symbol Usage: 1. 0. and TBarcode1D_EAN128 components can be used as linear barcode component too. 3. Put a linear barcode component to your form.Image. 0). the Image property's value of the 2D component will be used. or TQRGzImage control. RvBitmap. only the TBarcode1D_EAN128 component can be used as the linear barcode component if you use the TBarcode2D_CCC as the 2D barcode component. TBarcode1D_UPCE. Barcode2D_QRCode1. or put a TQRImage or TQRGzImage control to your report. TQRImage.2D Barcode VCL Components User Manual RvBitmap. TBarcode1D_EAN8. TBarcode1D_EAN8.UCC composite barcode symbol Usage: 1. . TBarcode1D_UPCE1.. 3. Also. or TBarcode2D_RSSExpanded) or a TDBBarcode1D component (if the linear barcode component is the TBarcode1D_UPCA. The TBarcode1D_UPCA. finally TmpBitmap.Assign(TmpBitmap). TBarcode1D_UPCE0. or TBarcode1D_EAN128 component as the linear barcode component. 5. 2.Canvas. or TBarcode1D_EAN128) to the form and link the linear barcode component to it if the database support is required. Put a TImage control to your form. TBarcode1D_EAN13. end. TBarcode2D_DataMatrixEcc200. 4. TBarcode1D_UPCE0. TBarcode2D_RSSLimited.Free.. they are in the 1D Barcode VCL Componnts package. end. and TBarcode2D_RSSExpanded can be used as the linear component. Note: If you use the TBarcode1D_UPCA. put a TDBBarcode2D component to the form and link the 2D barcode component to the TDBBarcode2D component if the database support is required. Set the Image property of the 2D barcode component to the TImage. 3. Put a 2D barcode component TBarcode2D_CCA. TBarcode1D_EAN8. or TBarcode2D_CCC to your form.8 How to generate the EAN. Also. Set the Linear property of the 2D barcode component to the linear barcode component. The TDBBarcode1D component is in the 1D Barcode VCL Componnts package.DrawTo(TmpBitmap.MatchSide := msBoth. TBarcode1D_EAN13.. TBarcode1D_UPCE. and .. The Image property of linear barcode component should not be normally set.. TBarcode1D_UPCE0. its Height property should be set to a value larger than zero. Note. 18 such as the TBarcode2D_QRCode. .EndDoc. TSave2D_Gif. Add a logo picture to the Picture property of the TLogo2D component. TSave2D_Emf. or Printer.3).EndDoc. including TSave2D_Bmp. If you use the DrawTo method to draw the barcode symbol to canvas. { Print other content } Barcode2D_QRCode1. The TImage control isn't required. and TSave2D_Eps saving components don't save the logo picture. 3. and TSave2D_Svg saving components.3).. Print(20. 19 . 0. If you use the TSave2D saving component to save the barcode symbol to picture file. end. BarColor := clBlack.. such as the TBarcode2D_QRCode. TBarcode2D_PDF417. { Print other content } Printer. "jpg"/"jpeg". the logo will be printed with the barcode symbol. the TSave2D_Wmf.2D Barcode VCL Components User Manual 2.. true. 20.BeginDoc. SpaceColor := clWhite. the logo will be saved with the barcode symbol.Print('1234567890'. "wmf". "emf".10 How to print a barcode symbol to paper Please use Print method of a barcode component to print the barcode symbol to paper. 20.. and "tif"/"tiff" image formats are supported depend on the version of IDE.. and TBarcode2D_RSS14 to your form. 20.. the logo will be drawn with the barcode symbol. Put a TBarcode2D barcode component. 4. "ico". Put a TLogo2D component to your form. the barcode symbol with logo will be displayed in it. Set the Barcode2D property of the TLogo2D component to the TBarcode2D barcode component. clWhite. TSave2D_Png.BeginDoc. If you use the Print method to print the barcode symbol to paper. For example: Printer. . Note. 5. { Print other content } with Barcode2D_QRCode1 do begin ShowQuietZone := true. TSave2D_Jpg. The "bmp". "gif". Change the properties of the TLogo2D component to adjust the size and position of the logo picture. . { Print other content } Printer.. 0. "png". clBlack. . If your TBarcode2D barcode component has linked to a TImage control. 3. 3.11 How to save a barcode symbol to picture file Usage: 1.. Barcode := '1234567890'. .. please convert the text to your encoding scheme. For example: Image1. if its Linear property is set. and TSave2D_Svg to your form.. begin // The text is encoded in UTF-8 format.bmp').Barcode2D_QRCode1Encode(Sender: TObject.. or TBarcode2D_CCC. 3. and for the TBarcode2D_MaxiCode component. UTF-16BE. Put a TSave2D component.. such as the TSave2D_Bmp. For example: var BarcodeText: string. Method 2. Also. In the event function. BarcodeText := '. . Note: For the EAN..12 How to encode the UNICODE text in a 2D barcode symbol By default.. Data := #$EF#$BB#$BF + AnsiToUTF8(Barcode). The BOM may be placed depending on your application.'. TBarcode2D_CCB.. 20 . . the text will be encoded in ANSI ecnoding sheme.Barcode := #$EF#$BB#$BF + AnsiToUTF8(BarcodeText).. 3. var Data: sAnsiString. such as the TBarcode2D_QRCode. Set the Barcode2D property of the TSave2D component to the TBarcode2D barcode component. you can use other encoding scheme.2D Barcode VCL Components User Manual 2. You can bind multiple TSave2D components to a TBarcode2D barcode component in order to save the barcode symbol in multipe formats. UTF-16LE. 4. Barcode2D_QRCode1. The BOM may be placed depending on your application.SaveToFile('C:\2Dbarcode. you can encode the UNICODE text in your encoding scheme.UCC compisite barcode componentTBarcode2D_CCA. Please create the OnEncode event function for the barcode component. etc. For example: var BarcodeText: string. and the TBarcode2D_PDF417.Barcode := BarcodeText. // The text is encoded in UTF-8 format.. and the TBarcode2D_PDF417. then assign it to the Barcode property of the barcode component. For Delphi/C++ Builder 2007 or early: Method 1. please use the SaveToFile method of the TImage control that is linked to the barcode component to save the barcode symbol as a picture file. and the BOM is placed. Barcode2D_QRCode1. TSave2D_Png...Bitmap. such as the TBarcode2D_QRCode. TBarcode2D_DataMatrixECC200.'. and the BOM is placed. BarcodeText := '.. procedure TForm1.Picture. end. Barcode: string)... Use the Save method of the TSave2D component to save the barcode symbol to picture file. . TBarcode2D_DataMatrixECC200. such as the UTF-8. .... BarcodeText := '. Data := #$EF#$BB#$BF + UTF8Encode(Barcode).. . var Data: AnsiString. then assign it to the Data property of the barcode component. For example: // The text is encoded in UTF-8 format.. begin // The text is encoded in UTF-8 format. The BOM may be placed depending on your application.. For example: var BarcodeText: string.'. var BarcodeText: string. Barcode2D_QRCode1. such as the TBarcode2D_QRCode.. ....Barcode2D_QRCode1Encode(Sender: TObject. such as the TBarcode2D_QRCode.. Please create the OnEncode event function for the barcode component. .Data := #$EF#$BB#$BF + UTF8Encode(BarcodeText). and the TBarcode2D_PDF417. BarcodeText := '.. Barcode: string). procedure TForm1. and the BOM is placed. 21 .. Method 2.Barcode := BarcodeText. TBarcode2D_DataMatrixECC200.'. Barcode2D_QRCode1. and the TBarcode2D_PDF417. and the BOM is placed. The BOM may be placed depending on your application. you can encode the UNICODE text in your encoding scheme. TBarcode2D_DataMatrixECC200. In the event function. end..2D Barcode VCL Components User Manual For Delphi/C++ Builder 2009 or later: Method 1. please convert the text to your encoding scheme. It's defined in the pBarcode2D unit.1 TBarcode2D It is the base class of all barcode components. Jr. Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked (*): The Data property. Inc. in 1997. The code was published by AIM. All 256 8-bit values can be encoded.1.2D Barcode VCL Components User Manual Chapter 4. It is used 22 . 4. It's defined in the pAztecCode unit. with a square bullseye pattern at their center. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.1 TBarcode2D_AztecCode The component is used to create the Aztec Code 2D Barcodes symbols. Aztec Code is invented by Andrew Longacre. Aztec Code is a two-dimensional matrix symbology whose symbols are nominally square. And it cannot be instantiated. and Robert Hussey in 1995. Aztec Code symbols can encode from small to large amounts of data with user-selected percentages of error correction. made up of square modules on a square grid. Reference 4. azSize_19. azSize_23Compact. It's useful for encoding shorter messages efficiently. and full range symbol sizes from smCompact: Only the symbol sizes in compact format. azSize_23. Symbol sizes The smallest Aztec Code symbol is 15 * 15 modules square. Formats There are two basic formats of Aztec Code symbols: Compact: There is a 2-ring bullseye pattern in the symbol center. smAll: All symbol sizes. including all compact symbol sizes (azSize_15Compact. azSize_23Compact. including compact and full range formats. azSize_27.2D Barcode VCL Components User Manual for small item marking applications using a wide variety of printing and marking technologies. smProgram: Only the symbol sizes that they are useful for reader initialization. including the azSize_19. including the azSize_15Compact. It supports much larger symbols for longer data messages. based on the length of barcode text. and azSize_27Compact). including azSize_15Compact. and the largest is 151 * 151. and full range symbol sizes from azSize_31 to azSize_109. azSize_19Compact. You can use the SymbolMode property to specify which formats and Aztec Code symbol sizes (see also the "Symbol sizes" section below) will be automatically selected between the minimum and maximum symbol sizes specified by corresponding MinSize and MaxSize properties. a "\p" escape sequence should be placed into the barcode text. These are specified in following table (defined in the pAztecCode unit): 23 . There are 36 square symbol sizes available in Aztec Code symbology. and the AllowEscape property should be set to true. and azSize_31 to azSize_151. See also the "Escape sequences" section below. smFullRange: Only the symbol sizes in full range format. It can be one of these values (defined in the pAztecCode unit): smNormal: Only the symbol sizes that they are useful for data encoding operation. Full range: There is a 3-ring bullseye pattern in the symbol center. azSize_19Compact. Note. and azSize_27Compact. azSize_31 to azSize_151. in order to create a reader initialization symbol. azSize_23. azSize_27. TrailingQuietZone. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. and BottomQuietZone properties are equal to 0. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxSize property. TopQuietZone. 2. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum and maximum symbol sizes.2D Barcode VCL Components User Manual Sizes Formats Layers Dimension (modules) azSize_15Compact azSize_19 azSize_19Compact azSize_23 azSize_23Compact azSize_27 azSize_27Compact azSize_31 azSize_37 azSize_41 azSize_45 azSize_49 azSize_53 azSize_57 azSize_61 azSize_67 azSize_71 azSize_75 azSize_79 azSize_83 azSize_87 azSize_91 azSize_95 azSize_101 azSize_105 azSize_109 azSize_113 azSize_117 azSize_121 azSize_125 azSize_131 azSize_135 azSize_139 azSize_143 azSize_147 azSize_151 Compact Full range Compact Full range Compact Full range Compact 1 1 2 2 3 3 4 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 15 * 15 19 * 19 19 * 19 23 * 23 23 * 23 27 * 27 27 * 27 31 * 31 37 * 37 41 * 41 45 * 45 49 * 49 53 * 53 57 * 57 61 * 61 67 * 67 71 * 71 75 * 75 79 * 79 83 * 83 87 * 87 91 * 91 95 * 95 101 * 101 105 * 105 109 * 109 113 * 113 117 * 117 121 * 121 125 * 125 131 * 131 135 * 135 139 * 139 143 * 143 147 * 147 151 * 151 Full range Maximum data capacities Digits Text Bytes 13 18 40 49 70 84 110 128 178 232 294 362 433 516 601 691 793 896 1008 1123 1246 1378 1511 1653 1801 1956 2116 2281 2452 2632 2818 3007 3205 3409 3616 3832 12 15 33 40 57 68 89 104 144 187 236 291 348 414 482 554 636 718 808 900 998 1104 1210 1324 1442 1566 1694 1826 1963 2107 2256 2407 2565 2728 2894 3067 6 8 19 24 33 40 53 62 87 114 145 179 214 256 298 343 394 446 502 559 621 687 753 824 898 976 1056 1138 1224 1314 1407 1501 1600 1702 1806 1914 Note: Full range symbols with 1. Error checking and correcting (ECC) 24 . Quiet zones No quiet zone is required outside the bounds of the Aztec Code symbol. You can use the MinSize and the MaxSize properties to specify the minimum and maximum sizes for an Aztec Code symbol. remaining data capacity of the symbol will be used as excess error correction. So the minimum values of LeadingQuietZone. azSize_23. or 3 layers (azSize_19. The data capacities shown are based on the recommended error correction levels (23 % of symbol capacity plus 3 codewords). and azSize_27) are useful only for reader initialization. The CurrentSize property can be used to get the factual symbol size. If the barcode text does not fill the maximum data capacity of the Aztec Code symbol. and the ECCCount property should be set to a size which includes adequate error correction for the longest message anticipated. \p: Indicates to create a reader initialization symbol. for data security. Extended Channel Interpretation (ECI) The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. Character set 1. Some applications will be best served by specifying a fixed size (number of codewords) to be used for all Aztec Code symbols regardless of their data content. Only the azSize_15Compact. They may also choose to override the default error correction level. azSize_23. In this case. in which case it will be represented in the transmitted message as GS character (ASCII value 29). may choose to specify an alternate minimum error correction percentage (specified by the ECCLevel property). See also the "Character set" section above. This interpretation corresponds to ECI 000003.<Message_ID>]: Insert a structured append block to barcode text in order to create the symbol in a structured append. depending on message length. the ECCLevel property should be set to 0. then. Four broad types of interpretations are supported in Aztec Code: International character sets (or code pages). The escape sequence "\f" can be used to place the FNC1 character to barcode text. creating more robust symbols for this application. All 8-bit values can be encoded. Escape sequences If the AllowEscape property is set to true. the symbology will typically have to add extra error correction codewords above this minimum to fill out the symbol.S. See also the "Extended Channel Interpretation (ECI)" section below. See also the "Extended Channel Interpretation (ECI)" section below. Note this version consists of the GO set of ISO/IEC 646 and the CO set of ISO/IEC 6429 with values 28 to 31 modified to FS. you can insert them to the barcode text: \\: Insert a backslash to barcode text. See also the "Structured append" section below. though both limits are unsound. \s[<Index>. FNC1: The FNC1 character following an application standard agreed with AIM International. specifying either an alternate minimum error correction percentage or a fixed symbol format and ECC size. national version of ISO/IEC 646 (ASCII). azSize_27. Two non-data characters can be encoded. The FNC1 character may also be used as a field separator. 25 . It can be placed anywhere in the barcode text. typically shorter messages will be encoded with excess error correction. General purpose interpretations such as encryption and compaction. FNC1 shall be used as defined in the EAN. 3 or more additional error correction codewords (specified by the ECCCount property). The default interpretation shall be: For values 0 to 127. Users.UCC General Specifications either in the first position or implied by the mode character.2D Barcode VCL Components User Manual The design of Aztec Code technically allows a symbol to include as little as none or as much as 99% in error correction codewords. ECI: The escape sequence "\e[m]" can be used to place the ECI indicator block to barcode text. azSize_19. This is called a "minimum" percentage because. in accordance with the U. so the SymbolMode property should be set to "smProgram" in order to create the reader initialization symbol. following escape sequences are supported by the component. GS. 2. \f: Insert a FNC1 character to barcode text. identifies a symbol which conforms to a specific industry standard. The recommended level of error correction for normal use is 23% of symbol capacity plus 3 codewords more.<Amount>.255. The AllowEscape property should be set to true in order to place the FNC1 characters or the ECI indicator blocks. For values 128 . judging their applications to be especially benign or critical. FNC1 for compatibility with some existing applications and ECI indicator blocks for the standardized encoding of message interpretation information. and full range symbol sizes from azSize_31 to azSize_109 are useful for reader initialization symbol. in accordance with ISO/IEC 8859-1 (Extended ASCII). ranging from 0% to 99% plus always. RS and US respectively). \e[<ECI_Number>]: Insert an ECI indicator block to barcode text. The escape sequence "\s[<Index>. and shall be the same for all symbols which comprise the same message. The following is an example of structured append: \s[2. DESCRIPTION]ABCDEFGabcdefg1234567890 26 . Structured append In order to fit a non-square area or to handle larger messages than are practical in a single symbol. It's an integer between 2 and 26 (including the boundaries) in string format. <Message_ID>]" is used to place the structured append block to the barcode text: Index: The position index of the symbol within the set of Aztec Code symbols in the structured append format. For example: ABC\e[123]DEFabc\e[000003]def The AllowEscape property should be set to true in order to place the ECI indicator blocks.2D Barcode VCL Components User Manual User defined interpretations for closed systems. a data message can be distributed across several Aztec Code symbols. it's an integer between 0 and 999999 (including the boundaries). Control information for structured append in unbuffered mode. The AllowEscape property should be set to true in order to place the structured append block. Any ECI invoked shall apply until the end of the barcode text. ECI indicator blocks may be placed anywhere in the barcode text in a single or structured append set of Aztec Code symbols. Up to 26 Aztec Code symbols may be appended in a structured format to convey more data. It's an integer between 1 and 26 (including the boundaries) in string format. The structured append block may only be placed only once in the barcode text. The escape sequence "\e[<ECI_Number>]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number. or until another ECI indicator block is encountered. The ECI protocol provides a consistent method to specify particular interpretations on byte values before printing and after decoding. Thus the interpretation of the ECI may straddle two or more symbols. Also. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the structured append block be placed more than once. Amount: The total amount of the symbol within the set of Aztec Code symbols in the structured append format. the most efficient encoding will result if it is a string of uppercase letters. <Amount>. it shall be placed at beginning of the barcode text. The field is any number of data characters excluding the space character. Message_ID: An optional message ID. 5. or it isn't placed at beginning of the barcode text. The ECI is identified by an integer (up to 6 digits) which is encoded in the Aztec Code symbol by the ECI indicator block. Though the field may be made up of any characters (except additional spaces). the leading zero is optional. If a symbol is part of a structured append this shall be indicated by a structured append block in barcode text. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. It's defined in the pAztecRunes unit. Thus they comprise 256 11x11 module square marks which are conveniently found and read by an Aztec Code reader. 4.1.2 TBarcode2D_AztecRunes The component is used to create the Aztec Runes 2D Barcode symbols.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked Inversed Mirrored SymbolMode BytesAlwaysBackToUpper MinSize MaxSize ECCLevel ECCCount AllowEscape CurrentSize (Read only) (*): The Data property. They are in fact just the core symbol of a compact Aztec Code symbol with a numerically distinct mode message which in this case conveys 8 bits of actual data. it is 11 * 11 modules square. Aztec Runes are a series of small but distinct machine-readable marks designed to be graphically compatible with Aztec Code. 27 . Symbol size Each Aztec Runes symbol is of a fixed size. So the minimum values of LeadingQuietZone. TopQuietZone. Character set All 8-bit values can be encoded. The maximum length of barcode text is limited to 3 digits. every Aztec Runes symbol can encode one 8-bit value. The FixedLength property specifies whether adding leading zeros are required if the length is less than 3 digits.UCC compisite barcode symbol that uses the CC-A as the 2D symbol.3 TBarcode2D_CCA The component is used to create the EAN. so only numeric characters can be used in the barcode text.UCC composite symbol consists of a linear symbol (encoding the item's primary identification) 28 . it's expressed in a decimal integer between 0 and 255 (including the boundaries). Data capacity An integer between 0 and 255 (including the boundaries). 4. in string format. and BottomQuietZone properties are equal to 0. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked Inversed Mirrored FixedLength (*): The Data property. in string format. It's defined in the pCCA unit.2D Barcode VCL Components User Manual Quiet zones No quiet zone is required outside the bounds of the Aztec Runes symbol. TrailingQuietZone. An EAN.1. UPC-A. UPC-E0. RSS-14 Stacked Omnidirectional. and BottomQuietZone properties specify the size of quiet zones for entire EAN. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the linear component is the TBarcode1D_UPCE. EAN-13.UCC composite symbols. for example. TBarcode1D_UPCE0. RSS-14 Truncated. referred to as ccaRow_3 to ccaRow_10. It's a multi-row symbology component derived from MicroPDF417.UCC composite symbology. three-. The LeadingQuietZone. In other words. The number of columns will be automatically selected depending on the linear symbol that's associated with the CC-A symbol (specified by the Linear property). The CC-A is one of the three choices for the 2D symbol in a symbol encoded in the EAN. UPC-E1 9 ccaRow_9 10 ccaRow_10 12 ccaRow_12 4 ccaRow_4 5 ccaRow_5 6 ccaRow_6 RSS Limited. for use only in EAN.UCC composite symbol. These symbol sizes are defined in following table: Number of data columns 2 3 4 Number of rows Liner symbol 5 ccaRow_5 6 ccaRow_6 7 ccaRow_7 8 ccaRow_8 RSS-14 Stacked. EAN-128 6 ccaRow_6 7 ccaRow_7 Max Capacity in Bits 59 78 88 108 118 138 167 78 98 118 138 167 78 108 138 167 197 You can use the MinRows property to specify a minimum number of stacked rows. UPC-E. TopQuietZone. three. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. CC-A symbols shall conform with certain predefined combinations of numbers of rows. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. columns. If the barcode text is so long that it cannot be encoded using the maximum number of stacked rows specified by the MaxRows property. the smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum and the maximum number of stacked rows. TrailingQuietZone. TBarcode1D_ENA8. the leading quiet zone will 29 . So the minimum values of these properties are equal to 0. the value ccaRow_5 denotations the CC-A symbol is 5 stacked rows. Symbol sizes The CC-A symbols have two. they are not only for the CC-A 2D symbol. Quiet zones For the CC-A symbol. in modules. the ShowQuietZoneMark property is set to true too). The allowable numbers of rows are specified separately for each of the two-. TBarcode1D_UPCE1. such as a batch number or expiration date). and use the MaxRows property to specifiy a maximum number of stacked rows. or TBarcode1D_EAN13. The leading quiet zone and trailing quiet zone shall be a minimum of 1 modules. You can use the CurrentRows property to get the factual number of stacked rows. The RowHeight property can be used to specify the height for each row. It's designed for efficient encoding of supplemental application identifier data. and four-column symbol sizes. or four data columns. TBarcode1D_UPCA. Each CC-A symbol consists of a stack of vertically-aligned rows (with a minimum of three and a maximum of twelve rows. EAN-8 7 ccaRow_7 8 ccaRow_8 3 ccaRow_3 4 ccaRow_4 RSS-14 Standard.2D Barcode VCL Components User Manual associated with an adjacent 2D symbol (encoding supplementary data. they are defined in the pCCA unit). and ccaRow_12. No top quiet zone and bottom quiet zone are required outside the bounds of the CC-A symbol. RSS Expanded. RSS Expanded 5 ccaRow_5 Stacked. and for the TBarcode1D_ENA8 component. regardless of whether the ShowQuietZone property is set to true or false. The error correction codewords provide capability 30 . and its human readable text is represented and exceeds the beginning or end of entire EAN. TBarcode2D_RSSExpanded. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the linear component is the TBarcode1D_UPCE. TBarcode1D_UPCE0. or TBarcode1D_EAN128. TBarcode1D_EAN8. TBarcode1D_UPCE0. the minimum width of trailing quiet zone that is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol will be used. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks.UCC composite barcode symbol. or TBarcode1D_EAN13 linear barcode component (specified by the Linear property). the separator pattern will be represented by the linear component. TBarcode1D_EAN8. If you use the TBarcode2D_CCA component together with a TBarcode2D_RSS14. TBarcode1D_UPCE1. and TBarcode1D_EAN128 linear components are in the Barcode VCL Components package. the minimum width of leading quiet zone that is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol will be used. TBarcode1D_UPCE1. TBarcode1D_EAN13. See digiam (the color of separator patterns are changed to red in order to accentuate them): Note. TBarcode1D_UPCE. the separator pattern will be represented by the TBarcode2D_CCA component. or TBarcode1D_EAN128 linear barcode component (specified by the Linear property). If you use the TBarcode2D_CCA component together with a TBarcode1D_UPCA. TBarcode1D_UPCE1. regardless of whether the ShowQuietZone property is set to true or false. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): Separator pattern A separator pattern is required between the linear and 2D symbols of an EAN. TBarcode2D_RSSLimited.2D Barcode VCL Components User Manual be represented even if the ShowQuietZone property is set to false. the ShowQuietZoneMark property is set to true too). TBarcode1D_UPCE. Error checking and correcting (ECC) Each defined CC-A symbol size has a fixed number of error correction codewords. In other words. TBarcode1D_UPCE0. the TBarcode1D_UPCA. Similarly. the leading and trailing quiet zoens will be extanded automatically to cover the human readable text. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. TBarcode1D_UPCA. TBarcode1D_EAN13. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. the trailing quiet zone will be represented even if the ShowQuietZone property is set to false. TBarcode1D_ENA8.UCC barcode symbol (the leading and trailing quiet zones is included if theShowQuietZone property is set to true). please use the "{" and "}" instead. FNC1 and symbol separator. Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked RowHeight Linear MinRows MaxRows CurrentRows (Raead only) (*): The Data property.4 TBarcode2D_CCB 31 . And if you want insert the symbol separator. in the barcode text. please insert the "#" character instead. and they are not encoded into the barcode symbol. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. Note.1. please insert the "^" character instead. If you want insert the FNC1. If you want encode the parentheses "(" and ")" in an Application Identifier element string. 4. all Application Identifiers should be enclosed in parentheses "(" and ")".-. space. Character set A subset of ISO/IEC 646. and 19 selected punctuation characters (!:%&()*+. the parentheses are only for identifying Application Identifiers.<=>?_) in addition to the special function characters. a-z). consisting of the upper and lower case letters (A-Z./:.2D Barcode VCL Components User Manual for both error detection and correction. digits (0-9). they are defined in the pCCB unit). and use the MaxRows property to specifiy a maximum number of stacked rows. EAN-128 20 ccbRow_20 26 ccbRow_26 32 ccbRow_32 38 ccbRow_38 44 ccbRow_44 Max Capacity in Bits 59 78 88 108 118 138 167 78 98 98 118 138 167 167 167 167 167 78 98 98 98 118 138 167 167 167 167 167 You can use the MinRows property to specify a minimum number of stacked rows. CC-B symbols shall conform with certain predefined combinations of numbers of rows.UCC composite symbol consists of a linear symbol (encoding the item's primary identification) associated with an adjacent 2D symbol (encoding supplementary data. referred to as ccbRow_4 to ccbRow_44. RSS-14 Truncated. the smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum and the maximum number of stacked rows. UPC-E0. three-. A CC-B symbol is aMicroPDF417 symbol with a codeword of 920 in the first data position. RSS Expanded 15 ccbRow_15 Stacked. RSS Expanded. The number of columns will be automatically selected depending on the linear symbol that's associated with the CC-B symbol (specified by the Linear property). The CC-B is one of the three choices for the 2D symbol in a symbol encoded in the EAN. and four-column symbol sizes. In other words. The RowHeight property can be used to specify the height for each row. the value ccbRow_8 denotations the CC-B symbol is 8 stacked rows. columns. or four data columns (The one-column MicroPDF417 symbol isn't used). UPC-E.UCC compisite barcode symbol that uses the CC-B as the 2D symbol. Quiet zones 32 . UPC-A. such as a batch number or expiration date). in modules. EAN-13. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. It's defined in the pCCB unit. Each CC-B symbol consists of a stack of vertically-aligned rows (with a minimum of four and a maximum of forty four rows. These symbol sizes are defined in following table: Number of data columns 2 3 4 Number of rows Liner symbol 8 ccbRow_8 11 ccbRow_11 14 ccbRow_14 17 ccbRow_17 RSS-14 Stacked. UPC-E1 20 ccbRow_20 23 ccbRow_23 26 ccbRow_26 6 ccbRow_6 8 ccbRow_8 10 ccbRow_10 12 ccbRow_12 15 ccbRow_15 RSS Limited.2D Barcode VCL Components User Manual The component is used to create the EAN. RSS-14 Stacked Omnidirectional. EAN-8 20 ccbRow_20 26 ccbRow_26 32 ccbRow_32 38 ccbRow_38 44 ccbRow_44 4 ccbRow_4 6 ccbRow_6 8 ccbRow_8 10 ccbRow_10 12 ccbRow_12 RSS-14 Standard. If the barcode text is so long that it cannot be encoded using the maximum number of stacked rows specified by the MaxRows property. for example. Symbol sizes The CC-B symbols have two. An EAN.UCC composite symbology. three. You can use the CurrentRows property to get the factual number of stacked rows. The allowable numbers of rows are specified separately for each of the two-. the ShowQuietZoneMark property is set to true too).UCC barcode symbol (the leading and trailing quiet zones is included if theShowQuietZone property is set to true). See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): Separator pattern A separator pattern is required between the linear and 2D symbols of an EAN. TBarcode1D_ENA8. the leading quiet zone will be represented even if the ShowQuietZone property is set to false. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the linear component is the TBarcode1D_UPCE. The leading quiet zone and trailing quiet zone shall be a minimum of 1 modules. or TBarcode1D_EAN128. TBarcode1D_UPCE1. TBarcode1D_UPCA. the trailing quiet zone will be represented even if the ShowQuietZone property is set to false. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the linear component is the TBarcode1D_UPCE. regardless of whether the ShowQuietZone property is set to true or false. the leading and trailing quiet zoens will be extanded automatically to cover the human readable text. TBarcode1D_UPCE1. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. No top quiet zone and bottom quiet zone are required outside the bounds of the CC-B symbol. or 33 . the minimum width of trailing quiet zone that is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol will be used. So the minimum values of these properties are equal to 0. TrailingQuietZone. regardless of whether the ShowQuietZone property is set to true or false. the ShowQuietZoneMark property is set to true too). they are not only for the CC-B 2D symbol. and for the TBarcode1D_ENA8 component. or TBarcode1D_EAN13. TBarcode2D_RSSExpanded. TBarcode2D_RSSLimited. TopQuietZone. In other words. TBarcode1D_UPCE0.UCC composite symbol. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. TBarcode1D_UPCA. Similarly.UCC composite barcode symbol. the minimum width of leading quiet zone that is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol will be used. TBarcode1D_UPCE0. TBarcode1D_ENA8. The LeadingQuietZone. and BottomQuietZone properties specify the size of quiet zones for entire EAN.2D Barcode VCL Components User Manual For the CC-B symbol. TBarcode1D_EAN13. If you use the TBarcode2D_CCB component together with a TBarcode2D_RSS14. and its human readable text is represented and exceeds the beginning or end of entire EAN. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. and they are not encoded into the barcode symbol. TBarcode1D_UPCE1. space. TBarcode1D_UPCE. Note. the TBarcode1D_UPCA. TBarcode1D_EAN13. If you want encode the parentheses "(" and ")" in an Application Identifier element string. or TBarcode1D_EAN13 linear barcode component(specified by the Linear property). TBarcode1D_UPCE. the separator pattern will be represented by the TBarcode2D_CCB component. TBarcode1D_UPCE0./:. please use the "{" and "}" instead. all Application Identifiers should be enclosed in parentheses "(" and ")". The error correction codewords provide capability for both error detection and correction. If you use the TBarcode2D_CCB component together with a TBarcode1D_UPCA. digits (0-9). TBarcode1D_EAN8. please insert the "#" character instead. the parentheses are only for identifying Application Identifiers. please insert the "^" character instead. TBarcode1D_EAN8.2D Barcode VCL Components User Manual TBarcode1D_EAN128 linear barcode component (specified by the Linear property). TBarcode1D_UPCE0.-. the separator pattern will be represented by the linear component. and TBarcode1D_EAN128 linear components are in the Barcode VCL Components package. and 19 selected punctuation characters (!:%&()*+.<=>?_) in addition to the special function characters. a-z). in the barcode text. consisting of the upper and lower case letters (A-Z. See digiam (the color of separator patterns are changed to red in order to accentuate them): Note. Character set A subset of ISO/IEC 646. TBarcode1D_UPCE1. 34 . And if you want insert the symbol separator. Error checking and correcting (ECC) Each defined CC-B symbol size has a fixed number of error correction codewords. FNC1 and symbol separator. If you want insert the FNC1. stop and row indicator columns. An EAN. in modules. such as a batch number or expiration date).UCC compisite barcode symbol that uses the CC-C as the 2D symbol. 4. See diagram: 35 .5 TBarcode2D_CCC The component is used to create the EAN.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked RowHeight Linear MinRows MaxRows CurrentRows (Raead only) (*): The Data property. They are defined in the pPDF417Custom unit. It is defined in the pCCC unit. The RowHeight property can be used to specify the height for each stacked row. Symbol sizes Each CC-C symbol consists of a stack of vertically aligned rows with a minimum of 3 rows (maximum 90 rows).UCC composite symbol consists of a linear symbol (encoding the item's primary identification) associated with an adjacent 2D symbol (encoding supplementary data.UCC composite symbology. The CC-C is one of the three choices for the 2D symbol in a symbol encoded in the EAN. excluding start.1. A CC-C symbol is aPDF417 symbol with a codeword of 920 in the first data position. Each stacked row shall include a minimum of 1 symbol character column (maximum 30 symbol character columns). OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. And use the CurrentColumns property to get the factual number of columns. and BottomQuietZone properties are equal to 0. they are not only for the CC-C 2D symbol. and its human readable text is represented and exceeds the beginning or end of entire EAN. According to the priority order specified by the StretchOrder property. For the LeadingQuietZone property. the first symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. And use the MinColumns and the MaxColumns properties to specifiy the minimum and maximum number of symbol character columns for it. TopQuietZone. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. The LeadingQuietZone. So the minimum values ofTrailingQuietZone. No top quiet zone and bottom quiet zone are required outside the bounds of the CC-C symbol. regardless of whether the ShowQuietZone property is set to true or false. In other words. TBarcode1D_UPCE1. See digiam (the color of separator patterns are changed to red in order to accentuate them): 36 . TBarcode1D_UPCE0. or TBarcode1D_EAN128. TopQuietZone. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxRows and the MaxColumns properties.UCC composite symbol. See diagram (theSpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the linear component is the TBarcode1D_UPCE. TrailingQuietZone. and the MaxRows and MaxColumns properties specify a maximum symbol size. and BottomQuietZone properties specify the size of quiet zones for entire EAN. Quiet zones For the CC-C symbol.UCC barcode symbol (the leading and trailing quiet zones is included if theShowQuietZone property is set to true). You can use the CurrentRows property to get the factual number of stacked rows. TBarcode1D_EAN13.UCC composite barcode symbol. The leading quiet zone and trailing quiet zone shall be a minimum of 2 modules. the minimum values of the property is equal to 2 because the first bar of the CC-C symbol is on the left of the EAN-128 symbol always.2D Barcode VCL Components User Manual You can use the MinRows and the MaxRows properties to specifiy the minimum and maximum number of stacked rows for a CC-C symbol. the MinRows and MinColumns properties specify a minimum symbol size. TBarcode1D_ENA8. the leading and trailing quiet zoens will be extanded automatically to cover the human readable text. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): Separator pattern A separator pattern is required between the EAN-128 linear and CC-C 2D symbols of an EAN. The separator pattern will be represented by the TBarcode1D_EAN128 linear component (specified by the Linear property). TBarcode1D_UPCA. They are defined in the pPDF417Custom unit. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. the parentheses are only for identifying Application Identifiers.<=>?_) in addition to the special function characters. a-z). it may be determined based on the length of barcode text. all Application Identifiers should be enclosed in parentheses "(" and ")". It can be one of values from elEcc_0 to elEcc_8. in the barcode text. and 19 selected punctuation characters (!:%&()*+. please insert the "#" character instead. referred to as ECC 0 to ECC 8 respectively in increasing order of recovery capacity. Character set A subset of ISO/IEC 646. space. please use the "{" and "}" instead. in other words. please insert the "^" character instead. And if you want insert the symbol separator. and the error correction code level specified by the ECCLevel property. The CurrentECCLevel property can be used to get the factual error correction code level. You can use the ECCLevel property to specify the error correction code level for a CC-C symbol. the new level is always no lower than the level specified by the ECCLevel property. Error checking and correcting (ECC) In fact. a CC-C symbol is a special PDF417 symbol. and they are not encoded into the barcode symbol. If the ECCLevelUpgrade property is set to true. If you want encode the parentheses "(" and ")" in an Application Identifier element string. consisting of the upper and lower case letters (A-Z. FNC1 and symbol separator. digits (0-9). corresponding to error correction code level from ECC 0 to ECC 8./:. and the symbol size will not be increased. the TBarcode1D_EAN128 linear component is in the 1D Barcode VCL Components package. Note. so CC-C symbols offer 9 levels of error correction too. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. Note.2D Barcode VCL Components User Manual Note.-. If you want insert the FNC1. 37 . 2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked RowHeight Linear MinRows MaxRows MinColumn MaxColumn StretchOrder ECCLevel ECCLevelUpgrade Compact CurrentRows (Raead only) CurrentColumns (Read only) CurrentECCLevel (Read only) (*): The Data property. stacked 2D barcode symbology that can encode the complete ASCII 128-character set. It's defined in the pCode16K unit. variable-length. It's a continuous. 4.6 TBarcode2D_Code16K The component is used to create the Code 16K 2D Barcode symbols.1. Extended ASCII characters (ASCII value 128 to 255) may also be encoded by using function character. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. 38 . Code 16K was developed by Ted Williams in 1989 to provide a simple to print and decode multiple row symbology. B and C. They can be one of values from 2 to 16 (defined in the pCode16K unit). all of the standard upper case alphanumeric characters together with the lower case alphabetic characters inclusive). all 128 ASCII characters are encoded by internally switching between all 3 code sets: Code set A: Includes characters with ASCII values from 00 to 95 (i. Symbol size Each Code 16K symbol contains from 2 to 16 stacked rows. No top quiet zone and bottom quiet zone are required outside the bounds of the symbol. and the separator bar height is set to 1 module). and function characters.e. the row height is set to 8 modules. Each row is divided by a separator bar. The minimum row height value is 8 times the module width. Code set C: includes the set of 100 digit pairs from 00 to 99 inclusive. The top and bottom of the symbol also have separator bars that extend to the ends of the minimum quiet zones. This allows numeric 39 . remaining data capacity of the symbol will be filled by adding the PAD characters automatically.2D Barcode VCL Components User Manual Each Code 16K symbol contains from 2 to 16 rows.4mm * 3. Character set All 128 ASCII characters. If the barcode text is so long that it cannot be encoded using the maximum number of stacked rows specified by the MaxRows property. and function characters. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. all of the standard upper case alphanumeric characters together with the control characters inclusive). So the smallest Code 16K symbol is 81 * 19 modules square and the largest is 81 * 145 modules square (inclusive of minimum quiet zones. and the minimum value of TopQuietZone.19 mm).e. with 5 ASCII characters per stacked row. ASCII characters 0 to 127 inclusive. You can use the CurrentRows property to get the factual number of stacked rows. and BottomQuietZone properties are equal to 0. i. The minimum value of the module width is 7. So the minimum physical size is 15. in accordance with ISO/IEC 646:1991. So the minimum value of LeadingQuietZone property is equal to 10. If the barcode text does not fill the maximum data capacity of the Code 16K symbol. The smallest number of symbol stacked rows that accommodates the barcode text will be automatically selected between minimum and maximum number of stacked rows.5 mils. the minimum value of TrailingQuietZone property is equal to 1. TheRowHeight property can be used to specify the height for each stacked row. the trailing quiet zone shall be a minimum of 1 modules. Code set B: Includes characters with ASCII values from 32 to 127 (i. The data capacities are listed in following table: Rows 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Maximum data capacities Numeric characters ASCII characters 14 24 34 44 54 64 74 84 94 104 114 124 134 144 154 7 12 17 22 27 32 37 42 47 52 57 62 67 72 77 You can use the MinRows and the MaxRows properties to specify the minimum and maximum number of stacked rows for a Code 16K symbol. in modules. The Code 16K symbol width is 81 modules (inclusive of minimum leading quiet zone and trailing quiet zone). The maximum data density is 208 alphanumeric characters per square inch or 417 numeric digits per square inch when the symbol is printed at 7. Code 16K has three unique data character sets as code sets A.5 mils (0.e. as well as seven special characters.6mm. Quiet zones The leading quiet zone shall be a minimum of 10 modules. The FNC1 character may also be used as a field separator. In general. The FNC4 character cannot be placed to barcode text directly. See also the "Message append" section below. or the PAD character. Also. from 0 to 6. The initial mode values from emCodeA to emExtended. FNC4: It's used internally together with code sets A. The FNC3 may be placed anywhere within the symbol. \b: Switch to code set B. PAD: If the barcode text does not fill the maximum data capacity of a Code 16K symbol. corresponding to these modes. and a kind of extended data length mode.2D Barcode VCL Components User Manual data to be encoded. The escape sequence "\2" can be used to place the FNC2 character to barcode text. at effectively twice the density of standard data. 4 function characters. There are seven kinds of initial mode. If the InitialMode property is set to emCodeC_Shift2B.UCC General Specifications either in the first position or implied by the mode character. This instructs the reader to interpret the data contained in the symbol for reader initialization or programming. This is done by internally using the FNC4 character together with code sets A. FNC1 shall be used as defined in the EAN. The code set will be automatically switched if a character is encountered that cannot be encoded by current code set. it's used internally by the component. The code set will be switched automatically in a Code 16K symbol in order to minimize the symbol size. The AllowEscape property should be set to true in order to place these escape sequences. B and C. \c: Switch to code set C. you shouldn't place the FNC2 to the barcode text. The escape sequence "\3" can be used to place the FNC3 character to barcode text. B and C to encode the extended ASCII characters (ASCII values from 128 to 255). you can manually switch the code set by using following escape sequences: \a: Switch to code set A. Characters with ASCII values 128 to 255 in accordance with ISO 8859-1:1998 may also be encoded. it's used internally by the component when the symbol is in a message append. identifies a symbol which conforms to a specific industry standard. And implied characters function as if they were actual symbol characters but don not occupy any space. two data digits per symbol character. and PAD character: FNC1: The FNC1 character following an application standard agreed with AIM International. Initial modes Code 16K has initial modes which are used to specify the initial code set and may also represent an implied leading FNC1 character or implied leading SHIFT B character as shown in following table. they cannot be used as the first character in the symbol. If the symbol mode specified by the InitialMode property is set to emCodeC_Shift1B. The AllowEscape property should be set to true in order to place the functions characters. you can place a PAD character anywhere in the barcode symbol by using the escape sequence "\p". FNC2: It's used internally to create a message append defined below. in order to create the special Code 16K symbol for closed system. FNC3: Initialize. in which case it will be represented in the transmitted message as GS character (ASCII value 29). The escape sequence "\1" can be used to place the FNC1 character to barcode text. they cannot be used as the first two characters in the symbol. are defined in the pCode16K unit. Also. In addition they can be placed anywhere within the symbol. These modes and their values are listed in following table: 40 . PAD characters will be added automatically to fill the remaining data capacity of the symbol. \1: Insert a FNC1 character to barcode text. The code set will be automatically switched if another code set character is encountered. <Amount>]: Insert a message append block to barcode text in order to create the symbol in a message append. Extended data length mode The extended data length mode is used to encode data beyond the capacity of a single Code 16K symbol. If a symbol is part of these extended data length mode symbols.2D Barcode VCL Components User Manual Initial Implied code character set Initial Mode Value 0 1 2 3 4 emCodeA emCodeB emCodeC emCodeB_FNC1 emCodeC_FNC1 A B C B C 5 emCodeC_Shift1B C 6 emCodeC_Shift2B C Extended data emMode_Extended length mode B Description (None) The code set will be automatically switched if another code set character is (None) encountered. See also the "Message append" section below. in this case. See also the "Character set" section above. depending on the barcode text. See also the "Extended data length mode" section below. The escape sequence "\m[<Index>. It can be one of values shown in table above. it can be set to emAuto (defined in the pCode16K unit). \s[<Index>. \2: Insert a FNC2 character to barcode text. and it should be placed at beginning None of barcode text. See also the "Character set" section above. one of values from emCodeA to emModeC_Shift2B. Indicates to create a Code 16K barcode symbol in extended data length mode. See also the "Character set" section above. It's an integer 41 . Also. otherwise anOnInvalidChar or Double OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. you can insert them to the barcode text: \\: Insert a backslash to barcode text. must be code set B character (ASCII 32 .ASCII 127). \3: Insert a FNC3 character to barcode text. \c: Manually switch code set to code set C. (None) FNC1 FNC1 First character excepting the message append block (if exists). following escape sequences are supported by the component. must be code set B characters (ASCII 32 . and the extended data length mode. otherwiset the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. \m[<Index>.ASCII 127). corresponding to the initial modes 0 to 6 shown in table above will be selected automatically. See also the "Character set" section above. \b: Manually switch code set to code set B. In the extended data length mode. The InitialMode property can be used to specify the initial mode for a Code 16K symbol. First two characters excepting the message append block (if exists). See also the "Character set" section above. See also the "Character set" section above. corresponding to the initial modes 0 to 6. You can always use the CurrentMode property to get the factual initial mode. this shall be indicated by extended data length mode block in barcode text. The SHIFT B code set will be automatically switched if another code set character is encountered. See also the "Extended data length mode" section below. It's an integer between 1 and 107 (including the boundaries) in string format. Amount: The total amount of the symbol within the set of Code 16K symbols in the extended data length mode. <Amount>]" is used to place the extended data length mode block to the barcode text: Index: The position index of the symbol within the set of Code 16K symbols in the extended data length mode. <Amount>]: Insert a extended data length mode block to barcode text in order to create the symbol in extended data length mode. \p: Insert a PAD character to barcode text. in order to minimize the symbol size. Escape sequences If the AllowEscape property is set to true. See also the "Character set" section above. or 16050 numeric digits). up to 107 Code 16K 16-rows symbols may be arranged to convey more data (up to 8025 ASCII characters. \a: Manually switch code set to code set A. An extended data length mode block is required. otherwise anOnInvalidChar or OnInvalidDataChar SHIFT B (only for Delphi/C++ Builder 2009 or later) event will occur. otherwise the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. The AllowEscape property should be set to true in order to place the message append block. otherwise the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. the number of stacked rows will be changed to 16 automatically. The following is an example of extended data length mode symbol: \m[2. the extended data length mode block is required if the InitialMode property is set to emMode_Extended. It's an integer between 2 and 9 (including the boundaries) in string format. otherwise the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. It's an integer between 1 and 9 (including the boundaries) in string format. The following is an example of message append symbol: \s[2. The escape sequence "\s[<Index>. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the extended data length mode block be placed more than once. it shall be placed at beginning of the barcode text.2D Barcode VCL Components User Manual between 2 and 107 (including the boundaries) in string format. The symbols in a message append should not be arranged horizontally. The message append block may be placed only once in the barcode text. otherwise the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur too. it shall be placed at beginning of the barcode text. If a symbol is part of a message append this shall be indicated by a message append block in barcode text. or it isn't placed at beginning of the barcode text. Message append (structured append) The message append is a method similar to the extended data length mode to encode data beyond the capacity of a single Code 16K symbol. Also. <Amount>]" is used to place the message append block to the barcode text: Index: The position index of the symbol within the set of Code 16K symbols in the message append format. Up to 9 Code 16K symbols may be appended in a structured format to convey more data. The extended data length mode block shouldn't be placed together with message append block in the barcode text. The message append block shouldn't be placed in the barcode text if the InitialMode property is set to emMode_Extended. but only in a single vertical stack.12]ABCDEFG1234567 The InitialMode property should be set to emAuto or emMode_Extended if an extended data length mode block is placed in the barcode text. The maximum number of symbols should be specified for the application. See also the "Extended data length mode" section above. Conversely. they shall be arranged in a single vertical stack. See also the "Message append (structured append)" section below. Note. they may be arranged horizontally or vertically adjacent to each other. The AllowEscape property should be set to true in order to place the extended data length mode block. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the message append block be placed more than once or it isn't placed at beginning of the barcode text. Amount: The total amount of the symbol within the set of Code 16K symbols in the message append format. If more symbols are to be logically linked. otherwise the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. If a symbol is encoded in extended data length mode. if only two symbols are to be logically linked in extended data length mode. 42 . It should only be used in closed systems. Also. The extended data length mode block may be placed only once in the barcode text.5]ABCDEFGHIJKLMN012345 The message block shouldn't be placed together with extended data length mode block in the barcode text. 4.1.7 TBarcode2D_CompactMatrix The component is used to create the Compact Matrix 2D barcode symbols. Compact Matrix is a variable-sized two-dimensional matrix symbology. It's defined in the pCompactMatrix unit. Compact Matrix was invented by Syscan Technology Co. Ltd. Compact Matrix can encode 7-bit ASCII.. and binary data. The code graph adopts sprocket hole positioning and graphic sectioning techniques to perform fast and accurate identification and handling of 2D barcode graph by analyzing the information of sprocket position and graphic section. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked MinRows MaxRows RowHeight SeparatorBarHeight InitialMode AllowEscape CurrentRows (Read only) CurrentMode (Read only) (*): The Data property. numeric. in addition to any combination of data types in the same symbol. particularly effective with Chinese characters. Symbol sizes 43 . corresponding to the ECC levels from 1 to 8. If the barcode text does not fill the maximum data capacity of the Compact Matrix symbol. In horizontal orientation. TopQuietZone. And use the MinSegments and the MaxSegments properties to specifiy the minimum and maximum number of segments for it. and the MaxVersion and MaxSegments properties specify a maximum symbol size. remaining data capacity of the symbol will be filled by using pad bits (the ECCLevelUpgrade property is set to false). You can use the ECCLevel property to specify the error correction code level for a Compact Matrix symbol. You can use the CurrentVersion property to get the factual version. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. GB 18030 Chinese characters can be encoded. For this purpose. TrailingQuietZone. 44 . You can use the MinVersion and the MaxVersion properties to specifiy the minimum and maximum version for a Compact Matrix symbol.2D Barcode VCL Components User Manual There are 32 vertical sizes of Compact Matrix symbol. from 1 to 8 respectively in increasing order of recovery capacity. And use the CurrentSegments property to get the factual number of segments. These ECC levels are listed in following table: Error correction code level Percentage of total capacity for ECC data 1 2 3 4 5 6 7 8 8% 16% 24% 32% 40% 48% 56% 64% If the ECCLevelUpgrade property is set to true. According to the priority order specified by the StretchOrder property. Five non-data characters can be encoded: AIM FNC1: It identifies symbols formatted in accordance with specific industry or application specifications previously agreed with AIM International. each Compact Matrix symbol consists of an array of segments with a minimum of 1 segment (maximum 32 segments). 8-bit binary data can be encoded. or will be used to upgrade the error correction code level (the ECCLevelUpgrade property is set to true). it may be determined depending on the length of barcode text. In other words. the MinVersion and MinSegments properties specify a minimum symbol size. Error correction code (ECC) There are eight user-selectable levels of error correction. referred to as version 1 to 32. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxVersion and the MaxSegments properties. in increasing order of symbol height and data capacity. and BottomQuietZone properties are equal to 6. Note. The property CurrentECCLevel can be used to get the factual error correction code level. it shall only be used once in a symbol and shall be placed at beginning of the barcode. the highest error correction code level that can be accommodated by current symbol size will be used for creating more robust symbols. It can be one of values from 1 to 8. and the symbol size will not be increased. In other words. the new level is always no lower than the level specified by the ECCLevel property. and the error correction code level specified by the ECCLevel property (see also the "Symbol sizes" section above). It is immediately followed by an application indicator assigned to identify the specification concerned by AIM International. So the minimum values of LeadingQuietZone. the first symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. Quiet zones The minimum quiet zone is equal to 6 modules on all four sides. Character set All 7-bit ASCII values can be encoded. It shall be placed at beginning of the barcode text and it shall not be used with GS1 FNC1 ("\1") or FNC3 ("\3"). It shall be placed at beginning of the barcode text and it shall not be used with AIM FNC1 ("\0") or FNC3 ("\3"). it shall be placed on front of the structured append block (FNC2. <Amount>. The escape sequence "\3" can be used to placed the FNC3 character to barcode text. \e[<ECI_Number>]: Insert an ECI indicator block to barcode text.2D Barcode VCL Components User Manual The escape sequence "\0" can be used to placed the FNC1 character to barcode text. if the AIM FNC1 ("\0"). If it is used together with the structured append block (FNC2. The escape sequence "\e[<ECI_Number>]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number. it shall be placed on front of the structured append block ("\2"). it's an integer between 0 and 811799 (including the boundaries). <Index>]: Insert a structured append block (FNC2 and other structured append information) to the barcode text in order to create the symbol in a structured append. FNC2: The FNC2 is used to implement structured append function in order to handle larger messages than are practical in a single symbol. \0: Insert an AIM FNC1 character to barcode text in order to encode AIM structural data similar to GS1. FNC2 (structured append block. The escape sequence "\e[<ECI_Number>]" can be used to place the ECI indicator block to barcode text. In a single symbol or structured append set of Compact Matrix symbols. they may be placed anywhere in the barcode text. For example: ABC\e[123]DEFabc\e[000003]def The AllowEscape property should be set to true in order to place the ECI indicator blocks. See also the "Extended Channel Interpretation (ECI)" section below. \2[<File_Id>. following escape sequences are supported by the component. See also the "Escape sequences" and "Structured append" sections below. Any ECI invoked shall apply until the end of the barcode text. or until another ECI indicator block is encountered. See also the "Structured append" section below. FNC3: The FNC3 is used to indicates that the symbol encodes a message used to program the reader system. The ECI protocol provides a consistent method to specify particular interpretations on byte values before printing and after decoding. For this purpose. "\2"). ECI: ECI indicator blocks is for the standardized encoding of message interpretation information. See also the "Structured append" section below. \3: Insert a FNC3 character to barcode text. See also the "Extended Channel Interpretation (ECI)" section below. "\2"). Extended Channel Interpretation (ECI) The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. Escape sequences If the AllowEscape property is set to true. If it is used together with the structured append block (FNC2. The ECI is identified by an integer (up to 6 digits) which is encoded in the Compact Matrix symbol by the ECI indicator block. GS1 FNC1: It identifies symbols encoding data formatted according to the GS1 Application Identifiers standard. See also the "Escape sequences" section below. you can insert them to the barcode text: \\: Insert a backslash to barcode text. the leading zero is optional. "\2"). The escape sequence "\1" can be used to placed the GS1 FNC1 character to barcode text. <Index>]" is used to place the FNC2 character and other structured append information (collectively referred to as structured append block) to barcode text. "\2"). <Amount>. If it is used together with the structured append block ("\2"). \1: Insert a GS1 FNC1 character to barcode text in order to encode GS1 structural data. it shall only be used once in a symbol and shall be placed at beginning of the barcode text. and FNC3 ("\3") are used. ECI indicator blocks may be placed anywhere behind of them. "\2"). It shall be placed at beginning of the barcode text and it shall not be used with AIM FNC1 ("\0") or GS1 FNC1 ("\1"). indicates that the symbol encodes a message used to program the reader system. otherwise. See also the "Structured append" section below. it shall be placed on front of the structured append block (FNC2. GS1 FNC1 ("\1"). 45 . The AllowEscape property should be set to true in order to place these non-data characters. See also the "Structured append" section below. Thus the interpretation of the ECI may straddle two or more symbols. The escape sequence "\2[<File_Id>. . The following is examples of structured append: \2[79. GS1 FNC1 ("\1") or FNC3 ("\3") shall be placed at beginning of the barcode text. the structured append block shall be placed at beginning of the barcode text..2D Barcode VCL Components User Manual Structured append In order to handle larger messages than are practical in a single symbol. The AllowEscape property should be set to true in order to place the structured append block. Index: The position index of the symbol within the set of Compact Matrix symbols in the structured append format. If the structured append block is used together with AIM FNC1 ("\0"). a data message can be distributed across several Compact Matrix symbols. 6.. or it isn't placed at beginning of the barcode text or behind of the AIM FNC1 ("\0"). <Amount>. <Index>]" is used to place the structured append block to the barcode text: File_Id: The file identification. The escape sequence "\2[<File_Id>. GS1 FNC1 ("\1") or FNC3 ("\3"). If a symbol is part of a structured append this shall be indicated by a structured append block in barcode text.. Otherwise. It's an integer between 1 and 16 (including the boundaries) in string format. It's an integer between 0 and 255 (including the boundaries) in string format. 1]ASDFGHJKL098765. the AIM FNC1 ("\0"). The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the structured append block be placed more than once. \0\2[99. then the structured append block. 2]ABCDEFGabcdefg1234567890. 5. The purpose of the file identification is to increase the probability that only logically linked symbols are processed as part of the same message. Amount: The total amount of the symbol within the set of Compact Matrix symbols in the structured append format. The structured append block may only be placed once in the barcode text. It's an integer between 1 and 16 (including the boundaries) in string format. Up to 16 Compact Matrix symbols may be appended in a structured format to convey more data. GS1 FNC1 ("\1") or FNC3 ("\3"). 46 . 1. 4.8 TBarcode2D_DataMatrix The component is used to create the Data Matrix (ECC 000 . It's defined in the pDataMatrix unit. Data Matrix code is a two-dimensional matrix barcode symbology consisting of black and white "cells" or modules arranged in either a square or rectangular pattern. Usual data size is from a few bytes up to 2 47 . OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. The information to be encoded can be text or raw data.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked AllowEscape MinVersion MaxVersion MinSegments MaxSegments StretchOrder ECCLevel ECCLevelUpgrade StartWidth StopWidth Placement CurrentVersion (Read only) CurrentSegments (Read only) CurrentECCLevel (Read only) (*): The Data property.140) 2D barcode symbols. The length of the encoded data depends on the symbol dimension used.140 symbols. They are listed in following table: Error correction code level Maximum % correctable damage % increase in used bits from ECC 000 ECC 000 ECC 050 ECC 080 ECC 100 ECC 140 none 2. Error correction codes are added to increase symbol strength: even if they are partially damaged. It is the conventional coding for error correction that was used in the initial installations of Data Matrix systems. The default interpretation shall be: For values 0 to 127. Note this version consists of the GO set of ISO/IEC 646 and the CO set of ISO/IEC 6429 with values 28 to 31 modified to FS. You can use the ECCLevel property to specify the error correction code level for a Data Matrix (ECC 000 . national version of ISO/IEC 646 (ASCII). dmECC100. and ECC 140. Note. See also the "Encoding modes" section below. Symbols are square with sizes from 9 * 9 to 49 * 49 (modules) not including quiet zones. and dmECC140 (they are defined in the pDataMatrix unit). only the remaining capacity in current symbol size will be used to upgrade the error correction code level.140 and ECC 200. and offer different levels of error recovery. 2005 and Microscan Systems in September 2008. ECC 080. (ID Matrix) which was merged into RVSI/Acuity CiMatrix. Note. who was acquired by Siemens AG in October. There are 2 types of Data Matrix symbology. it is important to understand that these error correction levels result in the generation of a proportional increase in the number of bits in the message (and hence increase in the size of the symbol). in accordance with the U. The encoding density is 3. The encoding density is 4. Inc. referred to as ECC 000. the character set isn't different based on the encoding mode. Data Matrix was invented by International Data Matrix. ECC 000 . It can be one of these values: dmECC000. ECC 000 . If the ECCLevelUpgrade property is set to true. ECC 050. It offers five levels of error correction using convolutional code error correction.2D Barcode VCL Components User Manual kilobytes.255.140 symbols have an odd number of rows and an odd number of columns. corresponding to the ECC levels ECC 000.140) symbols. These symbols can be recognized by the upper right corner module being dark. In other words. the new level is always no lower than the level specified by the ECCLevel property. ECC 100 and ECC 140 respectively in increasing order of recovery capacity. ECC 100. and the symbol size will not be increased. they can still be read.140 should only be used in closed applications where a single party controls both the production and reading of the symbols and is responsible for overall system performance.S. For values 128 . Alpha (Base 27): The encoding mode encodes 26 upper case letters A to Z. the highest error correction code level that can be accommodated by current symbol size will be used for creating more robust symbols. dmECC080. they are shown in following list. The component can be used to generate the ECC 000 . in accordance with ISO/IEC 8859-1 (These are referred to as extended ASCII). GS. The property CurrentECCLevel can be used to get the factual error correction code level. and the error correction code level specified by the ECCLevel property (see also the "Symbol sizes" section below). and the space character. ECC 080. namely ECC 000 . Error correction code (ECC) Data Matrix (ECC 000 .5 12.8 48 .140) symbols offer five levels of error correction. in decreasing order of encoding density: Numeric (Base 11): The encoding mode encodes 10 numeric characters 0 to 9.8 5. and the space character.140) symbol. Encoding modes There are six encoding modes of Data Matrix (ECC 000 . If you want to generate the Data Matrix ECC 200 symbols. dmECC050.5 bits per data character. please use another component TBarcode2D_DataMatrixECC200 in this components package. it may be determined depending on the length of barcode text. The encoding mode has highest encoding density.6 25 none 33 50 100 300 In an application. RS and US respectively). Character set All 8-bit values can be encoded. ECC 050. Alphanumeric (Base 37). ASCII: The encoding mode encodes all 128 ASCII characters from ISO/IEC 646. hyphen(-). You can use the EncodeMode property to specify the encoding mode for a Data Matrix (ECC 000 . in order to minimize the symbol size.5 bits per data character. the encoding mode will be selected automatically from the list shown above. corresponding to the encoding modes Numberic (Base 11). the maximum data capacities are 114 bits if the symbol size is 17 * 17 and the error correction code level is ECC 050. and the space. and the space character. where the data interpretation shall be determined by the user.140) symbol. Also. comma(. The encoding density is 7 bits per data character. emASCII. The encoding density is 8 bits per byte.25 bits per data character.140) symbol. Symbol sizes ECC 000 . emAlphanumeric. depending on the barcode text. The encoding density is 5. Symbols are square with sizes from 9 * 9 to 49 * 49 (modules) square not including quiet zones.2D Barcode VCL Components User Manual bits per data character. The encoding mode has lowest encoding density. It can be one of these value: emNumeric. and an appropriates lowest level (highest encoding density) encoding mode will be selected.140) symbol.140 symbols have an odd number of rows and an odd number of columns. the barcode text to be encoded will be analysed. Binary: The encoding mode encodes all 256 8-bit bytes. Alpha (Base 27). If the barcode text does not fill the maximum data capacity of the Data Matrix (ECC 000 . and Binary. 10 numeric characters 0 to 9. Punctuation (Base 41): The encoding mode encodes 26 upper case letters A to Z. These property values are defined in the pDataMatrix unit. emPunctuation. The property CurrentEncodeMode can be used to get the factual encoding mode.8 = 23.8 bits per data character in Alpha (Base 27) encoding mode. so the maximum number of characters is 23 (114 / 4. The encoding density is 5. They can be one of values from dmSize_09_09 to dmSize_49_49 (defined in the pDataMatrix unit).75) in the Alpha (Base 27) encoding mode.). corresponding to every symbol size shown above. ASCII. point(. It shall be used for closed applications. For example. in other words. The encoding density is 4. or will be used to upgrade the error correction 49 . 10 numeric characters 0 to 9. emAlpha. Punctuation (Base 41). You can find the encoding density in "Encoding modes" section above. These symbol sizes (excluding quiet zones) and their maximum data capacities are listed in following table: Symbol size values Symbol sizes (modules) ECC 000 dmSize_09_09 dmSize_11_11 dmSize_13_13 dmSize_15_15 dmSize_17_17 dmSize_19_19 dmSize_21_21 dmSize_23_23 dmSize_25_25 dmSize_27_27 dmSize_29_29 dmSize_31_31 dmSize_33_33 dmSize_35_35 dmSize_37_37 dmSize_39_39 dmSize_41_41 dmSize_43_43 dmSize_45_45 dmSize_47_47 dmSize_49_49 9*9 11 * 11 13 * 13 15 * 15 17 * 17 19 * 19 21 * 21 23 * 23 25 * 25 27 * 27 29 * 29 31 * 31 33 * 33 35 * 35 37 * 37 39 * 39 41 * 41 43 * 43 45 * 45 47 * 47 49 * 49 12 44 84 132 188 252 324 404 492 588 692 804 924 1052 1188 1332 1484 1644 1812 1988 2172 Maximum data capacities (bits) ECC 050 ECC 080 ECC 100 6 36 72 114 162 216 276 342 414 492 576 666 762 864 972 1086 1206 1332 1464 1602 18 50 86 130 178 230 290 354 422 498 578 662 754 850 950 1058 1170 1286 1410 7 31 59 91 127 167 211 259 311 367 427 491 559 631 707 787 871 959 1051 ECC 140 9 25 43 63 85 109 135 163 193 225 259 295 333 373 415 459 505 The maximum number of characters in each encoding mode can be calculated by using the Maximum data capacities (bits). The smallest symbol size that accommodates the barcode text will be automatically selected between minimum and maximum symbol sizes.) and solidus(/) characters. it can be set to emAuto. in this case. remaining data capacity of the symbol will be filled by using pad bits (the ECCLevelUpgrade property is set to false). You can use the MinSize and the MaxSize properties to specify the minimum and maximum sizes for a Data Matrix (ECC 000 . Alphanumeric (Base 37): The encoding mode encodes 26 upper case letters A to Z. and emBinary. 1. Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked Inversed MinSize MaxSize EncodeMode ECCLevel ECCLevelUpgrade CurrentSize (Read only) CurrentECCLevel (Read only) CurrentEncodeMode (Read only) (*): The Data property. and BottomQuietZone properties are equal to 1. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxSize property. TrailingQuietZone. a quiet zone of 2 modules to 4 modules is recommended. So the minimum values of LeadingQuietZone. 4. TopQuietZone.9 TBarcode2D_DataMatrixECC200 50 . an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur.2D Barcode VCL Components User Manual code level (the ECCLevelUpgrade property is set to true). For applications with moderate to excessive reflected noise in close proximity to the symbol. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. The CurrentSize property can be used to get the factual symbol size. Quiet zones The minimum quiet zone is equal to 1 module on all four sides. Error correction codes are added to increase symbol strength: even if they are partially damaged. It can be one of values dsSquare and dsRectangle. namely ECC 000 . Data Matrix code is a two-dimensional matrix barcode symbology consisting of black and white "cells" or modules arranged in either a square or rectangular pattern. If you want to generate the Data Matrix ECC (000 . It's defined in the pDataMatrixEcc200 unit.2D Barcode VCL Components User Manual The component is used to create the Data Matrix (ECC 200) 2D barcode symbols. The sizes of square symbols (excluding quiet zones) and their maximum data capacities are listed in following table: 51 . they can still be read. The length of the encoded data depends on the symbol dimension used. The component can be used to generate the ECC 000 . The information to be encoded can be text or raw data. So it's recommended for new application or open systems. Usual data size is from a few bytes up to 2 kilobytes. Inc. as described in following list: Square: Indicates to generate the square symbols. (ID Matrix) which was merged into RVSI/Acuity CiMatrix. You can use the Shape property to specify which shape of symbol will be selected to generate the barcode symbol. corresponding to the shapes square and rectangle. please use another component TBarcode2D_DataMatrix in this components package. Some symbols are square with sizes from 10 * 10 to 144 * 144 not including quiet zones. Rectangle: Indicates to generate the rectangle symbols. ECC 200 symbols have an even number of rows and an even number of columns.140) symbols. 2005 and Microscan Systems in September 2008.140 and ECC 200. It is the newest version of Data Matrix and supports advanced encoding error checking and correction algorithms. Some symbols are rectangular with sizes from 8 * 18 to 16 * 48 not including quiet zones. Data Matrix was invented by International Data Matrix. These values are defined in the pDataMatrixEcc200 unit. There are 2 types of Data Matrix symbology. The sizes of the rectangle symbols are from 8 * 18 to 16 * 48 (modules) not including quiet zone. assuming the matrix can still be accurately located. The sizes of the square symbols are from 10 * 10 to 144 * 144 (modules) not including quiet zones. All ECC 200 symbols can be recognised by the upper right corner module being light. square and rectangle. Symbol sizes Data Matrix (ECC 200) symbols have an even number of rows and an even number of columns.140 symbols. who were acquired by Siemens AG in October. Shapes There are two shapes of Data Matrix (ECC 200) symbols. It allows the routine reconstruction of the entire encoded data string when the symbol has sustained 30% damage. and BottomQuietZone properties are equal to 1. For applications with moderate to excessive reflected noise in close proximity to the symbol. remaining data capacity of the symbol will be filled by using PAD characters. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. Quiet zones The minimum quiet zone is equal to 1 module on all four sides. 52 . TopQuietZone. So the minimum values of LeadingQuietZone. TrailingQuietZone. The smallest symbol size that accommodates the barcode text will be automatically selected between minimum and maximum symbol sizes. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxSize property. a quiet zone of 2 modules to 4 modules is recommended.2D Barcode VCL Components User Manual Maximum data capacities Numeric Alphanumeric Symbol size values Symbol sizes (modules) dmSize_10_10 10 * 10 6 3 1 dmSize_12_12 12 * 12 10 6 3 dmSize_14_14 14 * 14 16 10 6 dmSize_16_16 16 * 16 24 16 10 dmSize_18_18 18 * 18 36 25 16 dmSize_20_20 20 * 20 44 31 20 dmSize_22_22 22 * 22 60 43 28 dmSize_24_24 24 * 24 72 52 34 dmSize_26_26 26 * 26 88 64 42 dmSize_32_32 32 * 32 124 91 60 dmSize_36_36 36 * 36 172 127 84 dmSize_40_40 40 * 40 228 169 112 dmSize_44_44 44 * 44 288 214 142 dmSize_48_48 48 * 48 348 259 172 dmSize_52_52 52 * 52 408 304 202 dmSize_64_64 64 * 64 560 418 277 dmSize_72_72 72 * 72 736 550 365 dmSize_80_80 80 * 80 912 682 453 dmSize_88_88 88 * 88 1152 862 573 dmSize_96_96 96 * 96 1392 1042 693 dmSize_104_104 104 * 104 1632 1222 813 dmSize_120_120 120 * 120 2100 1573 1047 dmSize_132_132 132 * 132 2608 1954 1301 dmSize_144_144 144 * 144 3116 2335 1555 Byte The sizes of rectangle symbols (excluding quiet zones) and their maximum data capacities are listed in following table: Maximum data capacities Alphanumeric Symbol size values Symbol sizes (modules) Numeric dmSize_8_18 8 * 18 10 6 dmSize_8_32 8 * 32 20 13 8 dmSize_12_26 12 * 26 32 22 14 dmSize_12_36 12 * 36 44 31 20 dmSize_16_36 16 * 36 64 46 30 dmSize_16_48 16 * 48 98 72 47 Byte 3 You can use the MinSize and the MaxSize properties to specifiy the minimum and maximum sizes for a Data Matrix (ECC 200) symbol. If the barcode text does not fill the maximum data capacity of the Data Matrix (ECC 200) symbol. The CurrentSize property can be used to get the factual symbol size. corresponding to every symbol size shown above. They can be one of values from dmSize_10_10 to dmSize_16_48 (they are defined in the pDataMatrixEcc200 unit). in which case it will be represented in the transmitted message as GS character (ASCII value 29). The escape sequence "\f" can be used to placed the FNC1 character to barcode text. Two non-data characters can be encoded. It must be placed at beginning of the barcode text and it shall not be used in conjunction with structured append. national version of ISO/IEC 646 (ASCII). the "{RS}" is ASCII character RS (ASCII value 30). 53 . See also the "Extended Channel Interpretation (ECI)" section below. in accordance with the U. The FNC1 character may also be used as a field separator. FNC1: The FNC1 character following an application standard agreed with AIM International. \5: Insert a 05 macro to barcode text. RS and US respectively). you can insert them to the barcode text: \\: Insert a backslash to barcode text. FNC1 for compatibility with some existing applications and ECI indicator blocks for the standardized encoding of message interpretation information. in accordance with ISO/IEC 8859-1 (Extended ASCII). \f: Insert a FNC1 character to barcode text. FNC1 shall be used as defined in the EAN. See also the "Character set" section above. <Amount>. This interpretation corresponds to ECI 000003. Extended Channel Interpretation (ECI) The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. User defined interpretations for closed systems. \6: Insert a 06 macro to barcode text. Escape sequences If the AllowEscape property is set to true. It's used to abbreviate the industry specific header "[)>{RS}06{GS}" and trailer "{RS}{EOT}". ECI: The escape sequence "\e[<ECI_Number>]" can be used to place the ECI indicator block to barcode text. <File_Id>]: Insert a structured append block to the barcode text in order to create the symbol in a structured append. \s[<Index>. The default interpretation shall be: For values 0 to 127.255. Character set All 8-bit values can be encoded. It must be placed at beginning of the barcode text and it shall not be used in conjunction with structured append. Note this version consists of the GO set of ISO/IEC 646 and the CO set of ISO/IEC 6429 with values 28 to 31 modified to FS.S. See also the "Extended Channel Interpretation (ECI)" section below. It's used to abbreviate the industry specific header "[)>{RS}05{GS}" and trailer "{RS}{EOT}". \e[<ECI_Number>]: Insert an ECI indicator block to barcode text. Note.UCC General Specifications in the first position. following escape sequences are supported by the component. the {"GS}" is ASCII character GS (ASCII value 29). The AllowEscape property should be set to true in order to place the FNC1 characters or the ECI indicator blocks. and the {"EOT}" is ASCII character EOT (ASCII value 4). GS. It shall be placed at beginning of the barcode text and it shall not be used with structured append. identifies a symbol which conforms to a specific industry standard. Four broad types of interpretations are supported in Data Matrix (ECC 200): International character sets (or code pages). in order to reduce the size of symbol. General purpose interpretations such as encryption and compaction. For values 128 . in order to reduce the size of symbol. See also the "Structured append" section below. \r: Indicates that the symbol encodes a message used to program the reader system.2D Barcode VCL Components User Manual Error checking and correcting (ECC) Data Matrix (ECC 200) symbols are fixed at a repair level of about 25% damage and overhead ranges from 60% for a small number of characters downward to 26% for a large number of characters encoded. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the structured append block be placed more than once. The purpose of the file identification is to increase the probability that only logically linked symbols are processed as part of the same message. it's an integer between 0 and 999999 (including the boundaries). File_Id: The file identification. It's an integer between 1 and 64516 (including the boundaries) in string format. For example: ABC\e[123]DEFabc\e[000003]def The AllowEscape property should be set to true in order to place the ECI indicator blocks. 25431]ABCDEFGabcdefg1234567890 \s[2. Structured append In order to handle larger messages than are practical in a single symbol. The escape sequence "\s[<Index>. it shall be placed at beginning of the barcode text. The ECI protocol provides a consistent method to specify particular interpretations on byte values before printing and after decoding. If a symbol is part of a structured append this shall be indicated by a structured append block in barcode text. It's an integer between 2 and 16 (including the boundaries) in string format. Also. the leading zero is optional. The ECI is identified by an integer (up to 6 digits) which is encoded in the Data Matrix (ECC 200) symbol by the ECI indicator block. The following is the examples of structured append: \s[2. a data message can be distributed across several Data Matrix (ECC 200) symbols. The escape sequence "\e[<ECI_Number>]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number. The AllowEscape property should be set to true in order to place the structured append block. Also the field can be expressed as two integers between 1 and 254 (including the boundaries). Up to 16 Data Matrix (ECC 200) symbols may be appended in a structured format to convey more data. separated with a comma. or it isn't placed at beginning of the barcode text.2D Barcode VCL Components User Manual Control information for structured append in unbuffered mode. 5. ECI indicator blocks may be placed anywhere in the barcode text in a single or structured append set of Data Matrix (ECC 200) symbols. <Amount>. It's an integer between 1 and 16 (including the boundaries) in string format. or until another ECI indicator block is encountered. Amount: The total amount of the symbol within the set of Data Matrix (ECC 200) symbols in the structured append format. 101. 31]ABCDEFGabcdefg1234567890 54 . Thus the interpretation of the ECI may straddle two or more symbols. 5. <File_Id>]" is used to place the structured append block to the barcode text: Index: The position index of the symbol within the set of Data Matrix (ECC 200) symbols in the structured append format. Any ECI invoked shall apply until the end of the barcode text. The structured append block may only be placed once in the barcode text. The CurrentVersion 55 . and binary data. They can be one of values from 1 to 13 (defined in the pGridMatrix unit). 4. It's defined in the pGridMatrix unit. The unique finder pattern ensures that readers can locate and orient the symbol even with significant symbol damage.10 TBarcode2D_GridMatrix The component is used to create the Grid Matrix 2D barcode symbols.1. variable-sized.and light-framed "macromodules" that create a grid design that provides a robust finder pattern. corresponding to the versions 1 to 13. Grid Matrix was invented by Syscan Technology Co. numeric.. referred to as version 1 to 13. Grid Matrix can encode 7-bit ASCII. Ltd. in increasing order of size and data capacity. Symbol sizes There are thirteen sizes of Grid Matrix symbol. Grid Matrix is a square. two-dimensional matrix symbology with unique dark. The smallest symbol size that accommodates the barcode text will be automatically selected between minimum and maximum symbol sizes.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked Inversed MinSize MaxSize Shape CurrentSize (Read only) (*): The Data property. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. You can use the MinVersion and the MaxVersion properties to specifiy the minimum and maximum sizes for a Grid Matrix symbol. in addition to any combination of data types in the same symbol. particularly effective with Chinese characters. For each symbol version. It can be one of these values: elLevel_1. you can set the ECCLevel property to elLevel_Recommend or elLevel_LowestRecommend. or will be used to upgrade the error correction code level (the ECCLevelUpgrade property is set to true). 56 . from 1 to 5 respectively in increasing order of recovery capacity. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. Error correction code (ECC) There are five user-selectable levels of error correction. elLevel_2. it may be determined depending on the length of barcode text. and the symbol size will not be increased. The property CurrentECCLevel can be used to get the factual error correction code level. corresponding to the ECC levels from 1 to 5. elLevel_3. and the error correction code level specified by the ECCLevel property (see also the "Symbol sizes" section above). In other words. elLevel_4. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. the new level is always no lower than the level specified by the ECCLevel property.2D Barcode VCL Components User Manual property can be used to get the factual symbol size. These ECC levels are listed in following table: Value of ECCLevel property Error correction code level Percentage of total capacity for ECC data elLevel_1 elLevel_2 elLevel_3 elLevel_4 elLevel_5 1 2 3 4 5 10% 20% 30% 40% 50% Note. You can use the ECCLevel property to specify the error correction code level for a Grid Matrix symbol. the ECC level 1 is inapplicable to the version 1. and elLevel_5 (they are defined in the pGridMatrix unit). the denotative ECC levels are listed in following table: Version 1 2 3 4-13 ECCLevel = elLevel_Recommend 5 4 4 3 Denotative ECC level ECCLevel = elLevel_LowestRecommend 4 2 1 1 If the ECCLevelUpgrade property is set to true. The symbol sizes and the maximum data capacity of each version are listed in following table: Version Symbol sizes (modules) ECC Level 1 1 2 3 4 5 6 7 8 9 10 11 12 13 18 * 18 30 * 30 42 * 42 54 * 54 66 * 66 78 * 78 90 * 90 102 * 102 114 * 114 126 * 126 138 * 138 150 * 150 162 * 162 315 623 1022 1526 2135 2835 3647 4550 5558 6671 7875 9191 Maximum data capacities (bits) ECC Level 2 ECC Level 3 ECC Level 4 105 280 553 910 1358 1897 2520 3241 4046 4942 5929 7000 8169 91 245 483 798 1190 1659 2205 2835 3542 4326 5187 6125 7147 ECC Level 5 77 210 413 686 1022 1421 1890 2429 3038 3710 4445 5250 6125 63 175 343 567 847 1183 1575 2023 2527 3087 3703 4375 5103 If the barcode text does not fill the maximum data capacity of the Grid Matrix symbol. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxVersion property. the highest error correction code level that can be accommodated by current symbol size will be used for creating more robust symbols. Also. Note. remaining data capacity of the symbol will be filled by using pad bits (the ECCLevelUpgrade property is set to false). 2D Barcode VCL Components User Manual Quiet zones The minimum quiet zone is equal to 6 modules on all four sides. So the minimum values of LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties are equal to 6. Character set All 7-bit ASCII values can be encoded. 8-bit binary data can be encoded. GB 18030 Chinese characters can be encoded. Five non-data characters can be encoded: AIM FNC1: It identifies symbols formatted in accordance with specific industry or application specifications previously agreed with AIM International. It is immediately followed by an application indicator assigned to identify the specification concerned by AIM International. For this purpose, it shall only be used once in a symbol and shall be placed at beginning of the barcode. The escape sequence "\0" can be used to placed the FNC1 character to barcode text. GS1 FNC1: It identifies symbols encoding data formatted according to the GS1 Application Identifiers standard. For this purpose, it shall only be used once in a symbol and shall be placed at beginning of the barcode text. The escape sequence "\1" can be used to placed the GS1 FNC1 character to barcode text. FNC2: The FNC2 is used to implement structured append function in order to handle larger messages than are practical in a single symbol. The escape sequence "\2[<File_Id>, <Amount>, <Index>]" is used to place the FNC2 character and other structured append information (collectively referred to as structured append block) to barcode text. See also the "Escape sequences" and "Structured append" sections below. FNC3: The FNC3 is used to indicates that the symbol encodes a message used to program the reader system. The escape sequence "\3" can be used to placed the FNC3 character to barcode text. See also the "Escape sequences" section below. ECI: ECI indicator blocks is for the standardized encoding of message interpretation information. The escape sequence "\e[<ECI_Number>]" can be used to place the ECI indicator block to barcode text. See also the "Extended Channel Interpretation (ECI)" section below. The AllowEscape property should be set to true in order to place these non-data characters. Escape sequences If the AllowEscape property is set to true, following escape sequences are supported by the component, you can insert them to the barcode text: \\: Insert a backslash to barcode text. \0: Insert an AIM FNC1 character to barcode text in order to encode AIM structural data similar to GS1. It shall be placed at beginning of the barcode text and it shall not be used with GS1 FNC1 ("\1") or FNC3 ("\3"). If it is used together with the structured append block (FNC2, "\2"), it shall be placed on front of the structured append block ("\2"). See also the "Structured append" section below. \1: Insert a GS1 FNC1 character to barcode text in order to encode GS1 structural data. It shall be placed at beginning of the barcode text and it shall not be used with AIM FNC1 ("\0") or FNC3 ("\3"). If it is used together with the structured append block ("\2"), it shall be placed on front of the structured append block (FNC2, "\2"). See also the "Structured append" section below. \2[<File_Id>, <Amount>, <Index>]: Insert a structured append block (FNC2 and other structured append information) to the barcode text in order to create the symbol in a structured append. See also the "Structured append" section below. \3: Insert a FNC3 character to barcode text, indicates that the symbol encodes a message used to program the reader system. It shall be placed at beginning of the barcode text and it shall not be used with AIM FNC1 ("\0") or GS1 FNC1 ("\1"). If it is used together with the structured append block (FNC2, "\2"), it shall be placed on front of the structured append block (FNC2, "\2"). See also the "Structured append" section below. \e[<ECI_Number>]: Insert an ECI indicator block to barcode text. See also the "Extended Channel Interpretation (ECI)" section below. Extended Channel Interpretation (ECI) 57 2D Barcode VCL Components User Manual The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. The ECI protocol provides a consistent method to specify particular interpretations on byte values before printing and after decoding. The ECI is identified by an integer (up to 6 digits) which is encoded in the Grid Matrix symbol by the ECI indicator block. The escape sequence "\e[<ECI_Number>]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number, it's an integer between 0 and 811799 (including the boundaries), the leading zero is optional. In a single symbol or structured append set of Grid Matrix symbols, if the AIM FNC1 ("\0"), GS1 FNC1 ("\1"), FNC2 (structured append block, "\2"), and FNC3 ("\3") are used, ECI indicator blocks may be placed anywhere behind of them, otherwise, they may be placed anywhere in the barcode text. For example: ABC\e[123]DEFabc\e[000003]def The AllowEscape property should be set to true in order to place the ECI indicator blocks. Any ECI invoked shall apply until the end of the barcode text, or until another ECI indicator block is encountered. Thus the interpretation of the ECI may straddle two or more symbols. Structured append In order to handle larger messages than are practical in a single symbol, a data message can be distributed across several Grid Matrix symbols. Up to 16 Grid Matrix symbols may be appended in a structured format to convey more data. If a symbol is part of a structured append this shall be indicated by a structured append block in barcode text. The escape sequence "\2[<File_Id>, <Amount>, <Index>]" is used to place the structured append block to the barcode text: File_Id: The file identification. It's an integer between 0 and 255 (including the boundaries) in string format. The purpose of the file identification is to increase the probability that only logically linked symbols are processed as part of the same message. Amount: The total amount of the symbol within the set of Grid Matrix symbols in the structured append format. It's an integer between 1 and 16 (including the boundaries) in string format. Index: The position index of the symbol within the set of Grid Matrix symbols in the structured append format. It's an integer between 1 and 16 (including the boundaries) in string format. The AllowEscape property should be set to true in order to place the structured append block. The structured append block may only be placed once in the barcode text. If the structured append block is used together with AIM FNC1 ("\0"), GS1 FNC1 ("\1") or FNC3 ("\3"), the AIM FNC1 ("\0"), GS1 FNC1 ("\1") or FNC3 ("\3") shall be placed at beginning of the barcode text, then the structured append block. Otherwise, the structured append block shall be placed at beginning of the barcode text. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the structured append block be placed more than once, or it isn't placed at beginning of the barcode text or behind of the AIM FNC1 ("\0"), GS1 FNC1 ("\1") or FNC3 ("\3"). The following is examples of structured append: \2[79, 5, 2]ABCDEFGabcdefg1234567890... \0\2[99, 6, 1]ASDFGHJKL098765... 58 2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked AllowEscape MinVersion MaxVersion ECCLevel ECCLevelUpgrade CurrentVersion (Read only) CurrentECCLevel (Read only) (*): The Data property, OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. 4.1.11 TBarcode2D_HanXinCode The component is used to create the Han Xin Code 2D barcode symbols. It's defined in the pHanXinCode unit. Han Xin Code is also known as Chinese Sensible Code, It is a unique, variable size, matrix symbology specifically optimized for two and four byte alphabets such as Chinese and other ideographic/pictographic alphabets. It is equally suitable for single byte ISO Code Pages such as English. Han Xin Code also includes an option for octet byte encoding for applications such as graphics and audio. Extended Channel Interpretation (ECIs) support is also included. It incorporates strong Reed-Solomon error correction to enable four levels of error correction abilities to recover information from damaged symbols. Symbol sizes There are eighty-four sizes of Han Xin Code symbols, referred to as version 1 to 84, in increasing order of size and data capacity. You can use the MinVersion and the MaxVersion properties to specifiy the minimum and maximum sizes for a Han Xin Code symbol. They 59 2D Barcode VCL Components User Manual can be one of values from 1 to 84 (defined in the pHanXin unit), corresponding to the versions 1 to 84. The smallest symbol size that accommodates the barcode text will be automatically selected between minimum and maximum symbol sizes. The CurrentVersion property can be used to get the factual symbol size. If the barcode text does not fill the maximum data capacity of the Han Xin Code symbol, remaining data capacity of the symbol will be filled by using pad bits (the ECCLevelUpgrade property is set to false), or will be used to upgrade the error correction code level (the ECCLevelUpgrade property is set to true). If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxVersion property, an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. Error correction code (ECC) There are four user-selectable levels of error correction, from L1 to L4 respectively in increasing order of recovery capacity. You can use the ECCLevel property to specify the error correction code level for a Han Xin Code symbol. It can be one of these values: elLevel_1, elLevel_2, elLevel_3, and elLevel_4 (they are defined in the pHanXinCode unit), corresponding to the ECC levels from L1 to L4. These ECC levels are listed in following table: Value of ECCLevel property Error correction code level Recevory capacities (%) (approx.) elLevel_1 elLevel_2 elLevel_3 elLevel_4 L1 L2 L3 L4 8% 15% 23% 30% If the ECCLevelUpgrade property is set to true, the highest error correction code level that can be accommodated by current symbol size will be used for creating more robust symbols. Note, the new level is always no lower than the level specified by the ECCLevel property, and the symbol size will not be increased, it may be determined depending on the length of barcode text, and the error correction code level specified by the ECCLevel property (see also the "Symbol sizes" section above). In other words, only the remaining capacity in current symbol size will be used to upgrade the error correction code level. The property CurrentECCLevel can be used to get the factual error correction code level. Quiet zones The minimum quiet zone is equal to 3 modules on all four sides. So the minimum values of LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties are equal to 3. Character set All 7-bit ASCII values can be encoded. 8-bit binary data can be encoded. GB 18030 Chinese characters can be encoded. One non-data characters can be encoded: ECI: ECI indicator blocks is for the standardized encoding of message interpretation information. The escape sequence "\e[<ECI_Number>]" can be used to place the ECI indicator block to barcode text. See also the "Extended Channel Interpretation (ECI)" section below. The AllowEscape property should be set to true in order to place non-data characters. Escape sequences If the AllowEscape property is set to true, following escape sequences are supported by the component, you can insert them to the barcode text: \\: Insert a backslash to barcode text. \e[<ECI_Number>]: Insert an ECI indicator block to barcode text. See also the "Extended Channel Interpretation (ECI)" section below. Extended Channel Interpretation (ECI) 60 2D Barcode VCL Components User Manual The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. The ECI protocol provides a consistent method to specify particular interpretations on byte values before printing and after decoding. The ECI is identified by an integer (up to 6 digits) which is encoded in the Han Xin Code symbol by the ECI indicator block. The escape sequence "\e[<ECI_Number>]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number, it's an integer between 0 and 999999 (including the boundaries), the leading zero is optional. In a Han Xin Code symbol, the ECI indicator blocks may be placed anywhere in the barcode text. For example: ABC\e[123]DEFabc\e[000003]def The AllowEscape property should be set to true in order to place the ECI indicator blocks. Any ECI invoked shall apply until the end of the barcode text, or until another ECI indicator block is encountered. Thus the interpretation of the ECI may straddle two or more symbols. Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked AllowEscape MinVersion MaxVersion ECCLevel ECCLevelUpgrade ReviseVersion5 CurrentVersion (Read only) CurrentECCLevel (Read only) (*): The Data property, OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. 61 2D Barcode VCL Components User Manual 4.1.12 TBarcode2D_MaxiCode The component is used to create the MaxiCode 2D Barcode symbols. It's defined in the pMaxiCode unit. MaxiCode is a public domain, machine-readable symbol system originally created and used by United Parcel Service in 1992. It was designed for tracking and managing the shipment of packages, and can be quickly automatically scanned on high-speed conveyor lines. MaxiCode is a fixed-size symbology. A MaxiCode symbol appears as a 1.11 * 1.054 inchs square, with a bullseye in the middle, surrounded by a pattern of hexagonal dots (modules). Each hexagonal dot (module) measures 0.035 * 0.041 inches. Modes MaxiCode has modes which are used to define the format of the message and the level of error correction within a symbol: Mode 2: It encodes a structured carrier message with a numeric postal code, and an optional secondary message. A numeric postal code, a country code, and a class of service code assigned by the carrier are included in the structured carrier message. The symbol employs enhanced error correction for the structured carrier message and standard error correction for the secondary message, see also the "Error checking and correcting (ECC)" section below. It is designed for use in the transport industry. Primary use is US domestic destinations. The formats of mode 2 barcode text are specified in the following list: [)>{RS}01{GS}YYPPPPPPPPP{GS}CCC{GS}SSS{GS}MESSAGE{RS}{EOT} YY: Date (year), 2 digits. PPPPPPPPP: Numeric postal code, up to 9 digits. Only first 9 digits will be encoded if its length is greater than 9 digits. CCC: Country code, 3 digits. SSS: Serivce class, 3 digits MESSAGE: Optional secondary message. All 256 of the ASCII characters can be used. A maximum of about 71 alphanumeric characters or about 107 digits can be encoded in the message. {RS}: ASCII character RS (ASCII value 30). The RS character after the secondary message is optional. If theAllowEscape property is set to true, you can use the "\r" instead of the RS character. {GS}: ASCII character GS (ASCII value 29). It's used to delimit each field in barcode text. The GS character after the service class can be omitted if secondary message doesn't exist. If the AllowEscape property is set to true, you can use the "\g" instead of the GS character. {EOT}: Optional ASCII character EOT (ASCII value 4). If theAllowEscape property is set to true, you can use the "\t" instead of the EOT character. For example (Date: 96; Postal code: 123456789; Country code: 840; Service class: 001; Secondary message: 'PA USA' + Chr(29) + 'UPS\123'): '[)>' + Chr(30) + '01' + Chr(29) + '96123456789' + Chr(29) + '840' + Chr(29) + '001' + Chr(29) + 'PA USA' + Chr(29) + 'UPS\123' + Chr(30) + Chr(4) '[)>\r01\g96123456789\g840\g001\gPA USA\gUPS\\123\r\t' PPPPPPPPP{GS}CCC{GS}SSS{GS}MESSAGE{EOT} PPPPPPPPP: Numeric postal code, up to 9 digits. Only first 9 digits will be encoded if its length is greater than 9 digits. CCC: Country code, 3 digits. SSS: Serivce class, 3 digits MESSAGE: Optional secondary message. All 256 of the ASCII characters can be used. A maximum of about 82 62 2D Barcode VCL Components User Manual alphanumeric characters or about 121 digits can be encoded in the message. {GS}: ASCII character GS (ASCII value 29). It's used to delimit each field in barcode text. The GS character after the service class can be omitted if secondary message doesn't exist. If the AllowEscape property is set to true, you can use the "\g" instead of the GS character. {EOT}: Optional ASCII character EOT (ASCII value 4). If theAllowEscape property is set to true, you can use the "\t" instead of the EOT character. For example (Postal code: 123456789; Country code: 840; Service class: 001; Secondary message: 'PA USA' + Chr(29) + 'UPS\123'): '123456789' + Chr(29) + '840' + Chr(29) + '001' + Chr(29) + 'PA USA' + Chr(29) + 'UPS\123' + Chr(4) '123456789\g840\g001\gPA USA\gUPS\\123\t' Mode 3: It encodes a structured carrier message with an alphanumeric postal code, and an optional secondary message. An alphanumeric postal code, a country code, and a class of service code assigned by the carrier are included in the structured carrier message. The symbol employs enhanced error correction for the structured carrier message and standard error correction for the secondary message, see also the "Error checking and correcting (ECC)" section below. It is designed for use in the transport industry. Primary use is international destinations. The mode 3 is similar to mode 2, but the postal code field encodes 6 alphanumeric characters. The formats of mode 3 barcode text are specified in the following list: [)>{RS}01{GS}YYPPPPPP{GS}CCC{GS}SSS{GS}MESSAGE{RS}{EOT} YY: Date (year), 2 digits. PPPPPP: Alphanumeric postal code, up to 6 alphanumeric characters. Only first 6 characters will be encoded if its length is greater than 6 characters. All upper case letters, all numeric characters, space character, and the punctuations and symbols corresponding to the ASCII values from 34 to 58 can be encoded. CCC: Country code, 3 digits. SSS: Serivce class, 3 digits MESSAGE: Optional secondary message. All 256 of the ASCII characters can be used. A maximum of about 71 alphanumeric characters or about 107 digits can be encoded in the message. {RS}: ASCII character RS (ASCII value 30). The RS character after the secondary message is optional. If theAllowEscape property is set to true, you can use the "\r" instead of the RS character. {GS}: ASCII character GS (ASCII value 29). It's used to delimit each field in barcode text. The GS character after the service class can be omitted if secondary message doesn't exist. If the AllowEscape property is set to true, you can use the "\g" instead of the GS character. {EOT}: Optional ASCII character EOT (ASCII value 4). If theAllowEscape property is set to true, you can use the "\t" instead of the EOT character. For example (Date: 96; Postal code: ABC12; Country code: 840; Service class: 001; Secondary message: 'PA USA' + Chr(29) + 'UPS\123'): '[)>' + Chr(30) + '01' + Chr(29) + '96ABC12' + Chr(29) + '840' + Chr(29) + '001' + Chr(29) + 'PA USA' + Chr(29) + 'UPS\123' + Chr(30) + Chr(4) '[)>\r01\g96ABC12\g840\g001\gPA USA\gUPS\\123\r\t' PPPPPP{GS}CCC{GS}SSS{GS}MESSAGE{EOT} PPPPPP: Alphanumeric postal code, up to 6 alphanumeric characters. Only first 6 characters will be encoded if its length is greater than 6 characters. All upper case letters, all numeric characters, space character, and the punctuations and symbols corresponding to the ASCII values from 34 to 58 can be encoded. 63 2D Barcode VCL Components User Manual CCC: Country code, 3 digits. SSS: Serivce class, 3 digits MESSAGE: Optional secondary message. All 256 of the ASCII characters can be used. A maximum of about 82 alphanumeric characters or about 121 digits can be encoded in the message. {GS}: ASCII character GS (ASCII value 29). It's used to delimit each field in barcode text. The GS character after the service class can be omitted if secondary message doesn't exist. If the AllowEscape property is set to true, you can use the "\g" instead of the GS character. {EOT}: Optional ASCII character EOT (ASCII value 4). If theAllowEscape property is set to true, you can use the "\t" instead of the EOT character. For example (Postal code: ABC12; Country code: 840; Service class: 001; Secondary message: 'PA USA' + Chr(29) + 'UPS\123'): 'ABC12' + Chr(29) + '840' + Chr(29) + '001' + Chr(29) + 'PA USA' + Chr(29) + 'UPS\123' + Chr(4) 'ABC12\g840\g001\gPA USA\gUPS\\123\t' Mode 4: Indicates that the symbol encodes an unformatted message. The barcode message is divided into a primary message and a secondary message internally, the symbol employs enhanced error correction for the primary message and standard error correction for the secondary message. All 256 of the ASCII characters can be used. A maximum of about 93 alphanumeric characters or about 138 digits can be encoded in the symbol. Mode 5: Indicates that the symbol encodes an unformatted message. The barcode message is divided into a primary message and a secondary message internally, the symbol employs enhanced error correction for both the primary and secondary messages. All 256 of the ASCII characters can be used. A maximum of about 77 alphanumeric characters or about 113 digits can be encoded in the symbol. The mode 5 is similar to mode 4, but it employs enhanced error correction for secondary messages. Mode 6: Indicates that the symbol encodes a message used to program the reader system. The barcode message is divided into a primary message and a secondary message internally, the symbol employs enhanced error correction for the primary message and standard error correction for the secondary message. All 256 of the ASCII characters can be used. A maximum of about 93 alphanumeric characters or about 138 digits can be encoded in the symbol. You can use the Mode property to specify the factual mode for a MaxiCode symbol. It can be one of values from 2 to 6, corresponding to the modes from 2 to 6. They are defined in the pMaxiCode unit. Also, you can set the AutoMode property to true, in order to automatically select the suitable mode depending on the barcode text and the value of Mode property. And use the CurrentMode property to get the factual mode: If the Mode property is set to mode 2 or 3, the factual mode will be selected between mode 2 and 3, depending on the postal code field in the barcode text. If the Mode property is set to mode 4, the factual mode will be selected between mode 4 and 5, depending on the length of barcode text. If the length of barcode text is so short that can be encoded by using mode 5, the mode 5 will be used in order to employ enhanced error correction, otherwise the mode 4 will be used in order to accommodate more barcode text. If the Mode property is set to mode 5, the mode 5 will be selected always, in order to insure high level of enhanced error correction. If the Mode property is set to mode 6, the mode 6 will be selected always, in order to encodes a message used to program the reader system. 64 2D Barcode VCL Components User Manual Symbol size Each MaxiCode symbol is of a fixed size, having 884 hexagonal modules arranged in 33 rows around a central finder pattern. Each row consists of a maximum of 30 modules. Also, each symbol, including the quiet zones, is of a fixed physical size, nominally 28.14mm wide, 26.91mm high. Each hexagonal dot (module) measures 0.889 * 1.041 millimeters. Quiet zones The MaxiCode symbology require the minimum 1 module quiet zones as measured from the outside edges. So the minimum values of LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties are equal to 1. Error checking and correcting (ECC) MaxiCode symbology offer two levels of error checking and correction, Enhanced Error Correction (EEC) and Standard Error Correction (SEC), which are specified by the Mode, see also the "Modes" section above. In mode 2 and 3, the symbol employs EEC for the structured carrier message and SEC for the secondary message. In mode 4, 5, and 6, MaxiCode symbols are internally divided into a primary message and a secondary message, the mode 4 and 6 symbol employ EEC for the primary message and SEC for the secondary message. the mode 5 symbol employs EEC for both the primary and secondary messages. Character set In mode 2, all numeric characters can be encoded in the country code, service class, and postal code fields. All 256 of the ASCII characters can be encoded in the secondary message. In mode 3, all numeric characters can be encoded in the country code and service class fields, all upper case letters, all numeric characters, space character, and punctuations and symbols corresponding to the ASCII values from 34 to 58 can be encoded in the postal code field. All 256 of the ASCII characters can be encoded in the secondary message. In mode 4, 5 and 6, All 256 of the ASCII characters can be encoded in the entire message. The default interpretation of these characters shall be: Values 0-127, in accordance with ANSI X3.4, i.e. all 128 ASCII characters values 128-255 in accordance with ISO 8859-1: Latin Alphabet No. 1, i.e. extended ASCII characters. This default interpretation corresponds to ECI 000003. Escape sequences If the AllowEscape property is set to true, following escape sequences are supported by the component, you can insert them to the barcode text: \\: Insert a backslash to barcode text. \f: Insert a FS character (ASCII value 28) to barcode text. See also the "Modes" section above. \g: Insert a GS character (ASCII value 29) to barcode text. See also the "Modes" section above. \r: Insert a RS character (ASCII value 30) to barcode text. See also the "Modes" section above. \t: Insert a EOT character (ASCII value 4) to barcode text. See also the "Modes" section above. \e[<ECI_Number>]: Insert an ECI indicator block to barcode text. See also the "Extended Channel Interpretation (ECI)" section below. \s[<Index>, <Amount>]: Insert a structured append block to barcode text in order to create the symbol in a structured append. See also the "Structured append" section below. Extended Channel Interpretation (ECI) The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. Four broad types of interpretations are supported in MaxiCode: International character sets (or code pages). 65 2D Barcode VCL Components User Manual General purpose interpretations such as encryption and compaction. User defined interpretations for closed systems. Control information for structured append in unbuffered mode. The ECI protocol provides a consistent method to specify particular interpretations on byte values before printing and after decoding. The ECI is identified by an integer (up to 6 digits) which is encoded in the MaxiCode symbol by the ECI indicator block. The escape sequence "\e[ECI_Number]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number, it's an integer between 0 and 999999 (including the boundaries), the leading zero is optional. ECI indicator blocks may be placed anywhere in the barcode text in a single or structured append set of MaxiCode symbols, but cannot be within the primary message (structured carrier message) for modes 2 and 3: In mode 2 and 3, the ECI blocks may only be invoked within secondary message. For example: [)>01\r01\g99123456789\g123\g456\g\e[002]ABCg\e[123]DEF\r\t In mode 4, 5 and 6, the ECI blocks may be invoked anywhere in the barcode text. For example: ABC\e[23]DEFG\e[001]HIJKLMN The AllowEscape property should be set to true in order to place the ECI indicator blocks. Any ECI invoked shall apply until the end of the barcode text, or until another ECI indicator block is encountered. Thus the interpretation of the ECI may straddle two or more symbols. Structured append Up to eight MaxiCode symbols may be appended in a structured format to convey more data. If a symbol is part of a structured append this shall be indicated by a structured append block in barcode text. The escape sequence "\s[<Index>, <Amount>]" is used to place the structured append block to the barcode text: Index: The position index of the symbol within the set of MaxiCode symbols in the structured append format. It's an integer between 1 and 8 (including the boundaries) in string format. Amount: The total amount of the symbol within the set of MaxiCode symbols in the structured append format. It's an integer between 2 and 8 (including the boundaries) in string format. The structured append block may only be placed once in the barcode text. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the structured append block be placed more than once. The AllowEscape property should be set to true in order to place the structured append block. The valid locations for structured append block in the barcode text are specified in the following: In the mode 2 and mode 3 of MaxiCode symbols, the structured append block shall be placed at beginning or end in the barcode text, or anywhere in the secondary message. For example: \s[2,5][)>01\r01\g99123456789\g123\g456\gABCDEF\r\t [)>01\r01\g99123456789\g123\g456\g\s[2,5]ABCDEF\r\t [)>01\r01\g99123456789\g123\g456\gABC\s[2,5]DEF\r\t [)>01\r01\g99123456789\g123\g456\gABCDEF\s[2,5]\r\t [)>01\r01\g99123456789\g123\g456\gABCDEF\r\t\s[2,5] In the mode 4, 5 and 6 of MaxiCode symbols, the structured append block can be placed at anywhere in the barcode text. For example: \s[2,5]ABCDEFG ABC\s[2,5]DEFG ABCDEFG\s[2,5] 66 2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked Mode AutoMode AllowEscape CurrentMode (Read only) (*): The Data property, OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. 4.1.13 TBarcode2D_MicroPDF417 The component is used to create the MicroPDF417 Barcode symbols. It is defined in the pMicroPDF417 unit. MicroPDF417 is a multi-row symbology, derived from and closely based on PDF417. MicroPDF417 is designed for applications with a need for improved area efficiency but without the requirement for PDF417's maximum data capacity. A limited set of symbol sizes is available, together with a fixed level of error correction for each symbol size. Module dimensions are userspecified to enable symbol production and reading by a wide variety of techniques. Symbol sizes MicroPDF417 symbols shall conform with certain predefined combinations of number of stacked rows, columns, and number of errorcorrection codewords, referred to as symbol sizes. The symbol size values from mpSize_1_11 to mpSize_4_44 corresponding to these symbol sizes, and denotation the number of columns and rows in every symbol size. For example, the symbol size value mpSize_2_23 denotations the MicroPDF417 symbol size is 23 stacked rows by 2 columns. These symbol size values are defined in the pMicroPDF417 unit. The RowHeight property can be used to specify the height for each row, in modules. You can use the MinSize property to specify a minimum symbol size, and use the MaxSize property to specifiy a maximum symbol 67 2D Barcode VCL Components User Manual size. According to the priority order specified by the StretchOrder property, the first symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. You can use the CurrentSize property to get the factual symbol size. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxSize property, an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. Quiet zones The symbol shall include a quiet zone on all four sides. The minimum quiet zone is equal to 1 module on all four sides. So the minimum values of LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties are equal to 1. Error checking and correcting (ECC) Each MicroPDF417 symbol contains at least seven error correction codewords. The error correction codewords provide capability for both error detection and correction. The number of error correction codewords for a MicroPDF417 symbol is fixed for each symbol size. Character set All 8-bit values can be encoded. The default interpretation shall be: For values 0 to 127, in accordance with the U.S. national version of ISO/IEC 646 (ASCII). For values 128 - 255, in accordance with ISO/IEC 8859-1 (Extended ASCII). This interpretation corresponds to ECI 000003. MicroPDF417 has three unique data compaction modes as Text compaction mode, Numeric compaction mode, and Byte compaction mode. All 8-bit values are encoded by switching internally between all 3 compaction modes: Text compaction mode: Permits all printable ASCII characters, i.e. ASCII values from 32 to 126 inclusive accordance with ISO/IEC 646, as well as selected control characters (CR, HT, and LF). The mode has four sub-modes: Alpha: Uppercase letters and space. Lower: Lowercase letters and space. Mixed: Numeric and some punctuations. Punctuation: Some punctuations. The sub-mode will be switched automatically in order to minimize the symbol size. Numeric compaction mode: Permits efficient encoding of numeric data string. Byte compaction mode: Permits all 256 possible 8-bit byte values to be encoded. This includes all ASCII characters value from 0 to 127 inclusive and provides for international character set support. In the specification of MicroPDF417, the initial compaction mode in effect at the start of each symbol shall always be Byte compaction mode. You can change the initial compaction mode by using the DefaultEncodeMode and DefaultTextEncodeMode properties, in order to macth the reader. If the poMicroPDF417Explicit901 value is included in the Options property, a mode latch to Byte compaction mode "\901" will be explicitly inserted into beginning of barcode text, in order to work with any reader. The compaction mode will be switched automatically in a MicroPDF417 symbol in order to minimize the symbol size. Also, you can manually switch the code set by using escape sequences "\900", "\901", "\902", and "\924". See also the "Escape sequences" section below. The FNC1 characters can be encoded for compatibility with some existing applications. There are two mode FNC1 characters to identify symbols encoding messages formatted according to specific predefined industry or application specifications, also the FNC1 character can be used as the data field separator: First position mode: FNC1 in this mode indicator identifies symbols encoding data formatted according to the GS1 Application Identifiers standard. For this purpose, it shall only be used once in a symbol and shall be placed at beginning of the barcode text. 68 2D Barcode VCL Components User Manual If any one of escape sequences in "\903", "\904" and "\905" followed by an Application Identifier (2 or more digits) is placed at beginning of barcode text, it represents a leading FNC1 character in "First position" mode, and implies a mode latch to Text compaction mode or Numeric compaction mode. See also the "Escape sequences" section below. Also, you can place an escape sequence \f" followed by an Application Identifier (2 or more digits) at beginning of barcode text instead of the "\903", "\904" or "\905" escape sequence followed by the Application Identifier, to place the FNC1 character in "First position" mode. The component will automatically select one of escape sequences from "\903", "\904" and "\905" depending on on the barcode text, in order to minimize the symbol size. The escape sequences "\906", "\907", "\912", "\914" and "\915" can be placed the FNC1 character in "First position" mode too. See also the "Escape sequences" section below. Second position mode: FNC1 in this mode indicator identifies symbols formatted in accordance with specific industry or application specifications previously agreed with AIM International. It is immediately followed by an application indicator assigned to identify the specification concerned by AIM International. For this purpose, it shall only be used once in a symbol and shall be placed at beginning of the barcode. An application indicator may take the form of any single Latin alphabetic character from the set "a" to "z" and "A" to "Z", or a two-digit number. If any one of escape sequences in "\908" and "\909" followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z", or a two-digit number) is placed at beginning of barcode text, it represents a leading FNC1 character in "Second position" mode, and implies a mode latch to Text compaction mode or Numeric compaction mode. See also the "Escape sequences" section below. Data field separator: The FNC1 character may also be used as a data field separator (i.e. at the end of a variable-length data field), in which case it will be represented in the transmitted message as GS character (ASCII value 29). The data field separator shall not be placed at beginning of barcode text. If any one of escape sequences in "\903", "\904" and "\905" is placed in the barcode text, but not at beginning of the barcode text, it represents a data field separator, and implies a mode latch to Text compaction mode or Numeric compaction mode. See also the "Escape sequences" section below. Also, you can use the escape sequence "\f" instead of the "\903", "\904" or "\905" to placed the FNC1 character as the data field separator. The component will automatically select one of escape sequences from "\903", "\904" and "\905" based on the barcode text, in order to minimize the symbol size. The appearance of an adjacent pair of repeated "\903", "\904" or "\905" escape sequences will cause the decoder to divide the transmission at that point, but without transmitting the two implied GS (ASCII value 29) characters themselves. The ECI indicator blocks can be encoded for the standardized encoding of message interpretation information. The escape sequence "\e[<ECI_Numnerm>]" can be used to place the ECI indicator block to barcode text. See also the "Extended Channel Interpretation (ECI)" section below. Escape sequences If the AllowEscape property is set to true, following escape sequences are supported by the component, you can insert them to the barcode text: \\: Insert a backslash to barcode text. \5: Insert a 05 macro to barcode text. It's used to abbreviate the industry specific header "[)>{RS}05{GS}" and trailer "{RS}{EOT}", in order to reduce the size of symbol. It must only be placed once at beginning of the barcode text and it shall not be used in conjunction with a series of structured append symbols. \6: Insert a 06 macro to barcode text. It's used to abbreviate the industry specific header "[)>{RS}06{GS}" and trailer "{RS}{EOT}", in order to reduce the size of symbol. It shall only be placed once at beginning of the barcode text and it shall not be used in conjunction with a series of structured append symbols. \r: Instructs the reader to interpret the data contained within the MicroPDF417 symbol as programming for reader initialisation. It shall only be placed once at beginning of the barcode text. In the case of a structured append initialisation sequence, it shall appear in every symbol. \e[<ECI_Numnerm>]: Insert an ECI indicator block to barcode text. See also the "Extended Channel Interpretation (ECI)" section below. 69 2D Barcode VCL Components User Manual \f: Insert a FNC1 character either in "First position" mode or as a data field separator, to the barcode text. One of "\903", "\904", and "\905" will be automatically selected instead of the "\f", to insert to the symbol, depending on the barcode text. If it's placed at beginning of barcode text, it represents a FNC1 character in "First position" mode, otherwise, it represents a data field separator. See also the "Character set" section above. Note, when the "poFirstFNC1MatchAI01" is included in the value of Options property, if the "\f" followed by a SSC-14 number (including Application Identifier 01 and 13-digit data, the checkdigit isn't required) is placed at beginnig of barcode text, the "\905" will be selected to encode the FNC1 character in order to reduce the symbol size (the leading Application Identifier 01 is not encoded in the SSC-14 number). \s[<Index>, <File_ID>, <File_Name>, <Amount>, <Time_Stamp>, <Sender>, <Address>, <File_Size>, <Checksum>]: Insert structured append control block to barcode text in order to create the structured append symbol. See also the "Structured append" section below. \,: Insert a comma to File name, Sender or Address field in the structured append control block. It shall only be placed in these fields of structured append control. See also the "Structured append" section below. \t: Structured append terminator. If the segment count is unused in the structured append control block of a structured append symbols set, this terminator is required in last symbol within the set of the structured append symbols. Otherwise, it's optional. See also the "Structured append" section below. \<nnn>: Insert a function codeword. This "<nnn>" can be one of these values: 900: Manually places a mode latch to Text compaction mode. 901: Manually places a mode latch to Byte compaction mode. It shall be used when the total number of subsequent bytes to be encoded is not a multiple of 6, otherwise, it will be changed to "\924" automatically by the component. 902: Manually places a mode latch to Numeric compaction mode. 903: If it's placed at beginning of barcode text, it represents a leading FNC1 character in "First position" mode and indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation, the symbology identifier prefix is set to ]C1 or ]L3). Also it implies a mode latch to Mixed sub-mode of Text compaction mode. If it's placed in the barcode text, but not at beginning of the barcode text, it represents an FNC1 character as field separator, and implies a mode latch to Alpha sub-mode of Text compaction mode. 904: If it's placed at beginning of barcode text, it represents a leading FNC1 character in "First position" mode and indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation, the symbology identifier prefix is set to ]C1 or ]L3). Also it implies a mode latch to Numeric compaction mode. If it's placed in the barcode text, but not at beginning of the barcode text, it represents an FNC1 character as field separator, and implies a mode latch to Mixed sub-mode of Text compaction mode. 905: If the "\905" followed by 13 required digits is placed at beginning of barcode text, it represents a leading FNC1 character in "First position" mode and encodes a SCC-14 number together with subsequent 13 digits (the Application Identifier 01 is implied and the last checkdigit isn't required). It indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation, the symbology identifier prefix is set to ]C1 or ]L3). Also it implies a mode latch to Numeric compaction mode. If the it is placed in the barcode text, but not at beginning of the barcode text, it represents an FNC1 character as field separator, and implies a mode latch to Numeric compaction mode. 906: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Mixed sub-mode of Text compaction mode. It not only indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation, the symbology identifier prefix is set to ]C1 or ]L3), but also indicates that a linear symbol printed below the symbol is "linked" to the data of the symbol. The escape sequence shall only be placed once at beginning of barcode text, otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. 907: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Numeric compaction mode. it 70 DD: Day of the 6-digit data field. MM: Month of the 6-digit data field. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. the symbology identifier prefix is set to ]C0 or ]L5). or 17. the symbology identifier prefix is set to ]C1 or ]L3). For example: \912[1199010721] Also. or a two-digit number) represents a leading FNC1 character in "Second position" mode. BB: An optional Application Identifier that follows the 6-digit data field. or 17). You can encode the 6-digit date field and the subsequent Application Identifier by yourself: \912994071 You can explicitly insert a mode latch to Numeric compaction mode after the "\912" by using the "-": \912[-1199010721] \912[-]994071 The escape sequence shall only be placed once at beginning of barcode text. It can be one of 10 or 21. 910: It indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (standard data package.2D Barcode VCL Components User Manual not only indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. and indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (used by AIM Global. and implies a mode latch to Numeric compaction mode. otherwise an OnInvalidChar or 71 . otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. YY: Year of the 6-digit data field. 15. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. or a two-digit number) represents a leading FNC1 character in "Second position" mode. the symbology identifier prefix is set to ]C2 or ]L4). It can be one of 11. 13. and indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (used by AIM Global. 13. The escape sequence shall only be placed once at beginning of barcode text. 909: The "\909" followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". 908: The "\908" followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". Not only does it indicate that the MicroPDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. the symbology identifier prefix is set to ]C1 or ]L3). 912[AAYYMMDDBB]: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Numeric compaction mode. The escape sequence shall only be placed once at beginning of barcode text. the symbology identifier prefix is set to ]C2 or ]L4). otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. but also indicates that a linear symbol printed below the symbol is "linked" to the data of the symbol. The escape sequence shall only be placed once at beginning of barcode text. The escape sequence shall only be placed once at beginning of barcode text. but also it encodes that the data begins with a 6-digit date field (Application Identifier is 11. 911: It indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (standard data package. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. 15. The escape sequence shall only be placed once at beginning of barcode text. the symbology identifier prefix is set to ]C0 or ]L5). Also it implies a mode latch to Mixed sub-mode of Text compaction mode. and implies a mode latch to Mixed sub-mode of Text compaction mode. and this date field may be followed by an implied Application Identifier 10 or 21 as well: AA: Application Identifier of the 6-digit data field. Also it implies a mode latch to Numeric compaction mode. it not only indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation.UCC composite symbol. 920: It shall be used as a linkage flag to signal the presence of an associated linear component in an ECC. 916: Insert a 05 macro to barcode text. 917: Insert a 06 macro to barcode text. It only shall be placed once at beginning of the barcode text. It's completely equivalent to escape sequence "\5". 921: Instructs the reader to interpret the data contained within the MicroPDF417 symbol as programming for reader initialisation. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. It's completely equivalent to escape sequence "\6". Five broad types of interpretations are supported in MicroPDF417: International character sets (or code pages). Extended Channel Interpretation (ECI) The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. It shall only be placed once at beginning of the barcode text and it shall not be used in conjunction with a series of structured append symbols. the symbology identifier prefix is set to ]C1 or ]L3). otherwise. It shall only be placed once at beginning of the barcode text and it shall not be used in conjunction with a series of structured append symbols. it shall appear in every symbol. the {"GS}" is ASCII character GS (ASCII value 29). 914: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Numeric compaction mode. The escape sequence shall only be placed once at beginning of barcode text. 915: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Numeric compaction mode. Transmission of control information for structured append. You can use the Options property to change the meanings of these fucntion codewords. In the case of a structured append initialisation sequence. and the {"EOT}" is ASCII character EOT (ASCII value 4). but also indicates that the data begins with an implied Application Identifier is 21. The "\918" may be placed anywhere in the barcode text. The "\920" may be placed anywhere in the barcode text. General purpose interpretations such as encryption and compaction. the meanings of some function codewords don't conform with the MicroPDF417 specification. the "{RS}" is ASCII character RS (ASCII value 30). Transmission of uninterpreted MicroPDF417 codewords. 924: Manually places a mode latch to Byte compaction mode. For 72 . the symbology identifier prefix is set to ]C1 or ]L3). the leading zero is optional. it's an integer between 0 and 999999 (including the boundaries). The escape sequence shall only be placed once at beginning of barcode text. It shall be used when the total number of subsequent bytes to be encoded is an integer multiple of 6. 918: It shall be used as a linkage flag to signal the presence of an associated linear component in a composite symbol (other than an ECC. ECI indicator blocks may be placed anywhere in the barcode text in a single or structured append set of MicroPDF417 symbols. it will be changed to "\901" automatically by the component.UCC composite symbol). Note. 919: Reserved. It not only indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. User defined interpretations for closed systems. For some reader. It's completely equivalent to escape sequence "\r".2D Barcode VCL Components User Manual OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. The escape sequence "\e[<ECI_Number>]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. in order to match the reader. The ECI is identified by an integer (up to 6 digits) which is encoded in the MicroPDF417 by the ECI indicator block. but also indicates that the data begins with an implied Application Identifier is 10. the leading zero is optional. File_Size: The file size.2D Barcode VCL Components User Manual example: ABC\e[123]DEFabc\e[000003]def Normally. 73 . or until another ECI indicator block is encountered. if it's used. sub-mode latches and shifts are preserved across an ECI escape sequence. It's an integer between 1 and 999999 (including the boundaries) in decimal string format. the leading zero is optional. Note. the leading zero is optional. If the value "poIgnoreShiftBeforeECI" is included in the Options property. <Amount>. File_Name: The file name. Amount: The segment count (identifying the total number of structured append symbols in the distributed file). they defaults to 00. the leading zero is optional. in decimal string format. Note. the sub-mode shift immediately before an ECI escape sequence is ignored. Structured append symbols differ from ordinary MicroPDF417 symbols in that they contain additional control information in a structured append control block. The ECI escape sequences may be used in order to set a different ECI within the field. Each triad of digits is an integer between 000 to 899 (the leading zero is required). the field is required. <Checksum>]" is used to place the structured append control block to the barcode text: Index: The position index of the symbol within the set set of MicroPDF417 symbols in the structured append format. This ensures that all reassembled symbol data belongs to the same distributed file representation. <Address>. <File_Size>. File_ID: The file ID. entire time portion or the minute and second portion are optional. It is a variable length numeric sequence which contains one or more triads of digits. The ECI escape sequences may be used in order to set a different ECI within the field. Note.e. the sub-mode invoked immediately prior to the ECI escape sequence is preserved for the encodation immediately after it. Time_Stamp: The time stamp. It's a text string with an implied reset to ECI 000002. Up to 99999 individual MicroPDF417 symbols may be used to encode data in structured append. mm: 2-digit month. hh: 2-digit hour in 24 hours format. the file ID should be specified using the same numeric sequence. It's a GMT time in "yyyy-mm-dd hh:nn:ss" format: yyyy: 4-digit year. the concatenation sequence and optionally other information about the file. and thus a sub-mode shift immediately before an ECI escape sequence is not ignored. ss: 2-digit second. the field is optional. <File_Name>. the field is required. Sender: The sender. For each related structured append symbol. the leading zero is optional. the field is optional. the field is optional. the field is optional. Note. The ECI escape sequences may be used in order to set a different ECI within the field. Note. "yyyy-mm-dd hh". Any ECI invoked shall apply until the end of the barcode text. Thus. It's an integer in decimal string format. dd: 2-digit day. If the hour. minute or second portion is not included. It's a text string with an implied reset to ECI 000002. It's a text string with an implied reset to ECI 000002. Thus the interpretation of the ECI may straddle two or more symbols. Address: The address. The AllowEscape property should be set to true in order to place the ECI indicator blocks. structured append decoder uses the control block's information to reconstruct the file correctly independently of symbol scanning order. <Sender>. Note. Structured append Structured append provides a mechanism for the data in a file too large to be split into blocks and be represented in more than one MicroPDF417 symbol. the field is optional. Note. <Time_Stamp>. Note. and "yyyy-mmdd hh:nn" formats are valid. i. the "yyyy-mm-dd". The escape sequence "\s[<Index>. that field shall appear in every segment. <File_ID>. and indicates the size in bytes of the entire source file. It's an integer between 2 and 99999 (including the boundaries) in decimal string format. The control block defines the file ID. It indicates the time stamp on the source file. nn: 2-digit minute. but a sub-mode latch immediately before an ECI escape sequence is never ignored. "\901". after the structured append control block. please use the escape sequence "\. "\900". If you want place the comma in these fields. a structured append terminator. The ECI escape sequences. if the segment count is unused.. 74 . All unused fields at the end can be omitted. it shall be placed at end of the barcode text. the field is optional." instead.USA] Note. You can use the GetCheckSum method to calculate the checksum for a source file. the subsequent comma can be omitted if all fields of succeeding are unused. Sender and Address fields.001287023. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the control block be placed more than once or it isn't placed at end of the barcode text.001287023]\t The AllowEscape property should be set to true in order to place the structured append control block and the terminator. Otherwise. Note. the comma is required.2D Barcode VCL Components User Manual Checksum: The checksum.5. "\t" escape sequence is required in last symbol within the set of structured append symbols. The control block may only be placed once in the barcode text. and "\924" can be used in the File_Name. For example: ABCDEFGHIJKLMN\s[5. it's optional. in decimal string format. "\902". It's an integer value of the 16-bit (2 bytes) CRC checksum using the CCITT-16 polynomial computed over the entire source file. Also.. otherwise.2008-12-03 05:30:00. The following is an example of structured append symbol: Position index: 2 File ID: 001 287 023 File name: Unused Segment count: 5 Time stame: 05:30:00 GMT on 3 December. 2008 Sender: Unused Address: USA File size: Unused Checksum: Unused ABCDEFGHIJKLMN\s[2. The "\t" escape sequence shall be placed at the end of the barcode text. An empty string indicates an unused optional field. It is not capable of storing much data. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight GetCheckSum ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked MinSize MaxSize StretchOrder RowHeight DefauldEncodeMode DefauldTextEncodeMode UseECIDescriptor Options AllowEscape CurrentSize (Read only) (*): The Data property.1. the size of Micro QR Code symbols does not significantly increase.14 TBarcode2D_MicroQRCode The component is used to create the Micro QR Code barcode symbols. such as ID of printed circuit boards and electronics parts. The efficiency of data encoding has been increased with the use of only one position detection pattern. It's defined in the pMicroQRCode unit. 4. because it can store data for each symbol size more efficiently than QR Code. Micro QR Code is a very small QR Code that fits applications that require a smaller space and use smaller amounts of data. However. 75 . etc. Micro QR Code is a two-dimensional matrix symbology. even though the amount of data is increased. referred to as version 1 to 4. offering the capability of recovery from the amounts of damage in the table: Values of ECCLevel property ECC levels Recevory capacities (%) (approx. elMedium. the new level is always no lower than the level specified by the ECCLevel property. and the symbol size will not be increased. The default interpretation shall be: For values 0 to 127. and elQuality. The smallest symbol size that accommodates the barcode text will be automatically selected between minimum and maximum symbol sizes. TopQuietZone.255. Error checking and correcting (ECC) There are three user-selectable levels of error correction. and Q. as shown in following table. They can be one of values from 1 to 4 (defined in the pMicroQRCode unit). M. remaining data capacity of the symbol will be filled by using PAD characters. Note. it may be determined depending on the length of barcode text. See also the "Symbol sizes" section below. Quiet zones The minimum quiet zone is equal to 2 modules on all four sides. In other words. corresponding to the versions 1 to 4. for version 1 Micro QR Code symbols. You can use the MinVersion and the MaxVersion properties to specifiy the minimum and maximum sizes for a Micro QR Code symbol. For values 128 . only the remaining capacity in current symbol size will be used to upgrade the error correction code level. and BottomQuietZone properties are equal to 2. corresponding to the error checking and correcting levels L. in accordance with ISO/IEC 8859-1 (Extended ASCII). So the minimum values of LeadingQuietZone. TrailingQuietZone. The CurrentVersion property can be used to get the factual symbol size. If the ECCLevelUpgrade property is set to true. It can be one of these values: elLowest.S.2D Barcode VCL Components User Manual The Micro QR Code was created by Toyota subsidiary Denso-Wave in 1994. The property CurrentECCLevel can be used to get the factual error correction code level. The symbol sizes and the maximum data capacity of each version are listed in following table: Version Symbol size (modules) ECC level 1 11 * 11 2 13 * 13 3 15 * 15 4 17 * 17 L L M L M L M Q Numeric mode Data capacities Alphanumeric mode Byte mode 5 10 8 23 18 35 30 21 6 5 14 11 21 18 13 9 7 15 13 9 Kanji mode 6 4 9 8 5 If the barcode text does not fill the maximum data capacity of the Micro QR Code symbol. and the error correction code level specified by the ECCLevel property (see also the "Symbol sizes" section below). Note. in increasing order of data capacity. Symbol sizes There are four sizes of Micro QR Code symbol. Character set All 8-bit values can be encoded. These values are defined in the pMicroQRCode unit. the error checking and correcting capacity is limited to error detection only. in accordance with the U. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxVersion property. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. 76 . national version of ISO/IEC 646 (ASCII).) elLowest elMedium elQuality L M Q 7 15 25 You can use the ECCLevel property to specify the error correction code level for a Micro QR Code symbol. The EncodePolicy property indicates how to use these encoding mode by the component. alphanumeric mode is not available in version 1 Micro QR Code symbols. 77 . This property can be one of these values (defined in the pMicroQRCode unit): epMixingOptimal: All 256 8-bits values are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. %. epMixingQuick: All 256 8-bits values are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. Note. Kanji mode and Byte mode respectively in decreasing order of encoding density. the barcode text to be encoded will be analysed. Note. The Shift JIS values are shifted from the JIS X 0208 values. The character sets in each mode are listed in the following: Numeric mode: Encodes data from the decimal digit set (0 to 9. Kanji mode: The Kanji mode efficiently encodes Kanji characters in accordance with the Shift JIS system based on JIS X 0208. Alphanumeric mode. /. . 26 alphabetic characters (A .e. 45 to 47. +. $. byte values 48 to 57). Byte mode is not available in version 1 or 2 Micro QR Code symbols. epSingleMode: The encoding mode will be selected automatically and applied to entire symbol. *. :) (byte values 32.Z) (byte values 65 to 90) . and the encoding mode will not be switched in the sybmol. the Kanji mode will not be used if the AllowKanjiMode property is set to false. Note. in order to minimize the symbol size.2D Barcode VCL Components User Manual Encoding modes Micro QR Code has four encoding modes as Numeric mode. 43. Kanji mode is not available in version 1 or 2 Micro QR Code symbols. -. 42. You can set the AllowKanjiMode property to false in order to disable the Kanji mode. The combination of encoding modes may not be the optimal one. in order to optimize encoding speed. Alphanumeric mode: Encodes data from a set of 45 characters. Note. based on the barcode text. Byte mode: All 8-bit values can be encoded.. and 9 symbols (SP. 10 numeric digits (0 to 9) (byte values 48 to 57). The optimal combination of encoding modes will be used in order to minimize the symbol size. 37. JIS X 0208 gives details of the shift coded representation. 58 respectively). i. and an appropriates lowest level (highest encoding density) encoding mode will be selected. All 256 8-bits value are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. in other words. It may be possible to achieve a smaller symbol size by using the Kanji mode compaction rules when an appropriate sequence of byte values occurs in the data. 36. and inventory management. 4. PDF417 is a continuous. The PDF417 symbology was invented by Dr.15 TBarcode2D_PDF417 The component is used to create the PDF417 Barcode symbols. identification cards.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked Inversed Mirrored EncodePolicy MaxSliceLen MinVersion MaxVersion ECCLevel ECCLevelUpgrade AllowKanjiMode CurrentVersion (Read only) CurrentECCLevel (Read only) (*): The Data property. It can encode all 8-bit values. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. stacked 2D linear barcode symbol format used in a variety of applications. primarily transport. Wang at Symbol Technologies in 1991.1. Ynjiun P. PDF stands for Portable Data File. It is defined in the pPDF417 unit. Symbol size 78 . in modules. For values 128 . The mode has four sub-modes: Alpha: Uppercase letters and space. and the symbol size will not be increased. Numeric compaction mode. as well as selected control characters (CR. So the minimum values of LeadingQuietZone. the new level is always no lower than the level specified by the ECCLevel property. referred to as ECC 0 to ECC 8 respectively in increasing order of recovery capacity.2D Barcode VCL Components User Manual Each PDF417 symbol consists of a stack of vertically aligned rows with a minimum of 3 rows (maximum 90 rows). it may be determined based on the length of barcode text. national version of ISO/IEC 646 (ASCII). This interpretation corresponds to ECI 000003. Mixed: Numeric and some punctuations.255. and the error correction code level specified by the ECCLevel property. corresponding to error correction code level from ECC 0 to ECC 8. the MinRows and MinColumns properties specify a minimum symbol size. They are defined in the pPDF417Custom unit. Each stacked row shall include a minimum of 1 symbol character column (maximum 30 symbol character columns). If the ECCLevelUpgrade property is set to true. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. ASCII values from 32 to 126 inclusive accordance with ISO/IEC 646. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxRows and the MaxColumns properties. See diagram: You can use the MinRows and the MaxRows properties to specifiy the minimum and maximum number of stacked rows for a PDF417 symbol. in other words. The RowHeight property can be used to specify the height for each stacked row.S. in accordance with ISO/IEC 8859-1 (Extended ASCII). In other words. i. and BottomQuietZone properties are equal to 4. stop and row indicator columns. and Byte compaction mode. the first symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. And use the CurrentColumns property to get the factual number of columns. 79 . excluding start. Error checking and correcting (ECC) PDF417 symbols offer 9 levels of error correction. Character set All 8-bit values can be encoded. You can use the CurrentRows property to get the factual number of stacked rows. and the MaxRows and MaxColumns properties specify a maximum symbol size. It can be one of values from elEcc_0 to elEcc_8. According to the priority order specified by the StretchOrder property. They are defined in the pPDF417Custom unit. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. in accordance with the U. TrailingQuietZone. TopQuietZone. The minimum quiet zone is equal to 4 modules on all four sides. All 8-bit values are encoded by switching internally between all 3 compaction modes: Text compaction mode: Permits all printable ASCII characters. HT. The CurrentECCLevel property can be used to get the factual error correction code level. And use the MinColumns and the MaxColumns properties to specifiy the minimum and maximum number of symbol character columns for it. Quiet zones The symbol shall include a quiet zone on all four sides. Note. and LF).e. You can use the ECCLevel property to specify the error correction code level for a PDF417 symbol. Lower: Lowercase letters and space. The default interpretation shall be: For values 0 to 127. PDF417 has three unique data compaction modes as Text compaction mode. "\901". and implies a mode latch to Text compaction mode or Numeric compaction mode.e. "\904" or "\905" escape sequences will cause the decoder to divide the transmission at that point (but without transmitting the two implied GS (ASCII value 29) characters themselves). and implies a mode latch to Text compaction mode or Numeric compaction mode. "\907". or a two-digit number) is placed at beginning of barcode text. The escape sequence "\e[<ECI_Numnerm>]" can be used to place the ECI indicator block to barcode text. See also the "Escape sequences" section below. If any one of escape sequences in "\903". and implies a mode latch to Text compaction mode or Numeric compaction mode. See also the "Escape sequences" section below. it shall only be used once in a symbol and shall be placed at beginning of the barcode. it shall only be used once in a symbol and shall be placed at beginning of the barcode text. "\904" and "\905" depending on the barcode text. but not at beginning of the barcode text. The sub-mode will be switched automatically in order to minimize the symbol size. The FNC1 characters can be encoded for compatibility with some existing applications. 80 . "\904" or "\905" to placed the FNC1 character as the data field separator. The appearance of an adjacent pair of repeated "\903". and "\924". See also the "Escape sequences" section below. it represents a data field separator. For this purpose. Numeric compaction mode: Permits efficient encoding of numeric data string. you can manually switch the code set by using escape sequences "\900". Second position mode: FNC1 in this mode indicator identifies symbols formatted in accordance with specific industry or application specifications previously agreed with AIM International. "\902". it represents a leading FNC1 character in "Second position" mode. Data field separator: The FNC1 character may also be used as a data field separator (i. "\904" and "\905" is placed in the barcode text. The compaction mode will be switched automatically in a PDF417 symbol in order to minimize the symbol size. "\904" and "\905" depending on the barcode text. See also the "Escape sequences" section below. This includes all ASCII characters value from 0 to 127 inclusive and provides for international character set support. The data field separator shall not be placed at beginning of barcode text. Also. If any one of escape sequences in "\903". in order to minimize the symbol size. "\904" and "\905" followed by an Application Identifier (2 or more digits) is placed at beginning of barcode text. "\904" or "\905" escape sequence followed by the Application Identifier. The escape sequences "\906". in order to minimize the symbol size. "\914" and "\915" can be placed the FNC1 character in "First position" mode too. The component will automatically select one of escape sequences from "\903". Also. "\912". The component will automatically select one of escape sequences from "\903". See also the "Extended Channel Interpretation (ECI)" section below. you can use the escape sequence "\f" instead of the "\903". If any one of escape sequences in "\908" and "\909" followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". it represents a leading FNC1 character in "First position" mode. See also the "Escape sequences" section below. There are two mode FNC1 characters to identify symbols encoding messages formatted according to specific predefined industry or application specifications. Also. An application indicator may take the form of any single Latin alphabetic character from the set "a" to "z" and "A" to "Z". to place the FNC1 character in "First position" mode. also the FNC1 character can be used as the data field separator: First position mode: FNC1 in this mode indicator identifies symbols encoding data formatted according to the GS1 Application Identifiers standard. in which case it will be represented in the transmitted message as GS character (ASCII value 29). It is immediately followed by an application indicator assigned to identify the specification concerned by AIM International. The ECI indicator blocks can be encoded for the standardized encoding of message interpretation information. For this purpose. Byte compaction mode: Permits all 256 possible 8-bit byte values to be encoded.2D Barcode VCL Components User Manual Punctuation: Some punctuations. you can place an escape sequence "\f" followed by an Application Identifier (2 or more digits) at beginning of barcode text instead of the "\903". at the end of a variable-length data field). or a two-digit number. <Amount>. otherwise. Also it implies a mode latch to Mixed sub-mode of Text compaction mode. One of "\903". otherwise. following escape sequences are supported by the component. the symbology identifier prefix is set to ]C1 or ]L3). to the barcode text.2D Barcode VCL Components User Manual Escape sequences If the AllowEscape property is set to true. It shall only be placed once at beginning of the barcode text. It shall only be placed in these fields of Marco PDF417 control information. It's used to abbreviate the industry specific header "[)>{RS}06{GS}" and trailer "{RS}{EOT}". \6: Insert a 06 macro to barcode text. 904: If it's placed at beginning of barcode text. 901: Manually places a mode latch to Byte compaction mode. See also the "Extended Channel Interpretation (ECI)" section below. it represents an FNC1 character as field separator. but not at beginning of the barcode text. If it's placed in the barcode text. <Address>. the "\905" will be selected to encode the FNC1 character in order to reduce the symbol size (the leading Application Identifier 01 is not encoded in the SSC-14 number). 902: Manually places a mode latch to Numeric compaction mode. It must only be placed once at beginning of the barcode text and it shall not be used in Macro PDF417 symbols. to insert to the symbol. 903: If it's placed at beginning of barcode text. it represents a data field separator. <Checksum>]: Insert additional control information to barcode text in order to create the Marco PDF417 symbol. \5: Insert a 05 macro to barcode text. When the "poFirstFNC1MatchAI01" is included in the value of Options property. If it's placed at beginning of barcode text. it's optional. \. in order to reduce the size of symbol. See also the "Macro PDF417" section below. Also it implies a mode latch to Numeric compaction mode. "\904". <Time_Stamp>. <File_ID>. and implies a mode latch to Alpha sub-mode of Text compaction mode. it shall appear in every symbol. If the segment count is unused in the control information of a Marco PDF417 symbols set. It shall only be placed once at beginning of the barcode text and it shall not be used in Macro PDF417 symbols. In the case of a Macro PDF417 initialisation sequence. the checkdigit isn't required) is placed at beginnig of barcode. It's used to abbreviate the industry specific header "[)>{RS}05{GS}" and trailer "{RS}{EOT}". and "\905" will be automatically selected instead of the "\f". <File_Name>. This "<nnn>" can be one of these values: 900: Manually places a mode latch to Text compaction mode. \<nnn>: Insert a function codeword.: Insert a comma to File name. depending on the barcode text. See also the "Character set" section above. <Sender>. See also the "Macro PDF417" section below. \s[<Index>. \e[<ECI_Numnerm>]: Insert an ECI indicator block to barcode text. in order to reduce the size of symbol. it will be change to "\924" automatically by the component. Note. it represents a leading FNC1 character in "First position" mode and indicates that the PDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. it represents a FNC1 character in "First position" mode. See also the "Macro PDF417" section below. you can insert them to the barcode text: \\: Insert a backslash to barcode text. \f: Insert a FNC1 character either in "First position" mode or as a data field separator. \r: Instructs the reader to interpret the data contained within the PDF417 symbol as programming for reader initialisation. Otherwise. 81 . the symbology identifier prefix is set to ]C1 or ]L3). <File_Size>. if the "\f" followed by a SSC-14 number (including Application Identifier 01 and 13-digit data. it represents a leading FNC1 character in "First position" mode and indicates that the PDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. this terminator is required in last symbol within the set of the Marco PDF417 symbols. \t: Marco PDF417 terminator. It shall be used when the total number of subsequent bytes to be encoded is not a multiple of 6. Sender or Address field of the Marco PDF417 control information. Not only does it indicate that the PDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. 911: It indicates that the PDF417 symbol's data output shall conform with the Code128 specification (standard data package. 908: The "\908" followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". the symbology identifier prefix is set to ]C1 or ]L3). and this date field may be followed by an implied Application Identifier 10 or 21 as well: 82 . 13. but not at beginning of the barcode text. 909: The "\909" followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". The escape sequence shall only be placed once at beginning of barcode text. 912[AAYYMMDDBB]: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Numeric compaction mode. it represents an FNC1 character as field separator. The escape sequence shall only be placed once at beginning of barcode text. or a two-digit number) represents a leading FNC1 character in "Second position" mode. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur.2D Barcode VCL Components User Manual If it's placed in the barcode text. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. It indicates that the PDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. it represents an FNC1 character as field separator. but also indicates that a linear symbol printed below the symbol is "linked" to the data of the symbol. it represents a leading FNC1 character in "First position" mode and encodes a SCC-14 number together with subsequent 13 digits (the Application Identifier 01 is implied and the last checkdigit isn't required). the symbology identifier prefix is set to ]C1 or ]L3). Also it implies a mode latch to Numeric compaction mode. the symbology identifier prefix is set to ]C2 or ]L4). the symbology identifier prefix is set to ]C0 or ]L5). otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. The escape sequence shall only be placed once at beginning of barcode text. The escape sequence shall only be placed once at beginning of barcode text. the symbology identifier prefix is set to ]C0 or ]L5). but also it encodes that the data begins with a 6-digit date field (Application Identifier is 11. Also it implies a mode latch to Numeric compaction mode. If the it is placed in the barcode text. 910: It indicates that the PDF417 symbol's data output shall conform with the Code128 specification (standard data package. the symbology identifier prefix is set to ]C1 or ]L3). and implies a mode latch to Numeric compaction mode. and implies a mode latch to Numeric compaction mode. 907: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Numeric compaction mode. but not at beginning of the barcode text. 906: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Mixed sub-mode of Text compaction mode. the symbology identifier prefix is set to ]C2 or ]L4). the symbology identifier prefix is set to ]C1 or ]L3). It not only indicates that the PDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. The escape sequence shall only be placed once at beginning of barcode text. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. and indicates that the PDF417 symbol's data output shall conform with the Code128 specification (used by AIM Global. It not only indicates that the PDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. but also indicates that a linear symbol printed below the symbol is "linked" to the data of the symbol. and implies a mode latch to Mixed sub-mode of Text compaction mode. Also it implies a mode latch to Mixed sub-mode of Text compaction mode. The escape sequence shall only be placed once at beginning of barcode text. and implies a mode latch to Mixed sub-mode of Text compaction mode. or a two-digit number) represents a leading FNC1 character in "Second position" mode. and indicates that the PDF417 symbol's data output shall conform with the Code128 specification (used by AIM Global. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. or 17). 905: If the "\905" followed by 13 required digits is placed at beginning of barcode text. 15. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. but also indicates that the data begins with an implied Application Identifier is 10. 13. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. It not only indicates that the PDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation. You can encode the 6-digit date field and the subsequent Application Identifier by yourself: \912994071 You can explicitly insert a mode latch to Numeric compaction mode after the "\912" by using the "-": \912[-1199010721] \912[-]994071 The escape sequence shall only be placed once at beginning of barcode text. The "\920" may be placed anywhere in the barcode text. 914: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Numeric compaction mode. The escape sequence shall only be placed once at beginning of barcode text. For some reader. 916: Insert a 05 macro to barcode text. You can use the Options property to change the meanings of these fucntion codewords. otherwise an OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. It can be one of 11. it shall appear in every symbol. 917: Insert a 06 macro to barcode text. 918: It shall be used as a linkage flag to signal the presence of an associated linear component in a composite symbol (other than an ECC.2D Barcode VCL Components User Manual AA: Application Identifier of the 6-digit data field. YY: Year of the 6-digit data field. otherwise. it will be changed to "\901" automatically by the component. The "\918" may be placed anywhere in the barcode text. the symbology identifier prefix is set to ]C1 or ]L3). or 17. It only shall be placed once at beginning of the barcode text. MM: Month of the 6-digit data field. 15.UCC composite symbol. the meanings of some function codewords don't conform with the PDF417 specification. 920: It shall be used as a linkage flag to signal the presence of an associated linear component in an ECC. It can be one of 10 or 21. otherwise the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. 83 . In the case of a Macro PDF417 initialisation sequence. 921: Instructs the reader to interpret the data contained within the PDF417 symbol as programming for reader initialisation. the symbology identifier prefix is set to ]C1 or ]L3). in order to match the reader. It shall only be placed once at beginning of the barcode text and it shall not be used in Macro PDF417 symbols. it not only indicates that the PDF417 symbol's data output shall conform with the Code128 specification (UCC/EAN-128 emulation.UCC composite symbol). The escape sequence shall only be placed once at beginning of barcode text. For example: \912[1199010721] Also. DD: Day of the 6-digit data field. but also indicates that the data begins with an implied Application Identifier is 21. 919: Reserved. It shall only be placed once at beginning of the barcode text and it shall not be used in Macro PDF417 symbols. BB: An optional Application Identifier that follows the 6-digit data field. It's completely equivalent to escape sequence "\6". It's completely equivalent to escape sequence "\5". 924: Manually places a mode latch to Byte compaction mode. It's completely equivalent to escape sequence "\r". 915: It represents a leading FNC1 character in "First position" mode and implies a mode latch to Numeric compaction mode. It shall be used when the total number of subsequent bytes to be encoded is an integer multiple of 6. The AllowEscape property should be set to true in order to place the ECI indicator blocks. Note. This reduction version is called Compact PDF417. This mechanism is similar to the structured append feature in other symbologies. <Time_Stamp>. User defined interpretations for closed systems. the {"GS}" is ASCII character GS (ASCII value 29). The ECI is identified by an integer (up to 6 digits) which is encoded in the PDF417 by the ECI indicator block. It's an integer between 1 and 999999 (including the boundaries) in decimal string format. Any ECI invoked shall apply until the end of the barcode text. the Compact PDF417 was referred as Truncated PDF417 in previous standard. ECI indicator blocks may be placed anywhere in the barcode text in a single or Macro PDF417 set of symbols. The escape sequence "\e[<ECI_Number>]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number. For example: ABC\e[123]DEFabc\e[000003]def Normally. the field is required. <File_Size>. and thus a sub-mode shift immediately before an ECI escape sequence is not ignored. File_ID: The file ID. irrespective of the sequence in which the individual PDF417 symbols are scanned and decoded. Each triad of digits is an integer between 000 to 899 (the leading zero is required). You can set the Compact property to true in order to generate a Compact PDF417 symbol. This ensures that all reassembled symbol data belongs to the same distributed file representation. Note. the "{RS}" is ASCII character RS (ASCII value 30). the sub-mode invoked immediately prior to the ECI escape sequence is preserved for the encodation immediately after it. <File_Name>. <Sender>. <File_ID>. 84 . an office).g. the file ID should be specified using the same numeric sequence. Thus the interpretation of the ECI may straddle two or more symbols. If the value "poIgnoreShiftBeforeECI" is included in the Options property. Note. <Address>. the right row indicators may be omitted and the stop pattern may be reduced to one module width bar. The escape sequence "\s[<Index>. <Amount>. Macro PDF417 Macro PDF417 provides a mechanism for the data in a file too large to be split into blocks and be represented in more than one PDF417 symbol. and the {"EOT}" is ASCII character EOT (ASCII value 4). Thus. sub-mode latches and shifts are preserved across an ECI escape sequence.2D Barcode VCL Components User Manual Note. or until another ECI indicator block is encountered. the leading zero is optional. Five broad types of interpretations are supported in PDF417: International character sets (or code pages). Transmission of control information for Macro PDF417. Transmission of uninterpreted PDF417 codewords. the field is required. in decimal string format. Extended Channel Interpretation (ECI) The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. <Checksum>]" is used to place the control information to the barcode text: Index: The position index of the symbol within the set of Marco PDF417 symbols. General purpose interpretations such as encryption and compaction. For each related Macro PDF417 symbol. Compact PDF417 In an environment where space considerations are a primary concern and symbol damage is unlikely (e. the sub-mode shift immediately before an ECI escape sequence is ignored. which is fully decoder compatible with standard PDF417. but a sub-mode latch immediately before an ECI escape sequence is never ignored. it's an integer between 0 and 999999 (including the boundaries). Up to 99999 individual PDF417 symbols may be used to encode data in Macro PDF417. It is a variable length numeric sequence which contains one or more triads of digits. Each Macro PDF417 symbol shall contain additional control information to enable the original data file to be properly reconstructed. and indicates the size in bytes of the entire source file. Otherwise. "\901". It's an integer value of the 16-bit (2 bytes) CRC checksum using the CCITT-16 polynomial computed over the entire source file. the comma is required. entire time portion or the minute and second portion are optional. Sender: The sender. Note.e. dd: 2-digit day.2008-12-03 05:30:00. after the 85 .USA] Note. The ECI escape sequences may be used in order to set a different ECI within the field. otherwise. The ECI escape sequences may be used in order to set a different ECI within the field. Sender and Address fields. the field is optional. Note. It's an integer in decimal string format. and "\924" can be used in the File_Name. You can use the GetCheckSum method to calculate the checksum for a source file.. nn: 2-digit minute. in decimal string format. If the hour. Note. the leading zero is optional. Note. The "\t" escape sequence shall be placed at the end of the barcode text. The following is an example of Marco PDF417 symbol: Position index: 2 File ID: 001 287 023 File name: Unused Segment count: 5 Time stame: 05:30:00 GMT on 3 December. Address: The address. if the segment count is unused. Checksum: The checksum. that field shall appear in every segment.5. a Marco PDF417 terminator. Also. mm: 2-digit month. i. The ECI escape sequences. It's a text string with an implied reset to ECI 000002.001287023. Amount: The segment count (identifying the total number of Macro PDF417 symbols in the distributed file). the "yyyy-mm-dd". It's a text string with an implied reset to ECI 000002. An empty string indicates an unused optional field. the leading zero is optional.2D Barcode VCL Components User Manual File_Name: The file name. The control information may only be placed once in the barcode text. the field is optional. It's a text string with an implied reset to ECI 000002. If you want place the comma in these fields. the leading zero is optional. All unused fields at the end can be omitted. Time_Stamp: The time stamp. the field is optional. The ECI escape sequences may be used in order to set a different ECI within the field. the field is optional. Note. they defaults to 00. Note. "\t" escape sequence is required in last symbol within the set of Marco PDF417 symbols. hh: 2-digit hour in 24 hours format." instead. it shall be placed at end of the barcode text. Note. and "yyyy-mmdd hh:nn" formats are valid. 2008 Sender: Unused Address: USA File size: Unused Checksum: Unused ABCDEFGHIJKLMN\s[2. please use the "\.. minute or second portion is not included. "\902". It's an integer between 2 and 99999 (including the boundaries) in decimal string format. the subsequent comma can be omitted if all fields of succeeding are unused. if it's used. the field is optional. the leading zero is optional. the leading zero is optional. "\900". File_Size: The file size. It indicates the time stamp on the source file. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the control information be placed more than once or it isn't placed at end of the barcode text. "yyyy-mm-dd hh". It's a GMT time in "yyyy-mm-dd hh:nn:ss" format: yyyy: 4-digit year. the field is optional. ss: 2-digit second. it's optional. 001287023]\t The AllowEscape property should be set to true in order to place the control information and the terminator.2D Barcode VCL Components User Manual control information. Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight GetCheckSum ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked MinRows MaxRows MinColumn MaxColumn StretchOrder ECCLevel ECCLevelUpgrade RowHeight Compact Options AllowEscape CurrentRows (Read only) CurrentColumns (Read only) CurrentECCLevel (Read only) (*): The Data property. For example: ABCDEFGHIJKLMN\s[5. 86 . OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. You can use the MinVersion and the MaxVersion properties to specifiy the minimum and maximum sizes for a QR Code symbol. These symbol sizes and the maximum data capacity of each version are listed in following table: Version Symbol size (modules) 1 21 * 21 2 25 * 25 3 29 * 29 ECC level L M Q H L M Q H L M Q H L Numeric mode 41 34 27 17 77 63 48 34 127 101 77 58 187 Data capacities Alphanumeric mode Byte mode 25 20 16 10 47 38 29 20 77 61 47 35 114 17 14 11 7 32 26 20 14 53 42 32 24 78 Kanji mode 10 8 7 4 20 16 12 8 32 26 20 15 48 87 . elQuality. the QR Code is one of the most popular types of two-dimensional barcodes. the new level is always no lower than the level specified by the ECCLevel property. as shown in following table. and the symbol size will not be increased. elMedium. The CurrentVersion property can be used to get the factual symbol size. readable by QR scanners. Note. These values are defined in the pRCode unit. The code consists of black modules arranged in a square pattern on white background. mobile phones with a camera. including both commercial tracking applications and convenience-oriented applications aimed at mobile phone users. in increasing order of data capacity. where it was created by Toyota subsidiary Denso-Wave in 1994. The information encoded can be text. The property CurrentECCLevel can be used to get the factual error correction code level. offering the capability of recovery from the amounts of damage in the table: Values of ECCLevel property ECC levels Recevory capacities (%) (approx. corresponding to the versions 1 to 40. URL or other data. referred to as version 1 to 40. QR is the abbreviation for Quick Response. Error checking and correcting (ECC) There are four user-selectable levels of error correction. and the error correction code level specified by the ECCLevel property (see also the "Symbol sizes" section below). It's defined in the pQRCode unit. Symbol sizes There are forty sizes of QR Code symbol. M. If the ECCLevelUpgrade property is set to true. it may be determined depending on the length of barcode text. A QR Code is a two-dimensional matrix symbology. Although initially used for tracking parts in vehicle manufacturing. In other words. and H. It has position detection patterns on three of its four corners.1. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. Common in Japan. as the creator intended the code to allow its contents to be decoded at high speed. corresponding to the error checking and correcting levels L. and elHighest. It can be one of these values: elLowest. They can be one of values from 1 to 40 (defined in the pQRCode unit). QR Codes are now used in a much broader context. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols.2D Barcode VCL Components User Manual 4. The smallest symbol size that accommodates the barcode text will be automatically selected between minimum and maximum symbol sizes.16 TBarcode2D_QRCode The component is used to create the QR Code barcode symbols. and smartphones.) elLowest elMedium elQuality elHighest L M Q H 7 15 25 30 You can use the ECCLevel property to specify the error correction code level for a QR Code symbol. Q. 2D Barcode VCL Components User Manual 88 4 33 * 33 5 37 * 37 6 41 * 41 7 45 * 45 8 49 * 49 9 53 * 53 10 57 * 57 11 61 * 61 12 65 * 65 13 69 * 69 14 73 * 73 15 77 * 77 16 81 * 81 17 85 * 85 18 89 * 89 M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H 149 111 82 255 202 144 106 322 255 178 139 370 293 207 154 461 365 259 202 522 432 312 235 652 513 364 288 772 604 427 331 883 691 489 374 1022 796 580 427 1101 871 621 468 1250 991 703 530 1408 1082 775 602 1548 1212 876 674 1725 1346 948 746 90 67 50 154 122 87 64 195 154 108 84 224 178 125 93 279 221 157 122 335 262 189 143 395 311 221 174 468 366 259 200 535 419 296 227 619 483 352 259 667 528 376 283 758 600 426 321 854 656 470 365 938 734 531 408 1046 816 574 452 62 46 34 106 84 60 44 134 106 74 58 154 122 86 64 192 152 108 84 230 180 130 98 271 213 151 119 321 251 177 137 367 287 203 155 425 331 241 177 458 362 258 194 520 412 292 220 586 450 322 250 644 504 364 280 718 560 394 310 38 28 21 65 52 37 27 82 65 45 36 95 75 53 39 118 93 66 52 141 111 80 60 167 131 93 74 198 155 109 85 226 177 125 96 262 204 149 109 282 223 159 120 320 254 180 136 361 277 198 154 397 310 224 173 442 345 243 191 . 2D Barcode VCL Components User Manual 19 93 * 93 20 97 * 97 21 101 * 101 22 105 * 105 23 109 * 109 24 113 * 113 25 117 * 117 26 121 * 121 27 125 * 125 28 129 * 129 29 133 * 133 30 137 * 137 31 141 * 141 32 145 * 145 33 149 * 149 L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q 1903 1500 1063 813 2061 1600 1159 919 2232 1708 1224 969 2409 1872 1358 1056 2620 2059 1468 1108 2812 2188 1588 1228 3057 2395 1718 1286 3283 2544 1804 1425 3517 2701 1933 1501 3669 2857 2085 1581 3909 3035 2181 1677 4158 3289 2358 1782 4147 3486 2473 1897 4686 3693 2670 2022 4965 3909 2805 1153 909 644 493 1249 970 702 557 1352 1035 742 587 1460 1134 823 640 1588 1248 890 672 1704 1326 963 744 1853 1451 1041 779 1990 1542 1094 864 2132 1637 1172 910 2223 1732 1263 958 2369 1839 1322 1016 2520 1994 1429 1080 2677 2113 1499 1150 2840 2238 1618 1226 3009 2369 1700 792 624 442 338 858 666 482 382 929 711 509 403 1003 779 565 439 1091 857 611 461 1171 911 661 511 1273 997 715 535 1367 1059 751 593 1465 1125 805 625 1528 1190 868 658 1628 1264 908 698 1732 1370 982 742 1840 1452 1030 790 1952 1538 1112 842 2068 1628 1168 488 384 272 208 528 410 297 235 572 438 314 248 618 480 348 270 672 528 376 284 721 561 407 315 784 614 440 330 842 652 462 365 902 692 496 385 940 732 534 405 1002 778 559 430 1066 843 604 457 1132 894 634 486 1201 947 684 518 1273 1002 719 89 . In QR Code symbology. TrailingQuietZone. in accordance with the U. can be used to placed the FNC1 character in "First position" mode to barcode text. For values 128 .2D Barcode VCL Components User Manual 34 153 * 153 35 157 * 157 36 161 * 161 37 165 * 165 38 169 * 169 39 173 * 173 40 177 * 177 H 2157 1307 898 553 L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H L M Q H 5253 4134 2949 2301 5529 4343 3081 2361 5836 4588 3244 2524 6153 4775 3417 2625 6479 5039 3599 2735 6743 5313 3791 2927 7089 5596 3993 3057 3183 2506 1787 1394 3351 2632 1867 1431 3537 2780 1966 1530 3729 2894 2071 1591 3927 3054 2181 1658 4087 3220 2298 1774 4296 3391 2420 1852 2188 1722 1228 958 2303 1809 1283 983 2431 1911 1351 1051 2563 1989 1423 1093 2699 2099 1499 1139 2809 2213 1579 1219 2953 2331 1663 1273 1347 1060 756 590 1417 1113 790 605 1496 1176 832 647 1577 1224 876 673 1661 1292 923 701 1729 1362 972 750 1817 1435 1024 784 If the barcode text does not fill the maximum data capacity of the QR Code symbol. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by the MaxVersion property. and BottomQuietZone properties are equal to 4.S. an OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. The default interpretation shall be: For values 0 to 127. Quiet zones The minimum quiet zone is equal to 4 modules on all four sides. national version of ISO/IEC 646 (ASCII). remaining data capacity of the symbol will be filled by using PAD characters.255. there are two mode FNC1 characters to identify symbols encoding messages formatted according to specific predefined industry or application specifications: First position: FNC1 in this mode indicator identifies symbols encoding data formatted according to the GS1 Application Identifiers standard. TopQuietZone. it shall only be used once in a symbol and shall be placed at beginning of the barcode text. For this purpose. in accordance with ISO/IEC 8859-1 (Extended ASCII). For example. The escape sequence "\t" or "\f" followed by an Application Identifier (2 or more digits). The FNC1 characters can be encoded for compatibility with some existing applications. the barcode symbol (01)00012345678905 can be represented using any one of following sequences: \t0100012345678905 90 . This interpretation corresponds to ECI 000003. So the minimum values of LeadingQuietZone. and after any ECI indicator block or structured append block (if exists). Character set All 8-bit values can be encoded. Escape sequences If the AllowEscape property is set to true. There are three usages: Insert a FNC1 character in "First position" mode to the barcode text. followed by an Application Identifier (2 or more digits).e. There are two ways to place a FNC1 character in "Second position" mode: The escape sequence "\d" followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". or a two-digit number. "\d". the "First position" and "Second position" are not used in a literal sense but is a historical reference to the position of the FNC1 symbol character in Code 128 symbols. QR Code symbols shall use the GS character (byte value 29) to perform this function. It is immediately followed by an application indicator assigned to identify the specification concerned by AIM International. any one of "\g". For example: \f0100012345678905 91 . and after any ECI indicator block or structured append block (if exists). In this case. "\t". In this case. For this purpose. and "\f" escape sequences can be used to place the GS character to the barcode text. See also the "Extended Channel Interpretation (ECI)" section below. \f: Insert a FNC1 character to barcode text. "\t". QR Code symbols shall use the GS character (byte value 29) to perform this function. or a two-digit number) can be used to placed the FNC1 character in "Second position" mode to barcode text. An application indicator may take the form of any single Latin alphabetic character from the set "a" to "z" and "A" to "Z". or a two-digit number). it shall only be used once in a symbol and shall be placed at beginning of the barcode. For example: \t010001234567890521512\f2018 Second position: FNC1 in this mode indicator identifies symbols formatted in accordance with specific industry or application specifications previously agreed with AIM International. "\d". following escape sequences are supported by the component. In this case. at the end of a variablelength data field). any one of "\g". For example: \dA0001234567890 \d010001234567890 The escape sequence "\f[<AI>]" can be used to placed the FNC1 character in "Second position" mode to barcode text: AI: The application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". The escape sequence "\e[<ECI_Number>]" can be used to place the ECI indicator block to barcode text.2D Barcode VCL Components User Manual \f0100012345678905 Where the GS1 specifications call for the FNC1 character to be used as a data field separator (i. it shall only be used once in a symbol and shall be placed at beginning of the barcode text. and after any ECI indicator block or structured append block (if exists). For example: \dA0001234567890521512\g2018 Note. and "\f" escape sequences can be used to place the GS character to the barcode text. For example: \f[A]0001234567890 \f[01]0001234567890 Where the application specifications call for the FNC1 character to be used as a data field separator. you can insert them to the barcode text: \\: Insert a backslash to barcode text. The ECI indicator blocks can be encoded for the standardized encoding of message interpretation information. The AllowEscape property should be set to true in order to place the FNC1 characters or the ECI indicator blocks. For example: \f010001234567890521512\t2018 See also the "Character set" section above. In this case. \g: Insert a GS character (ASCII value 29) to the barcode text. or a two-digit number). It's completely equivalent to the escape sequence "\f" that inserts the FNC1 character as the data field separator. it can be placed anywhere but at beginning of the barcode text. followed by an Application Identifier (2 or more digits). There are two usages: Insert a FNC1 character in "First position" mode to the barcode text. In this case. For example: \f010001234567890521512\g2018 See also the "Character set" section above. For example: \t0100012345678905 Insert a GS character (ASCII value 29) as the data field separator to the barcode text. which is enclosed in square brackets. it can be placed anywhere but at beginning of the barcode text. For example: \f[01]00012345678905 Insert a GS character (ASCII value 29) as the data field separator to the barcode text. it shall only be used once in a symbol and shall be placed at beginning of the barcode text. and after any ECI indicator block or structured append block (if exists). 92 .2D Barcode VCL Components User Manual Insert a FNC1 character in "Second position" mode to the barcode text. followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". See also the "Extended Channel Interpretation (ECI)" section below. In this case. In this case. and after any ECI indicator block or structured append block (if exists). it shall only be used once in a symbol and shall be placed at beginning of the barcode text. There are two usages: Insert a FNC1 character in "Second position" mode to the barcode text. and after any ECI indicator block or structured append block (if exists). When FNC1 is used as a data field separator. it can be used instead of the FNC1 character. See also the "Structured append" section below. \d: Insert a FNC1 character in "Second position" mode to barcode text. <Parity>]: Insert a structured append block to barcode text in order to create the symbol in a structured append. it can be placed anywhere but at beginning of the barcode text. or a two-digit number). \e[<ECI_Number>]: Insert an ECI indicator block to barcode text. In this case. <Amound>. In this case. followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". For example: \f010001234567890521512\d2018 See also the "Character set" section above. or insert a GS character (ASCII value 29) as the data field separator to the barcode text. \s[<Index>. For example: \d0100012345678905 Insert a GS character (ASCII value 29) as the data field separator to the barcode text. or insert a GS character (ASCII value 29) as the data field separator to the barcode text. It's completely equivalent to the escape sequence "\f" that inserts the FNC1 character as the data field separator. it shall only be used once in a symbol and shall be placed at beginning of the barcode text. It's completely equivalent to escape sequence "\f" that inserts the FNC1 character in "Second position" mode. It's completely equivalent to escape sequence "\f" that inserts the FNC1 character in "First position" mode. \t: Insert a FNC1 character in "First position" mode to barcode text. For example: \t010001234567890521512\f2018 See also the "Character set" section above. 43. Byte mode: All 8-bit values can be encoded. in other words. The optimal combination of encoding modes will be used in order to minimize the symbol size. All 256 8-bits value are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. You can set the AllowKanjiMode property to false in order to disable the Kanji mode. It may be possible to achieve a smaller symbol size by using the Kanji mode compaction rules when an appropriate sequence of byte values occurs in the data. The Shift JIS values are shifted from the JIS X 0208 values. epMixingQuick: All 256 8-bits values are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. The AllowEscape property should be set to true in order to place the ECI indicator blocks. Kanji mode: The Kanji mode efficiently encodes Kanji characters in accordance with the Shift JIS system based on JIS X 0208. $. The ECI protocol provides a consistent method to specify particular interpretations on byte values before printing and after decoding. based on the barcode text. in order to minimize the symbol size. 58 respectively). JIS X 0208 gives details of the shift coded representation. General purpose interpretations such as encryption and compaction. The EncodePolicy property indicates how to use these encoding mode by the component. or until another ECI indicator block is encountered.. the Kanji mode will not be used if the AllowKanjiMode property is set to false. the leading zero is optional. Control information for structured append in unbuffered mode. Kanji mode and Byte mode respectively in decreasing order of encoding density. /. The character sets in each mode are listed in the following: Numeric mode: Encodes data from the decimal digit set (0 to 9) (byte values 48 to 57). 10 numeric digits (0 to 9) (byte values 48 to 57). The combination of encoding modes may not be the optimal one. Alphanumeric mode: Encodes data from a set of 45 characters. i. 36. epSingleMode: The encoding mode will be selected automatically and applied to entire symbol. :) (byte values 32. . Note. in order to optimize encoding speed. 37. and the encoding mode will not be switched in the sybmol. -. ECI indicator blocks may be placed anywhere in the barcode text in a single or structured append set of QR Code symbols. For example: ABC\e[123]DEFabc\e[000003]def The default interpretation for QR Code is ECI 000003 representing the ISO/IEC 8859-1 character set. and 9 symbols (SP. The escape sequence "\e[<ECI_Number>]" is used to place the ECI indicator block to the barcode text: ECI_Number: The ECI number. Alphanumeric mode. 42. +. 45 to 47.e. Any ECI invoked shall apply until the end of the barcode text. %. The ECI is identified by an integer (up to 6 digits) which is encoded in the QR Code symbol by the ECI indicator block. *. the barcode text to be encoded will be analysed. it's an integer between 0 and 999999 (including the boundaries). Four broad types of interpretations are supported in QR Code: International character sets (or code pages). User defined interpretations for closed systems.2D Barcode VCL Components User Manual Encoding modes QR Code has four encoding modes as Numeric mode. 26 alphabetic characters (A . Extended Channel Interpretation (ECI) The Extended Channel Interpretation (ECI) protocol allows the output data stream to have interpretations different from that of the default character set. Thus the interpretation of the ECI may straddle two or more 93 .Z) (byte values 65 to 90) . This property can be one of these values (defined in the pQRCode unit): epMixingOptimal: All 256 8-bits values are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. and an appropriates lowest level (highest encoding density) encoding mode will be selected. It is identical in all symbols in the structured append. It shall be an 8-bit byte value obtained by using the GetParity method with the original input data as its parameter. enabling it to be verified that all symbols read form part of the same structured append message. The structured append block may only be placed once in the barcode text. 5. a data message can be distributed across several QR Code symbols. <Parity>]" is used to place the structured append block to the barcode text: Index: The position index of the symbol within the set of QR Code symbols in the structured append format. <Amount>.2D Barcode VCL Components User Manual symbols. Structured append In order to handle larger messages than are practical in a single symbol. If a symbol is part of a structured append this shall be indicated by a structured append block in barcode text. The escape sequence "\s[<Index>. Parity: The parity data. It's an integer between 2 and 16 (including the boundaries) in string format. The AllowEscape property should be set to true in order to place the structured append block. 125]ABCDEFGabcdefg1234567890 94 . Up to 16 QR Code symbols may be appended in a structured format to convey more data. Also. It's an integer between 1 and 16 (including the boundaries) in string format. The following is the examples of structured append: \s[2. or it isn't placed at beginning of the barcode text. The OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur if the structured append block be placed more than once. Amount: The total amount of the symbol within the set of QR Code symbols in the structured append format. it shall be placed at beginning of the barcode text. It's defined in the pRss14 unit. and RSS-14 Stacked Omnidirectional. RSS-14 Stacked. The last digit represents the Check Digit. RSS-14 Truncated. 4.17 TBarcode2D_RSS14 The component is used to create the RSS-14 (Reduce Space Symbology) barcode symbols. including RSS-14 (Standard). GTINs). A 95 . The following twelve digits are the GS1 Company Prefix and the Item Reference.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight GetParity ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked Inversed Mirrored EncodePolicy MaxSliceLen MinVersion MaxVersion ECCLevel ECCLevelUpgrade AllowKanjiMode AllowEscape CurrentVersion (Read only) CurrentECCLevel (Read only) (*): The Data property. RSS-14 is a continuous linear symbology capable encoding the full GS1 14-digit EAN. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.1. The first digit represents the Indicator digit to indicate packaging level.UCC item identification number (Global Trade Item Numbers. They are defined in the pRss14 unit. rsTruncated. in modules. You can use the TotalHeight property to specify the height for an RSS-14 Truncated symbol.2D Barcode VCL Components User Manual leading Application Identifier (01) is implied and is not encoded in the symbol. You can use the Style property to specify which style will be used. the top row is 5 modules high and the bottom row is 7 modules high with a 1 module (minimum) high separator pattern between the two rows. in modules. and rsStackedOmnidirectional. RSS-14 Stacked: Normally. handheld lasers. the height of separator pattern is included in the total height. the overall size of this format is 96 modules wide by a minimum of 33 modules high. It can be used instead of RSS-14 for omnidirectional scanning applications where the different aspect ratio is needed. If both the Link2D and Show2DSeparator properties are set to Ture. In this case. So the overall size of this format is 50 modules wide by 13 modules high. corresponding to the Standard. And use the TotalHeight property to specify the total height for an RSS-14 Stacked Omnidirectional symbol.UCC item identification (Global Trade Item Numbers. instead of RSS Limited. 96 . It may also be used when the four-column 2D component is desired in order to minimize the height of an EAN. And use the TotalHeight property to specify the total height for an RSS-14 Stacked symbol. Stacked. RSS Limited or RSS-14 Truncated should be used in preference to the stacked format whenever space permits without reducing module width. in modules. the narrower width of RSS-14 Stacked might allow for a larger module width and potentially higher print quality. Stacked: RSS-14 Stacked is an RSS-14 Truncated two-row format. The first and last elements may appear wider than one module without affecting the symbol if the adjacent background area is the same color. as they are easier to scan with a wand or linear scanner. and linear and 2D imagers. GTINs) in a symbol that can be omnidirectionally scanned by suitably configured point-of-sale laser scanners. So the overall size of this format is 50 modules wide by 69 modules high minimum. RSS-14 Stacked is designed to be read by scanners such as wands. TopQuietZone. You can use the SeparatorRowHeight property to specify the height of separator pattern between the two rows. Each row is 33 modules high minimum with a 3 modules high separator pattern between the two rows. Truncated: RSS-14 Truncated is structured and encoded in the same way as the standard RSS-14 format. in modules. It cannot be read efficiently by omnidirectional flat-bed and presentation scanners. You can use the SeparatorRowHeight property to specify the height of separator pattern between the two rows. handheld lasers. RSS-14 Truncated: Normally. in modules. Moreover. except its height is reduced to a 13 modules minimum. Styles There are four styles (versions) of RSS-14 symbols. You can use the TotalHeight property to specify the height for an RSS-14 (Standard) symbol. Stacked Omnidirectional: RSS-14 Stacked Omnidirectional is a full height RSS-14 two-row format. It cannot be read efficiently by omnidirectional flat-bed and presentation scanners. the height of the RSS-14 symbol will be reached to increase the contiguous separator pattern height. TrailingQuietZone. Truncated.UCC Composite symbol. RSS-14 Truncated is designed to be read by scanners such as wands. So the minimum values of LeadingQuietZone. the height of separator pattern is included in the total height. and Stacked Omnidirectional styls. It may be used for small items. Symbol size RSS-14 (Standard): Normally. in modules. rsStacked. as described in following list: Standard: The standard style RSS-14 barcode symbol encodes the full 14-digit EAN. the overall size of this format is 96 modules wide by a minimum of 13 modules high. and BottomQuietZone properties are equal to 0. However. It can be one of these values: rsStandard. a contiguous separator pattern is represented and its minimum height is 1 module (the pattern height can be specified by the SeparatorRowHeight property). Quiet zones No quiet zones is required outside the bounds of the RSS-14 symbol. It may be used for small items instead ofRSS Limited when the available space is too narrow for RSS Limited. RSS-14 Stacked Omnidirectional: Normally. and linear and 2D imagers. Composite symbols Any styles of an RSS-14 barcode symbol can be used together with a CC-A or CC-B barcode symbol to create the EAN.UCC item identification number (Global Trade Item Numbers. In this case.UCC composite symbols. and the last numeric character in the barcode text is the check digit. 0 through 9. theLink2D property should be set to true in order to denote the RSS-14 symbol is used as the linear component in an EAN.UCC composite barcode symbol". so the length of barcode text shall is 14 numeric characters. the check digit will be appended automatically by the component. so it isn't required in the barcode text. the Image property should not be normally set. it is a form of redundancy check used for error detection. It wii be appended automatically by the component. If the AutoCheckDigit property is set to false. Otherwise.UCC composite symbol.e. A leading Application Identifier (01) is implied and is not encoded in the symbol. If the AutoCheckDigit property is set to true. the check digit shall be included in the barcode text. it can be used as the Linear property's value of the 2D barcode component to create the EAN. AutoCheckDigit. Only a 4-column CC-A or a 4-column CC-B symbol can be used together with an RSS-14 (Standard) or an RSS-14 Truncated symbol. If you use it together with the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component that's in this 2D Barcode VCL Components package.UCC composite symbol. Data capactiy All styles of RSS-14 symbologies encode the full GS1 14-digit EAN. the Image property's value of the 2D component will be used. and a check digit. Note.UCC item identification number.UCC composite symbol. In such case. i. Only a 3-column CC-A or a 3-column CC-B symbol can be used together with an RSS-14 Stacked or an RSS-14 Stacked Omnidirectional symbol. only the Barcode. the check digit shall be included in the barcode text. See also the "How to generate the EAN.2D Barcode VCL Components User Manual Character set All 10 numeric characters. so the check digit isn't required in the barcode text. In addition. The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed automatically depending on the value of the Style property. so the length of barcode text shall is 13 numeric characters. including a leading indicator digit. Check digit All styles of RSS-14 symbols have a check digit. and SeparatorRowHeight properties are useful. If you use it together with a CC-A or a CC-B component that's from another components package. If the AutoCheckDigit property is set to false. Style. the value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D and Show2DSeparator properties will be set to true automatically). GTINs) in a symbol. 12 data characters (GS1 Company Prefix and the Item Reference). the Show2DSeparator property specifies whether to represent the contiguous separator pattern between the RSS-14 linear and the 2D components in the EAN. TotalHeight. It consists of a single numeric character computed from the other character in the EAN. Data (only for Delphi/C++ Builder 2009 or later). and the check digit isn't required in the barcode text. See diagram: 97 . 18 TBarcode2D_RSSExpanded The component is used to create the RSS Expanded barcode symbols. RSS Expanded can be used to encode primary and supplementary data intended for use in retail point-of-sale and other applications where the scanners and application software have been appropriately programmed. including RSS Expanded (Standard) and RSS Expanded Stacked.2D Barcode VCL Components User Manual Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked TotalHeight Link2D Show2DSeparator Style SeparatorRowHeight AutoCheckDigit (*): The Data property. RSS Expanded can be scanned and decoded in up to 22 segments and then reconstructed. 4. This facilitates omnidirectional scanning. as described in following list: 98 . OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.1. Styles There are two styles (versions) of RSS Expanded symbols. It's defined in the pRssExpanded unit. RSS Expanded is a variable length linear symbology capable of encoding up to 74 numeric or 41 alphabetic characters of AI element string data internally represented as a binary number. The first and last elements may appear wider than one module without affecting the symbol if the adjacent background area is the same color. Quiet zones No quiet zones is required outside the bounds of the RSS Expanded symbol. They are defined in the pRss14Expanded unit. Data capactiy 74 numeric or 41 alphabetic characters. Composite symbols Any style of an RSS Expanded barcode symbol can be used together with a 4-column CC-A or a 4-column CC-B barcode symbol to create the EAN. If both the Link2D and Show2DSeparator properties are set to Ture. If you want encode the parentheses "(" and ")" in an Application Identifier element string. the barcode text will be encoded as a symbol segments sequence.2D Barcode VCL Components User Manual Standard: RSS Expanded (Standard) is a single row. please use the "{" and "}" instead. It can identify small items and carry more information than the current EAN/UPC barcode. and 19 selected punctuation characters (!:%&()*+. and BottomQuietZone properties are equal to 0. In this case. corresponding to the Standard and Stacked styls. in other words. You can use the Style property to specify which style will be used. Character set A subset of ISO/IEC 646. You can use the RowSymbols property to specify the number of symbol segments in each row for an RSS Expanded Stacked symbol. The symbol height is based on the number of symbol stacked rows and the height of each stacked row. Note. and each separator pattern is minimum 1 module high.-. only even values are valid). a-z)./:. The symbol height are specified by the RowHeight property. FNC1. TopQuietZone. there are between 4 and 22 symbol segments (including the boundaries) in the sequence. It may be stacked in two to eleven rows. in modules. space. It can be one of values rsStandard and rsStacked.UCC composite symbol. theLink2D property should be set 99 . between 2 and 20 (including the boundaries. please insert the "^" character instead. the parentheses are only for identifying Application Identifiers. Stacked: RSS Expanded Stacked is an RSS Expanded multi-row format. a contiguous separator pattern is represented and its minimum height is 1 module. Symbol size In both RSS Expanded (Standard) and RSS Expandedn Stacked symbols. You can use the RowHeight property to specify the height for each row. There are three separator patterns between the stacked rows. the maximum is 70 digits for any AIs. consisting of the upper and lower case letters (A-Z. And use the SeparatorRowHeight property to specify the height of each separator pattern. the barcode symbol will be stacked in two to eleven rows based on the total numbers of symbol segments and the number of symbol segments in each row. and they are not encoded into the barcode symbol. all Application Identifiers should be enclosed in parentheses "(" and ")". in modules. Each row is minimum 34 modules high. RSS Expanded Stacked is used when the symbol area or print mechanism is not wide enough to accommodate the full single row symbol. Note. Stacked: The symbol width is based on the number of symbol segments in each stacked row.<=>?_) in addition to the special function character. the RSS Expanded data capacity depends on the encodation method. If you use it together with a CC-A or a CC-B component that's from another components package. and the maximum is 77 digits for (01) + (392x) + any AIs. the symbol width is based on the number of symbol segments. The symbol sizes are based on the number of symbol segments. in the barcode text. So the minimum values of LeadingQuietZone. in modules. TrailingQuietZone. the value of RowSymbols property should be greater than or equal to 4. and are described in following list: Standard: It's a variable length symbology. If you want insert the FNC1. the RSS Expanded Stacked symbol shall contain at least four symbol characters within its top row. the height can be specified by the SeparatorRowHeight property too. The maximum is 74 digits for (01) + other AIs. digits (0-9). variable length linear symbology. UCC composite barcode symbol". and SeparatorRowHeight properties are useful. RowSymbols. See also the "How to generate the EAN. The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed to 4 automatically. In this case. See diagram: Properties: Events: Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked Style RowHeight RowSymbols SeparatorRowHeight Link2D Show2DSeparator 100 Methods: Image .UCC composite symbol. only the Barcode. The value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D a n d Show2DSeparator properties will be set to true automatically).2D Barcode VCL Components User Manual to true in order to denote the RSS Expanded symbol is used as the linear component in an EAN. Data (only for Delphi/C++ Builder 2009 or later). it can be used as the Linear property's value of the 2D barcode component to create the EAN. Style. the Image property should not be normally set. the Image property's value of the 2D component will be used. RowHeight. In addition.UCC composite symbols. If you use it together with the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component that's in this 2D Barcode VCL Components package. In such case. the Show2DSeparator property specifies whether to represent the contiguous separator pattern between the RSS Expanded linear and the 2D components in the EAN. and the value of RowSymbols property should be greater than or equal to 4.UCC composite symbol. UCC item identification number (Global Trade Item Numbers. It consists of a single numeric character computed from the other character in the EAN. and BottomQuietZone properties are equal to 0.19 TBarcode2D_RSSLimited The component is used to create the RSS Limited barcode symbols. TopQuietZone. Composite symbols 101 . Check digit The RSS Limited symbols have a check digit. Note. so the length of barcode text shall is 13 numeric characters. and a Check digit. A leading Application Identifier (01) is implied and is not encoded in the symbol. including a leading indicator digit (only 0 and 1). i. A leading Application Identifier (01) is implied and is not encoded in the symbol. the check digit shall be included in the barcode text. If both the Link2D and Show2DSeparator properties are set to Ture. the height of the RSS Limited symbol will be reached to increase the contiguous separator pattern height. TrailingQuietZone. 4.e. The TotalHeight property can be used to specify the height for an RSS Limited symbol. If the AutoCheckDigit property is set to false. Otherwise. Data capactiy The RSS Limited symbology encodes the entire GS1 14-digit EAN. If the AutoCheckDigit property is set to false. so the check digit isn't required in the barcode text. so it isn't required in the barcode text. It's defined in the pRssLimited unit. GTINs) set with Indicator digits 1 and 0 in a symbol. First numeric character is the Indicator digit in the barcode text. Namely. The first digit represents the Indicator digit to indicate packaging level (only 0 and 1). and the last numeric character in the barcode text is the check digit. GTINs) set with Indicator digits 1 and 0. the check digit will be appended automatically by the component.2D Barcode VCL Components User Manual (*): The Data property. In this case. So the minimum values of LeadingQuietZone.UCC item identification number. If height of the contiguous separator pattern is 1 module. RSS Limited is a continuous linear symbology capable encoding the entire GS1 14-digit EAN. The first and last elements may appear wider than one module without affecting the symbol if the adjacent background area is the same color. Symbol size Normally. then the minimum height of the RSS Limited symbol is 11 modules. the check digit shall be included in the barcode text. a contiguous separator pattern is represented and its minimum height is 1 module (the pattern height can be specified by the SeparatorRowHeight property). The following twelve digits are the GS1 Company Prefix and the Item Reference. 12 data characters (GS1 Company Prefix and the Item Reference). Character set All 10 numeric characters.1. only 1 and 0 can be encoded. in modules. Quiet zones No quiet zones is required outside the bounds of the RSS Limited symbol. If the AutoCheckDigit property is set to true. The last digit represents the Check Digit. so the length of barcode text shall is 14 numeric characters.UCC item identification number (Global Trade Item Numbers. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later. It wii be appended automatically by the component. If the contiguous separator pattern is represented. the overall size of the RSS Limited symbol is 74 modules wide by a minimum of 10 modules high. its height is included in the property value. and the check digit isn't required in the barcode text. 0 through 9. it is a form of redundancy check used for error detection. Note. 102 . TotalHeight. See diagram: Properties: Methods: Events: Image Create OnChange Barcode Destroy OnEncode Data (*) Assign OnInvalidChar Module Clear OnInvalidLength BarColor Draw OnInvalidDataChar (*) SpaceColor Size OnInvalidDataLength (*) Orientation CopyToClipboard OnDrawBarcode Stretch DrawTo LeftMargin DrawToSize TopMargin Print BarcodeWidth PrintSize BarcodeHeight ShowQuietZone LeadingQuietZone TopQuietZone TrailingQuietZone BottomQuietZone Locked TotalHeight Link2D SeparatorRowHeight Show2DSeparator AutoCheckDigit (*): The Data property. If you use it together with a CC-A or a CC-B component that's from another components package. In addition. the Image property's value of the 2D component will be used. In such case.UCC composite symbol. In this case. and SeparatorRowHeight properties are useful.UCC composite symbol. See also the "How to generate the EAN. OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.UCC composite barcode symbol".UCC composite symbol.2D Barcode VCL Components User Manual The RSS Limited barcode symbol can be used together with a 3-column CC-A or a 3-column CC-B barcode symbol to create the EAN. the Image property should not be normally set. Data (only for Delphi/C++ Builder 2009 or later). only the Barcode. the Show2DSeparator property specifies whether to represent the contiguous separator pattern between the RSS Limited linear and the 2D components in the EAN.UCC composite symbols. it can be used as the Linear property's value of the 2D barcode component to create the EAN. The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed to 3 automatically. If you use it together with the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component that's in this 2D Barcode VCL Components package. AutoCheckDigit. the value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D and Show2DSeparator properties will be set to true automatically). theLink2D property should be set to true in order to denote the RSS Limited symbol is used as the linear component in an EAN. It connects the barcode component to a dataset.2 TDBBarcode2D TDBBarcode2D provides an interface between a TDataSource component and a barcode component. It's defined in the pDBBarcode2D unit. 4.4 TSave2D 103 . See also the "How to use the barcode components with a database". Properties: DataField DataSource Barcode2D BindProperty (*) ReadOnly Field (*): The BindProperty property is available only for the Delphi/C++ Builder 2009 or later.3 TLogo2D The component is used to add a logo picture to the barcode symbol. Use TDBBarcode2D to provide a conduit between a dataset and a barcode component that enable use the data underlying the dataset to represent the barcode symbol.2D Barcode VCL Components User Manual 4. Properties: Methods: Barcode2D Create Picture Destroy Width Assign Height Padding HorizontalAlignment HorizontalMargin VerticalAlignment VerticalMargin AlignToModule 4. It is defined in the pLogo2D unit. 2D Barcode VCL Components User Manual It is the base class of all image saving components.4. And it cannot be instantiated. Properties: Methods: Events: Barcode2D Create OnSave ColorDepth Destroy OnSaved XPPM Assign YPPM Save 4. It is defined in the 104 . It's defined in the pSave2D unit. these components can be used to save barcode symbol to picture file in multiple formats.4. If a logo picture is added using the TLogo2D component.4. it will not be saved in the image file. It is defined in thepSave2D_Bmp unit.2 TSave2D_Emf The component is used to save the barcode symbol to image file in Enhaced Metafile Format (EMF). It is defined in thepSave2D_Emf unit. Properties: Barcode2D Methods: Events: Create OnSave Destroy OnSaved Assign Save 4.1 TSave2D_Bmp The component is used to save the barcode symbol to image file in Bitmap image (BMP) format. Note. if a logo picture is added using the TLogo2D component. it will be saved in the image file too.3 TSave2D_Eps The component is used to save the barcode symbol to image file in Encapsulated PostScript (EPS) format. Properties: Methods: Events: Barcode2D Create OnSave DeviceWidthInPixel Destroy OnSaved DeviceHeightInPixel Assign DeviceWidthInMM Save DeviceHeightInMM DeviceWidthInUM DeviceHeightInUM EmbedBarcodeText 4. 6 TSave2D_Png The component is used to save the barcode symbol to image file in Portable Network Graphics (PNG) format. it will not be saved in the image file.4 TSave2D_Gif The component is used to save the barcode symbol to image file in Graphics Interchange Format (GIF). if a logo picture is added using the TLogo2D component. JPEG) format.4. If a logo picture is added using the TLogo2D component.2D Barcode VCL Components User Manual pSave2D_Eps unit.4. It is defined in the pSave2D_Png unit. it will be saved in the image file too.4. If a logo picture is added using the TLogo2D component. Properties: Methods: Events: Barcode2D Create OnSave EmbedBarcodeText Destroy OnSaved Assign Save 4. Properties: Methods: Events: Barcode2D Create OnSave Progressive Destroy OnSaved Quality Assign Save 4. 105 .5 TSave2D_Jpg The component is used to save the barcode symbol to image file in JPEG image (JPG. it will be saved in the image file too. It is defined in the pSave2D_Jpg unit. It is defined in the pSave2D_Gif unit. Note. If a logo picture is added using the TLogo2D component. it will be saved in the image file too. Properties: Methods: Events: Barcode2D Create OnSave Version Destroy OnSaved ColorDepth Assign Interlaced Save EmbedBarcodeText 4. Note. It is defined in the pBarcode2D unit. position. Properties: Methods: Events: Barcode2D Create OnSave Placeable Destroy OnSaved LogicUnitsPerInch Assign Save 4. etc.g. It is defined in the pSave2D_Svg unit. Syntax: type 106 . Properties: Methods: Events: Barcode2D Create OnSave BarOpacity Destroy OnSaved OriginalLogo Assign SpaceOpacity Save EmbedBarcodeText 4.4. it will be saved in the image file too. if a logo picture is added using the TLogo2D component.4.8 TSave2D_Wmf The component is used to save the barcode symbol to image file in Windows Metafile Format (WMF). If a logo picture is added using the TLogo2D component. it will not be saved in the image file. It is defined in the pSave2D_Wmf unit.5 TUserWorkArea It contains fields to specify the parameters (e.) for the barcode symbol.2D Barcode VCL Components User Manual Properties: Methods: Events: Barcode2D Create OnSave BarOpacity Destroy OnSaved SpaceOpacity Assign ColorDepth Save Interlaced CompressionLevel EmbedBarcodeText 4. size.7 TSave2D_Svg The component is used to save the barcode symbol to image file in Scalable Vector Graphics (SVG) format. WModule: Integer. WTotalWidthInPixels: Integer. WSymbolZoneWidthInModules: Integer. WBarColor: TColor. it's an empty string. Print (Syntax 3). WAngle: Integer. WAngle: Integer. It's the margin between the barcode symbol and the top side of the canvas in pixels (Draw. WQuietZoneWidthInModules_Right: Integer. It's equal to the value of Barcode property. they are included in the barcode symbol. If the quiet zones are represented. DrawTo) or dots (Print). WSpaceColor: TColor. WTopInPixels: Integer. in degrees. WTopInPixels: Integer. It's the color used by all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. WLeftInPixels: Integer. WMirror: Boolean. It's the module size in pixels (Draw. Print (Syntax 1). The target canvas that the barcode symbol will be represented on it. they are included in the barcode symbol. and PrintSize (Syntax 3) methods. WBarColor: TColor. WSymbolZoneOffsetInPixels_Left: Integer. WSpaceColor: TColor. or use Draw. WBarcodeLength: Integer. WSymbolZoneOffsetInPixels_Top: Integer. WSymbolZoneHeightInModules: Integer. WDensityRate: Double. See also the "LeftMargin" property. It's the color used by all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. Also the leading. if you use the Data property. DrawToSize (Syntax 1). top. See also the "Module" property. trailing. WShowQuietZone: Boolean. WQuietZoneWidthInModules_Top: Integer. If the quiet zones are represented. WAnsiBarcode: AnsiString. WBarcode: string. WOrigin: TPoint. DrawTo) or dots (Print). WQuietZoneWidthInModules_Bottom: Integer. or PrintSize (Syntax 2) method. and bottom quiet zones are represented using the color too. For Delphi/C++ Builder 2009 or later. It's the margin between the barcode symbol and the left side of the canvas in pixels (Draw. See also the "TopMargin" property. WQuietZoneWidthInModules_Left: Integer. Fields: WCanvas: TCanvas. it is equal to their Barcode parameter value. end. The barcode text which will be encoded to the barcode symbol. DrawToSize (Syntax 3). Size. WModule: Integer. or use DrawTo (Syntax 3).2D Barcode VCL Components User Manual { Defined in the pBarcode2D unit } TUserWorkArea = record WCanvas: TCanvas. 107 . DrawTo) or dots (Print). DrawToSize (Syntax 2). Print (Syntax 2). It's the angle to rotate the barcode symbol anticlockwise. WAlpha: Double. or PrintSize (Syntax 1) method. If you use the Barcode property. WTotalHeightInPixels: Integer. WLeftInPixels: Integer. DrawTo (Syntax 1). WBarcode: string. If you use the DrawTo (Syntax 2). It is the ratio of the horizontal logical DPI and veritical logical DPI of the canvas. in modules. See also the "TopQuietZone" property. Size. if you use the Data property. It's the width of leading quiet zone if it is represented. WOrigin: TPoint. 108 . it is equal to their Data parameter value. It's the height of entire barcode symbol before the barcode symbol is rotated. in modules. If you use DrawTo (Syntax 3). WSymbolZoneWidthInModules: Integer. It's the height of entire barcode symbol before the barcode symbol is rotated. It's the width of entire barcode symbol before the barcode symbol is rotated. DrawToSize (Syntax 2). WDensityRate: Double. It's the width of trailing quiet zone if it is represented. WTotalWidthInPixels: Integer. Print (Syntax 3). WQuietZoneWidthInModules_Bottom: Integer. It's the length of WAnsiBarcode feild's value by character count.2D Barcode VCL Components User Manual WShowQuietZone: Boolean. It's the height of bottom quiet zone if it is represented. in pixels (Draw. DrawTo) or dots (Print). WSymbolZoneHeightInModules: Integer. The quiet zones aren't included even if they are represented. WMirror: Boolean. See also the "BottomQuietZone" property. If you use the Barcode property. it's equal to the value of Data property. If you use the DrawTo (Syntax 2). WSymbolZoneOffsetInPixels_Top: Integer. in modules. DrawTo) or dots (Print). It's the vertical offset from the upper-left corner of entire barcode symbol (the quiet zones are included if they are represented) to the upper-left of the barcode symbol (the quiet zones aren't included even if they are represented) before the barcode symbol is rotated. DrawTo (Syntax 1). Denotes whether the leading. it is an AnsiString converted from their Barcode parameter value (if you used the OnEncode event function. The quiet zones aren't included even if they are represented. It's the width of entire barcode symbol before the barcode symbol is rotated. WQuietZoneWidthInModules_Top: Integer. or PrintSize (Syntax 2) method. It's the horizontal offset from the upper-left corner of entire barcode symbol (the quiet zones are included if they are represented) to the upper-left of the barcode symbol (the quiet zones aren't included even if they are represented) before the barcode symbol is rotated. in radian. The coordinate of the upper-left corner of the barcode symbol after the barcode symbol is rotated. trailing. or PrintSize (Syntax 3) method. WSymbolZoneOffsetInPixels_Left: Integer. The quiet zones are included if they are represented. DrawToSize (Syntax 1). in modules. DrawToSize (Syntax 3). or PrintSize (Syntax 1) method. DrawTo) or dots (Print). See also the "Mirrored" property. See also the "TrailingQuietZone" property. Print (Syntax 2). It's the angle that the barcode symbol will be rotated. WQuietZoneWidthInModules_Right: Integer. DrawTo) or dots (Print). in in pixels (Draw. it's equal to its Data parameter value). For Delphi/C++ Builder 2009 or later. in in pixels (Draw. See also the "LeadingQuietZone" property. The barcode text which will be encoded to the barcode symbol. in AnsiString format. in pixels (Draw. The quiet zones are included if they are represented. in modules. WQuietZoneWidthInModules_Left: Integer. top and bottom quiet zones are represented. in pixels (Draw. Denotes whether the barcode symbol is reversed right to left (horizontal mirror reversal). WBarcodeLength: Integer. it is an AnsiString converted from the Barcode property (if you used the OnEncode event function. WAlpha: Double. it's equal to its Data parameter value). It's the height of top quiet zone if it is represented. or use Draw. WTotalHeightInPixels: Integer. See also the "ShowQuietZone" property. DrawTo) or dots (Print). Print (Syntax 1). WAnsiBarcode: AnsiString. in modules. please visit the "Manage your licenses" page to request a new download link. the license key will be sent to the license e-mail address automatically. If the download link expired. then click on the oder ID to display it. Please open the page then enter your order ID. license user name or license e-mail address to locate your order. choose a license and click on the "Retrieve the license key".2 I forgot my license key If you forgot the license key. within the validity period. please visit the "Manage your licenses" page to retrieve it. Please open the page then enter your order ID. then click on the oder ID to display it. FAQs 5.2D Barcode VCL Components User Manual Chapter 5. 5. choose a license and click on the "Request a new download link". Please use the new download link whthin the validity period. license user name or license e-mail address to locate your order.1 How to download the full version Please download the installation package using the download link that's sent from us after you purchase the components package. the new download link will be sent to this license e-mail address automatically. 109 . please purchase the full version of this product. if you would like to send general comments about the product. Your feedback is very important for us because it helps to us to make our software better and more efficient. In order to provide more accurate service. If you find it useful. so include your order number in the email to ensure a prompt response. or a better way of doing something. So if you have a grand idea for a new feature. 110 . though limited. please reads the following: Please read the "Frequently Asked Question" in our web site to see whether your question is already answered. please read the next section. You may email the technical support issues to support@han-soft. So purchase will allow you to use 2D Barcode VCL Components without limitations.com. please provides the following information: Whether the problem can be reproduced? How is it reproduced? What development system do you use? Which version of 2D Barcode VCL components do you use? Feedback If you have any comments or concerns about this product please send them to feedback@han-soft. You will be entitled to a 50% discount for all future major upgrades if you purchased the software more than one year ago. Technical Support If you have a specific technical issue. 6. This includes both major and minor upgrades in appropriate time period. and allow you to have free upgrades for another year. please drop us a note. Many troubleshooting questions can be answered by this help. The registered users will get priority.com.2D Barcode VCL Components User Manual Chapter 6. If your question is not covered in the help document.1 Support This help is designed to be used on-screen. and adds a watermark that appears in the final 2D Barcode symbol. Information 6. It means that during one year you can download and install the latest versions of the software from our site. After your purchase you will receive an e-mail with a download link of full version for downloading. You are entitled to free upgrades during 1 year since the date of your purchase. You will be always entitled to free minor upgrades for the version that is purchased. Many of its features have been heavily influenced by comments from users. Why should I purchase After your purchase you can continue to use the 2D Barcode VCL Components and entitles you to the following benefits: The trial version is fully functional.2 Purchase The 2D Barcode VCL Components is a Shareware product. however.han-soft.3 Contact us Contact us if you have any questions. which includes computer software and may include associated media. or otherwise using the SOFTWARE PRODUCT. In the "Purchase" web page.han-soft. If you do not receive your download link and license key within a few minutes. copying. please double-check that your email address is correct. Important: When completing the order form. checks. If it is not. orders by phone and fax. do not install or use the SOFTWARE PRODUCT. Finally.com 6.com Feedback: feedback@han-soft. If you do not agree to the terms of this EULA. Fill in the information on the web page. Once the purchase is completed.biz E-mail General information: information@han-soft. comments or suggestions: Web site Main site: http://www. and "online" or electronic documentation ("SOFTWARE PRODUCT"). and wire transfers. 3. you provide us with the resources and incentive to support the software with updates and to develop additional quality products in the future. 111 . 2.4 End-User License Agreement This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and the Han-soft. choose the license type and open the order form web page.2D Barcode VCL Components User Manual You will also have priority in technical support. Purchasing the product may also entitle you to discounts on new software releases from Han-soft.com. you agree to be bound by the terms of this EULA. by purchasing the software. printed materials. 6. please check your SPAM filter inbox. PayPal orders. Please open the "Purchase" web page of our web site http://www. the download link of full version and the license key will be sent instantaneously to your email address.com Service: service@han-soft. By installing. We accept credit card orders.com Technical support:
[email protected] Mirror: http://www. and choose from the available ordering options that best suits your needs. you will be unable to receive the download link and the license key. purchase orders. you may. return it to your place of purchase for a full refund.com Web information:
[email protected] Sales: sales@han-soft. How to purchase You can purchase the 2D Barcode VCL Components by using following steps: 1.han-soft. and shall be accompanied by a copy of this EULA. You may permanently transfer all of your rights under this EULA. You may reproduce and distribute an unlimited number of copies of the TRIAL SOFTWARE PRODUCT. In such event. Limitations on Reverse Engineering. You may install and use an unlimited number of copies of the TRIAL SOFTWARE PRODUCT. Termination. Software built incorporating our licensed source code must not allow programmatic access to the software components or in any way compete with our software products. Limitations on Components and Source Code. Without prejudice to any other rights. including all copyright and trademark notices. or disassemble the SOFTWARE PRODUCT.2D Barcode VCL Components User Manual SOFTWARE PRODUCT LICENSE The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties. You may not publish or otherwise expose the licensed source code outside of your organization whatsoever. You may not transfer your rights under this license. This EULA grants you the following rights: Installation and Use. The SOFTWARE PRODUCT is licensed as a single product. You may modify the source code as required for your own software products but the code may only be used to produce compiled software. you must destroy all copies of the SOFTWARE PRODUCT and all of its components parts. Separation of Components. decompile. Software Transfer. Otherwise. If the SOFTWARE PRODUCT is installed on a network server or other storage device. You must not distribute the library in such a way that it allows direct programmatic access to the SOFTWARE PRODUCT. Decompilation. Distribution. provided the recipient agrees to the terms of this EULA. A license for the SOFTWARE PRODUCT may not be shared by alternating use of the SOFTWARE PRODUCT between different computers. GRANT OF LICENSE. You may distribute the runtime packages with your end-user applications. Copies of the TRIAL SOFTWARE PRODUCT may be distributed as a standalone product or included with your own product. You may use the registered SOFTWARE PRODUCT on that number of computers for which you have purchased a separate license as indicated on the invoice or sales receipt. Purchase. or such that it competes with the SOFTWARE PRODUCT in any way . DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS. Reproduction and Distribution. as well as other intellectual property laws and treaties.this library is intended for inclusion in end user products. 2. 1. except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation. The SOFTWARE PRODUCT is licensed. you may not copy the SOFTWARE PRODUCT in whole or in part. and Disassembly. the Author of this Software may terminate this EULA if you fail to comply with the terms and conditions of this EULA. 112 . not sold. You may also make one copy of the SOFTWARE PRODUCT for back-up or archival purposes. You may not reverse engineer. The primary user of a computer for which a license has been purchased may make and use one copy of the SOFTWARE PRODUCT on his or her portable computer. provided that each copy shall be a true and complete copy. Its components parts may not be separated for use on more than one computer. you must purchase a license for each separate computer on which the SOFTWARE PRODUCT is used. even if the Author of this Software has been advised of the possibility of such damages. and any copies of the SOFTWARE PRODUCT are owned by the Author of this Software. Therefore. and "applets" incorporated into the SOFTWARE PRODUCT). the implied warranties or merchantability. 3. or if you desire to contact the author of this Software for any reason. The SOFTWARE PRODUCT and any related documentation is provided "as is" without warranty of any kind. The registered SOFTWARE PRODUCT may not be included in any free or non-profit packages or products. damages for loss of business profits. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you. COPYRIGHT.2D Barcode VCL Components User Manual The SOFTWARE PRODUCT may not be sold or be included in a product or package which intends to receive benefits through the inclusion of the SOFTWARE PRODUCT. loss of business information. MISCELLANEOUS Should you have any questions concerning this EULA. In no event shall the author of this Software be liable for any damages whatsoever (including. video. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. photographs. the accompanying printed materials. 113 . Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages. The Author of this Software expressly disclaims any warranty for the SOFTWARE PRODUCT. you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may install the SOFTWARE PRODUCT on a single computer provided you keep the original solely for backup or archival purposes. NO LIABILITY FOR DAMAGES. NO WARRANTIES. please contact him at the email address mentioned at the bottom of this EULA. All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images.com email address. either express or implied. text. the above limitation may not apply to you. without limitation. animations. audio. music. business interruption. CONTACT US Please sent email to the sales@han-soft. including. fitness for a particular purpose. LIMITED WARRANTY 1. without limitation. or non-infringement. or any other pecuniary loss) arising out of the use of or inability to use this product. 2. Kanji mode and Byte mode respectively in decreasing order of encoding density. in order to place the function characters and additional control information.2D Barcode VCL Components User Manual Annex A. The Kanji mode can encode the Kanji characters more effectively. If the property is set to true. 2]ABCDEFGHIJKLMN The escape sequences definition is different for every barcode symbology component. Properties A. all Kanji characters are always encoded in Byte 114 . the component will automatically select the encoding mode between Kanji mode and Byte mode when the Kanji characters are encountered. The property specifies whether to allow the Kanji mode to be used when encoding the barcode text into a Micro QR Code symbol.1. For example: \s[1. For example: ABCDEFG\pHIJKLMN Some escape sequences may be followed by a parameters list. in order to place the function characters and additional control information. A. or the control information. Syntax: property AllowKanjiMode: Boolean. all parameters are comma delimited. in order to minimize the symbol size. Otherwise. Escape sequences use an escape character "\" to change the meaning of the characters which follow it. Alphanumeric mode.1 AllowEscape Specifies whether to allow users to insert the escape sequences to barcode text. An escape sequence is a series of characters used to place the function character and special character. Syntax: property AllowEscape: Boolean. Description: The property specifies whether to allow users to insert the escape sequences to barcode text.1.2 AllowKanjiMode (TBarcode2D_MicroQRCode) Specifies whether to allow the Kanji mode to be used when encoding the barcode text into a Micro QR Code symbol.1 TBarcode2D A. and must be enclosed by square brackets. Description: Micro QR Code symbology has four encoding modes as Numeric mode. please read the "Escape sequences" section in the article of every barcode symbology component. so the length of barcode text shall is 13 numeric characters. A. Syntax: property AllowKanjiMode: Boolean.UCC item identification number (Global Trade Item Numbers. A. the leading Application Identifier (01) is implied and is not encoded in the symbol.2D Barcode VCL Components User Manual mode. GTINs) in a symbol. Alphanumeric mode. See also the "Encoding modes" section in the "TBarcode2D_QRCode" article. If the property is set to true. the check digit will be appended automatically by the component. and the last numeric character in the barcode text is the check digit. and the check digit isn't required in the barcode text. Otherwise.1. so it isn't required in the barcode text. If the AutoCheckDigit property is set to true. 115 . See also the "Check digit" section in the "TBarcode2D_RSS14" and "TBarcode2D_RSSLimited" articles.3 AllowKanjiMode (TBarcode2D_QRCode) Specifies whether to allow the Kanji mode to be used when encoding the barcode text into a QR Code symbol. It is a form of redundancy check used for error detection.4 AutoCheckDigit (TBarcode2D_RSS14. Note. the check digit shall be included in the barcode text. The Kanji mode can encode the Kanji characters more effectively. Description: QR Code symbology has four encoding modes as Numeric mode. The property specifies whether the check digit should be automatically appended to the barcode symbol. its last digit represents the check digit.UCC item identification number. so the length of barcode text shall is 14 numeric characters. It consists of a single numeric character computed from the other character in the EAN. Kanji mode and Byte mode respectively in decreasing order of encoding density. The property specifies whether to allow the Kanji mode to be used when encoding the barcode text into a QR Code symbol. See also the "Encoding modes" section in the "TBarcode2D_MicroQRCode" article. Syntax: property AutoCheckDigit: Boolean. in order to minimize the symbol size. all Kanji characters are always encoded in Byte mode. Description: The RSS-14 and the RSS Limited barcode symbologies encode the GS1 14-digit EAN.1. the component will automatically select the encoding mode between Kanji mode and Byte mode when the Kanji characters are encountered. TBarcode2D_RSSLimited) Specifies whether the check digit should be automatically appended to the barcode symbol. If the AutoCheckDigit property is set to false. otherwise the mode 4 will be used in order to accommodate more barcode text. or specify the converted string in the property. UTF-16). then be encoded into the barcode symbol. Description: Specifies the barcode text to encode it into the barcode symbol. If the Mode property is set to mode 4. please convert it in theOnEncode event. If the property is set to false. By default. the unicode string will be converted to an ANSI encoding string. please convert it in theOnEncode event. the mode 5 will be selected always.1. depending on the barcode text and the Mode property value. For Delphi/C++ Builder 2007 or early. 116 . If the Mode property is set to mode 6. it is an ANSI encoding string. please use the Data property. If the length of barcode text is so short that can be encoded by using mode 5. A. depending on the postal code field in the barcode text. in order to insure high level of enhanced error correction. The OnChange event will occur when the property value is changed. the mode 5 will be used in order to employ enhanced error correction. If the Mode property is set to mode 5. or specify the converted string in the Data property. and the OnInvalidLength event will occur if the length of the Barcode property value is invalid. If the property is set to true. it is of type AnsiString. By default.6 Barcode Specifies the barcode text. if you want to use other encoding scheme (for example the UTF-8.1. The property is of type string. the mode 6 will be selected always. Syntax: property Barcode: string. it is of type AnsiString. you can use the property to encode block of binary (bytes) data. In this case. the mode will be specified by the Mode property. UTF-16). the factual mode will be selected between mode 4 and 5. the TBarcode2D_MaxiCode component will automatically select the suitable mode depending on the barcode text and the value of Mode property: If the Mode property is set to mode 2 or 3. The value of CurrentMode property is always equal to the Mode property value. For Delphi/C++ Builder 2007 or early. Description: The property specifies whether to automatically select the mode for a MaxiCode barcode symbol. See also the "Modes" sections in the "TBarcode2D_MaxiCode" article. the factual mode will be selected between mode 2 and 3. you can use the CurrentMode property to get the factual mode. depending on the length of barcode text. Syntax: property AutoMode: Boolean. If you want to use other encoding scheme (for example the UTF-8. For Delphi/C++ Builder 2009 or later. in order to encodes a message used to program the reader system. The OnInvalidChar event will occur if there is any invalid character in the Barcode property value. in order to encode block of binary (bytes) data.2D Barcode VCL Components User Manual A. For Delphi/C++ Builder 2009 or later. it is in fact an UnicodeString instead of AnsiString.5 AutoMode (TBarcode2D_MaxiCode) Specifies whether to automatically select the mode for a MaxiCode barcode symbol. TBarcode2D_CCB. Note. if a 2D component (including the TBarcode2D_CCA. theBarcode property of the 2D component only specifies the barcode text for the 2D component. You can get the height value by using the Size method. When the property Stretch is set to true: If the BarcodeHeight property value is equal to zero: When the Orientation property is set to "boLeftRight" or "boRightLeft".UCC composite barcode symbol not for the 2D symbol. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The property is set using the following formula: When the property Stretch is set to false: The BarcodeHeight property will be ignored. the 2D symbol and the linear symbol are assembled to generate an EAN. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. TBarcode1D_UPCE1.7 BarcodeHeight Specifies the distance between the top and bottom of a barcode symbol in pixels. TBarcode1D_UPCA. then the result will be 117 . the linear component is included in the composite barcode symbol. TBarcode2D_CCB. TBarcode1D_UPCE0. and TBarcode2D_CCC components.1. and the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component only specifies the barcode text for the linear component. otherwise the check digit can be specified by you in here. And the property specifies the height for entire EAN. or TQRGzImage control that's specified by the Image property. or TBarcode2D_CCC) together with a linear component (including the TBarcode2D_RSS14. the check digit doesn't need to be entered in the here. Description: Specifies the distance between the top and bottom of a barcode symbol in pixels. if the property AutoCheckDigit is set to true. the TopMargin property value will be subtracted from the height of the TImage.2D Barcode VCL Components User Manual For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. TBarcode1D_UPCE. A. TBarcode1D_EAN8.UCC composite barcode symbol. or TBarcode1D_EAN128) is assembled to generate an EAN. TBarcode1D_EAN13. TBarcode2D_RSSLimited. Syntax: property BarcodeHeight: Integer.UCC composite barcode symbol. if the Linear property is set. If the quiet zones are represented (the ShowQuietZone property is set to true). the top quiet zone and the bottom quiet zone are included. TQRImage. TBarcode2D_RSSExpanded. and the height of barcode symbol will be calculated based on the Module property value. the barcode symbol will be reduced/stretched to fit this final height value. -1 denotes the bottom margin is 1.). See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): When the Orientation property is set to "boTopBottom" or "boBottomTop". or TQRGzImage control that's specified by the Image property.). -1 denotes the right margin is 1. TQRImage. . See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the BarcodeHeight property value is greater than zero: The barcode symbol will be reduced/stretched to fit this height value. or TQRGzImage control that's specified by the Image property. TQRImage.. -2 denotes the bottom margin is 2. -2 denotes the right margin is 2. the LeftMargin property value and the absolute value of the negative height will be subtracted from the width of the TImage.2D Barcode VCL Components User Manual used as the final barcode height. . or TQRGzImage control that's specified by the Image property. the TopMargin property value and the absolute value of the negative height will be subtracted from the height of the TImage. the barcode symbol will be reduced/stretched to fit this final height value (it specifies the bottom margin of the barcode symbol. the barcode symbol will be reduced/stretched to fit this final height value (it specifies the right margin of the barcode symbol. TQRImage. the barcode symbol will be reduced/stretched to fit this final height value.. the LeftMargin property value will be subtracted from the width of the TImage. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): When the Orientation property is set to "boTopBottom" or "boBottomTop".. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): Note: 118 . then the result will be used as the final barcode height. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the BarcodeHeight property value is less than zero: When the Orientation property is set to "boLeftRight" or "boRightLeft". then the result will be used as the final barcode height.. then the result will be used as the final barcode height. the leading quiet zone and the trailing quiet zone are included. TQRImage.UCC composite barcode symbol not for the 2D symbol. Syntax: property BarcodeWidth: Integer. TBarcode1D_UPCE.1. and its human readable text is represented. TBarcode2D_CCB. If the human readable text exceeds the linear barcode symbol in vertical direction. TBarcode2D_CCB.UCC composite barcode symbol. When the property Stretch is set to true: If the property value is equal to zero: When the Orientation property is set to "boLeftRight" or "boRightLeft". when the linear component is TBarcode1D_UPCA. the linear component is included in the composite barcode symbol.8 BarcodeWidth Specifies the distance between the beginning and end of a barcode symbol in pixels. and the width of barcode symbol will be calculated based on the Module property value.2D Barcode VCL Components User Manual For the TBarcode2D_CCA. TBarcode1D_EAN13. if the Linear property is set. the LeftMargin property value will be subtracted from the width of the TImage. and TBarcode2D_CCC components. the 2D symbol and the linear symbol are assembled to generate an EAN. Description: Specifies the distance between the beginning and end of a barcode symbol in pixels. or TQRGzImage control that's specified by the Image property. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The property is set using the following formula: When the property Stretch is set to false: The BarcodeWidth property will be ignored. If the quiet zones are represented (the ShowQuietZone property is set to true). TBarcode1D_UPCE0. You can get the width value by using the Size method. TBarcode1D_UPCE1. And the property specifies the width for entire EAN. or TBarcode1D_EAN128. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): A. and TBarcode2D_CCC components. the human readable text and the vertical spacing between the text and linear symbol are included in the value of BarcodeHeight property. the excess is included too. TBarcode1D_EAN8. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. then the result will be 119 . See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): When the Orientation property is set to "boTopBottom" or "boBottomTop".). TQRImage. the barcode symbol will be reduced/stretched to fit this final width value. or TQRGzImage control that's specified by the Image property. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet 120 . the barcode symbol will be reduced/stretched to fit this final width value (it specifies the right margin of the barcode symbol. then the result will be used as the final barcode width..). then the result will be used as the final barcode width. -2 denotes the right margin is 2. -2 denotes the bottom margin is 2. or TQRGzImage control that's specified by the Image property. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): Note: For the TBarcode2D_Code16K barcode component. even if the ShowQuietZone property is set to false. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the property value is less than zero: When the Orientation property is set to "boLeftRight" or "boRightLeft". the TopMargin property value will be subtracted from the height of the TImage. the leading quiet zone and the trailing quiet zone are included always. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the property value is greater than zero: The barcode symbol will be reduced/stretched to fit this width value. the barcode symbol will be reduced/stretched to fit this final width value (it specifies the bottom margin of the barcode symbol. TQRImage. the LeftMargin property value and the absolute value of the negative width will be subtracted from the width of the TImage. . -1 denotes the bottom margin is 1. or TQRGzImage control that's specified by the Image property. then the result will be used as the final barcode width.. TQRImage.. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): When the Orientation property is set to "boTopBottom" or "boBottomTop". .2D Barcode VCL Components User Manual used as the final barcode width.. the TopMargin property value and the absolute value of the negative width will be subtracted from the height of the TImage. -1 denotes the right margin is 1. the barcode symbol will be reduced/stretched to fit this final width value. or TBarcode2D_CCC.2D Barcode VCL Components User Manual zones): For the TBarcode2D_CCA.UCC composite barcode symbol. For Stacked 2D barcode symbologies and Linear 1D barcode symbologies. TBarcode2D_QRCode. A.1. TBarcode2D_CCB. and TBarcode2D_RSSExpanded. if the Inversed property is set to true. TBarcode2D_CompactMatrix. the property specifies the color of every dark module in matrix symbol if the Inversed property is set to false. TBarcode2D_RSSLimited. TBarcode1D_EAN8. Syntax: property BarColor: TColor. If the TextAlignment property isn't set to taCustom. and its human readable text is represented. and the human readable text exceeds entire EAN. or TBarcode1D_EAN128. If the TextAlignment property is set to taCustom.UCC composite symbol (including both 2D and linear symbols). TBarcode1D_UPCE. otherwise. the property is in effect for entire EAN. TBarcode2D_HanXinCode. when the linear component is TBarcode1D_UPCA. TBarcode1D_EAN13. nominally a suqare shape.1. TBarcode1D_UPCE0. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): A. when the leading quiet zone. The module is single cell in the matrix symbol used to encode one bit data. it's a regular hexagonal shape. TBarcode2D_CCB. otherwise. top quiet zone. TBarcode2D_CCB. TBarcode2D_AztecRunes. this does not apply to TBarcode1D_EAN128). By default. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. TBarcode2D_DataMatrixECC200. the property specifies the color for all bars in the barcode symbol if the Inversed property is set to false. the color specified by this BarColor property will be used to represent them. and TBarcode2D_MicroQRCode. the color specified by the SpaceColor property will be used. Description: For the Matrix 2D barcode symbologies. including TBarcode2D_AztecCode. TBarcode2D_RSS14. otherwise. TBarcode2D_CCA. TBarcode2D_DataMatrix. TBarcode2D_PDF417. it specifies the color of every light module. TBarcode2D_CCC. the excess is included in the value of BarcodeWidth property.10 BottomQuietZone 121 . trailing quiet zone. TBarcode1D_UPCE1. TBarcode2D_GridMatrix. and TBarcode2D_CCC components. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode2D_MaxiCode. it's clBlack. For the 2D component TBarcode2D_CCA. if its Linear property is set. and bottom quiet zone are represented (the ShowQuietZone property value is set to true).9 BarColor Specifies the color for all bars or dark modules in the barcode symbol. Also.UCC composite barcode symbol in horizontal direction. including TBarcode2D_Code16K. it specifies the color for all spaces. in MaxiCode symbology. TBarcode2D_MicroPDF417. 2D Barcode VCL Components User Manual Specifies the vertical height of the bottom quiet zone in modules. at the end of bytes mode. and TBarcode2D_CCC components. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): A. it's represented using the color specified by the BarColor property. the encoding mode always returns to the upper mode. Please use your reader to read the following symbol. the 2D symbol and the linear symbol are assembled to generate an EAN. Description: In the Aztec Code symbology specification. the encoding mode returns to the mode from which bytes mode was shifted into. Description: Specifies the vertical height of the bottom quiet zone in modules. if the output text is "~~~a9a9a9\\\". A.1. Syntax: property BytesAlwaysBackToUpper: Boolean. please set the property to true.1. if the output text is "~~~a9a9a9TTT".UCC composite barcode symbol. For some readers.UCC composite barcode symbol. change the property to true in order to ensure barcode symbols can be read by these readers.12 Compact (TBarcode2D_PDF417. the bottom boundaries of the linear symbol. the bottom quiet zone is close to the bottom boundaries of entire EAN. namely. Otherwise. TBarcode2D_CCB. The quiet zone is represented using the color specified by the SpaceColor property if the Inversed property is set to false.11 BytesAlwaysBackToUpper (TBarcode2D_AztecCode) The property is an advanced feature which allows low level control over data encoding for an Aztec Code symbol. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): This property is useful only when the ShowQuietZone property value is set to true. TBarcode2D_CCC) 122 . if the Linear property is set. Syntax: property BottomQuietZone: Integer. please set the property to false. For the TBarcode2D_CCA. It's a variant of PDF417 symbol which begins with PDF417 codeword 920. Syntax: property Compact: Boolean. Description: For the CC-C 2D component in an ENA.2D Barcode VCL Components User Manual Specifies whether the PDF417 barcode symbol is generated in Compact PDF417 format. Based on the stretch order (specified by the StretchOrder property). The property specifiies whether the PDF417 barcode symbol is generated in Compact PDF417 format.13 CurrentColumns (TBarcode2D_CCC) Contains the factual number of columns of the CC-C 2D component in an EAN. See diagram: For the CC-C 2D component of an EAN.g. The property can be one of values from 1 to 30. See also the "Compact PDF417" section in the "TBarcode2D_PDF417" article and "Symbol size" section in the "TBarcode2D_CCC" article. This reduction version is called Compact PDF417.. it's a variant ofPDF417 symbol and similar with the PDF417 barcode symbol. the property specifies whether its right row indicators should be omitted and its stop pattern should be reduced to one module width bar. the right row indicators of a PDF417 symbol may be omitted and the stop pattern may be reduced to one module width bar.1. Description: In an environment where space considerations are a primary concern and symbol damage is unlikely (e. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. property CurrentColumns: TPDF417_Columns.UCC composite barcode symbology. which is fully decoder compatible with standard PDF417. the Compact PDF417 was referred as Truncated PDF417 in previous standard. A.UCC composite barcode symbol. Read the property to retrieve the factual number of columns of the CC-C 2D component. The CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Columns = 1. or the CC-C 2D component of an EAN. See diagram: Note. The maximum number of columns (specified by the MaxColumns property) and the maximum number of stacked rows (specified by the MaxRows property) indicate the maximum symbol size for it.UCC composite barcode symbol is generated in Compact format. 123 .UCC composite barcode symbol.30. They are defined in the pPDF417Custom unit. an office). denotations the factual number of columns of a CC-C 2D barcode symbol. the minimum number of columns (specified by the MinColumns property) and the minimum number of stacked rows (specified by the MinRows property) indicate the minimum symbol size for the CC-C 2D component of the EAN.UCC composite barcode symbol.UCC composite barcode symbol. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Columns = 1. They are defined in the pPDF417Custom unit. The property is read only. denotations the factual number of columns of a PDF417 2D barcode symbol. corresponding to the ECC levels from 1 to 8.1. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. property CurrentColumns: TPDF417_Columns. A. Description: The minimum number of columns (specified by the MinColumns property) and the minimum number of rows (specified by the MinRows property) indicate the minimum symbol size for a PDF417 barcode symbol. property CurrentECCLevel: TCompactMatrix_EccLevel. If the ECCLevelUpgrade property is set to true. See also the "Symbol size" section in the "TBarcode2D_PDF417" article. The maximum number of columns (specified by the MaxColumns property) and the maximum number of rows (specified by the MaxRows property) indicate the maximum symbol size for the PDF417 barcode symbol. The property can be one of values from 1 to 30. Syntax: type { Defined in the pCompactMatrix unit } TCompactMatrix_EccLevel = 1. Based on the stretch order (specified by the StretchOrder property). the remaining data capacity of a Compact Matrix barcode symbol will be used to automatically upgrade the error correction code level. See also the "Symbol size" section in the "TBarcode2D_CCC" article. Read the property to retrieve the factual error correction code level of the Compact Matrix barcode symbol. Read the property to retrieve the factual number of columns of the PDF417 barcode symbol. 124 ... the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols.15 CurrentECCLevel (TBarcode2D_CompactMatrix) Contains the factual error correction code level of a Compact Matrix barcode symbol.30.14 CurrentColumns (TBarcode2D_PDF417) Contains the factual number of columns of a PDF417 barcode symbol. Description: The property always contains the factual error correction code level of a Compact Matrix barcode symbol. It can be one of values from 1 to 8.2D Barcode VCL Components User Manual The property is read only. A.8.1. 125 . Read the property to retrieve the factual error correction code level of the Data Matrix (ECC 000 . property CurrentECCLevel: TGridMatrix_EccLevel. dmECC050.140) barcode symbol will be used to automatically upgrade the error correction code level. elLevel_LowestRecommend). dmECC100. Description: The property always contains the factual error correction code level of a Data Matrix (ECC 000 . corresponding to error correction code level ECC 000. Syntax: type { Defined in the pDataMatrix unit } TDataMatrix_ECCLevel = (dmECC000.140) barcode symbol.140) barcode symbol.17 CurrentECCLevel (TBarcode2D_GridMatrix) Contains the factual error correction code level of a Grid Matrix barcode symbol. The value of this property is always equal to the value of the ECCLevel property. They are defined in the pDataMatrix unit. A. dmECC140). Syntax: type { Defined in the pGridMatrix unit } TGridMatrix_EccLevel = (elLevel_Recommend. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. property CurrentECCLevel: TDataMatrix_ECCLevel. elLevel_4.1. dmECC080.1. and ECC 140. elLevel_1.16 CurrentECCLevel (TBarcode2D_DataMatrix) Contains the factual error correction code level of a Data Matrix (ECC 000 . ECC 100. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_CompactMatrix" article. If the ECCLevelUpgrade property is set to false. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_DataMatrix" article.2D Barcode VCL Components User Manual If the ECCLevelUpgrade property is set to false. A. The property is read only. If the ECCLevelUpgrade property is set to true. Description: The Grid Matrix symbology offers five levels of error correction. ECC 050. the error correction code level specified by the ECCLevel property will be used always. elLevel_3. from 1 to 5 respectively in increasing order of recovery capacity. ECC 080. dmECC100. elLevel_2. and dmECC140.140) barcode symbol. the remaining data capacity of a Data Matrix (ECC 000 . The property is read only. The value of this property is always equal to the value of the ECCLevel property. It can be one of five values dmECC000. elLevel_5. the error correction code level specified by the ECCLevel property will be used always. dmECC080. dmECC050. Syntax: type { Defined in the pHanXinCode unit } THanXinCode_EccLevel = (elLevel_1. It can be one of these values (defined in the pHanXinCode unit): elLevel_1: The ECC level of a Han Xin Code barcode symbol is L1. If the ECCLevelUpgrade property is set to false. from L1 to L4 respectively in increasing order of recovery capacity. The recevory capacities (approx. elLevel_3: The ECC level of a Grid Matrix barcode symbol is 3. the error correction code level specified by the ECCLevel property will be used always. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_GridMatrix" article. The property is read only. elLevel_2.) is 8%. The percentage of total capacity for ECC data is 40%. The recevory capacities (approx. The percentage of total capacity for ECC data is 30%. If the ECCLevelUpgrade property is set to false.2D Barcode VCL Components User Manual The property always contains the factual error correction code level of a Grid Matrix barcode symbol. elLevel_4: The ECC level of a Grid Matrix barcode symbol is 4. elLevel_5: The ECC level of a Grid Matrix barcode symbol is 5. the error correction code level specified by the ECCLevel property will be used always.) is 23%. The recevory capacities (approx. elLevel_3. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_HanXinCode" article. It can be one of these values (defined in the pGridMatrix unit): elLevel_1: The ECC level of a Grid Matrix barcode symbol is 1. If the ECCLevelUpgrade property is set to true. The percentage of total capacity for ECC data is 20%. The value of this property is always equal to the value of the ECCLevel property. the remaining data capacity of a Grid Matrix barcode symbol will be used to automatically upgrade the error correction code level. The percentage of total capacity for ECC data is 10%. elLevel_2: The ECC level of a Grid Matrix barcode symbol is 2. Read the property to retrieve the factual error correction code level of the Grid Matrix barcode symbol. property CurrentECCLevel: THanXinCode_EccLevel. The property always contains the factual error correction code level of a Han Xin Code barcode symbol. the remaining data capacity of a Han Xin Code barcode symbol will be used to automatically upgrade the error correction code level. elLevel_3: The ECC level of a Han Xin Code barcode symbol is L3. 126 . the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. Description: The Han Xin Code symbology offers four levels of error correction.) is 30%. elLevel_4). elLevel_2: The ECC level of a Han Xin Code barcode symbol is L2. The recevory capacities (approx. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols.18 CurrentECCLevel (TBarcode2D_HanXinCode) Contains the factual error correction code level of a Han Xin Code barcode symbol. If the ECCLevelUpgrade property is set to true. The percentage of total capacity for ECC data is 50%. The property is read only. The value of this property is always equal to the value of the ECCLevel property.1. A.) is 15%. elLevel_4: The ECC level of a Han Xin Code barcode symbol is L4. Read the property to retrieve the factual error correction code level of the Han Xin Code barcode symbol. Read the property to retrieve the factual error correction code level of the Micro QR Code barcode symbol.19 CurrentECCLevel (TBarcode2D_MicroQRCode) Contains the factual error correction code level of a Micro QR Code barcode symbol. or of the CC-C 2D component in an 127 . elEcc_Auto).20 CurrentECCLevel (TBarcode2D_PDF417. elQuality: The ECC level of a Micro QR Code barcode symbol is Q. elEcc_8. Description: The property always contains the factual error correction code level of a Micro QR Code barcode symbol. elEcc_4.2D Barcode VCL Components User Manual A. elEcc_7. The capability of recovery from the amounts of damage is 25%. elEcc_2. property CurrentECCLevel: TMicroQRCode_ECCLevel. elEcc_1. elEcc_6. The value of this property is always equal to the value of the ECCLevel property. TBarcode2D_CCC) Contains the factual error correction code level of a PDF417 barcode symbol. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. property CurrentECCLevel: TPDF417_EccLevel. The capability of recovery from the amounts of damage is 15%. If the ECCLevelUpgrade property is set to false. Syntax: type { Defined in the pMicroQRCode unit } TMicroQRCode_ECCLevel = (elLowest. elQuality). The property is read only. elMedium: The ECC level of a Micro QR Code barcode symbol is M. or of the CC-C 2D component in an EAN. Description: The property always contains the factual error correction code level of a PDF417 barcode symbol. A.1. It can be one of these values (defined in the pMicroQRCode unit): elLowest: The ECC level of a Micro QR Code barcode symbol is L. the remaining data capacity of a Micro QR Code barcode symbol will be used to automatically upgrade the error correction code level. The capability of recovery from the amounts of damage is 7%. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_MicroQRCode" article. If the ECCLevelUpgrade property is set to true. elMedium.1. elEcc_5. the error correction code level specified by the ECCLevel property will be used always.UCC composite barcode symbol. elEcc_3. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_EccLevel = (elEcc_0. UCC composite barcode symbol. The property is read only. A. the error correction code level specified by the ECCLevel property will be used always. elHighest: The ECC level of a QR Code barcode symbol is H.22 CurrentEncodeMode 128 . If the ECCLevelUpgrade property is set to false. will be used to automatically upgrade the error correction code level. depending on the length of barcode text. If the ECCLevelUpgrade property is set to true. Read the property to retrieve the factual error correction code level of the QR Code barcode symbol. the value of this property is always equal to the value of the ECCLevel property.1. elQuality. elMedium: The ECC level of a QR Code barcode symbol is M.1. elQuality: The ECC level of a QR Code barcode symbol is Q. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_PDF417" and "TBarcode2D_CCC" articles.UCC composite barcode symbol. Description: The property always contains the factual error correction code level of a QR Code barcode symbol. If the ECCLevelUpgrade property is set to true. The value of this property is always equal to the value of the ECCLevel property. the error correction code level specified by the ECCLevel property will be used always. elHighest). The capability of recovery from the amounts of damage is 25%.UCC composite barcode symbology. The capability of recovery from the amounts of damage is 7%. corresponding to error correction code level from ECC 0 to ECC 8. Syntax: type { Defined in the pQRCode unit } TQRCode_ECCLevel = (elLowest. The CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN. If the ECCLevelUpgrade property is set to false. It can be one of these values (defined in the pQRCode unit): elLowest: The ECC level of a QR Code barcode symbol is L. A. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_QRCode" article. Read the property to retrieve the factual error correction code level. the remaining data capacity of a PDF417 barcode symbol.21 CurrentECCLevel (TBarcode2D_QRCode) Contains the factual error correction code level of a QR Code barcode symbol. the remaining data capacity of a QR Code barcode symbol will be used to automatically upgrade the error correction code level. The capability of recovery from the amounts of damage is 30%. They are defined in thepPDF417Custom unit. property CurrentECCLevel: TQRCode_ECCLevel. The highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. The capability of recovery from the amounts of damage is 15%. It can be one of values fromelEcc_0 to elEcc_8. The property is read only. If the ECCLevel property is set to one of values from elECC_0 to elECC_8. If the ECCLevel property is set to elEcc_Auto. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. the value of this property is the recommended minimum ECC level.2D Barcode VCL Components User Manual EAN. or of the CC-C 2D component in an EAN. elMedium. If the InitialMode property isn't set to emAuto. depending on the barcode text in order to minimize the symbol size. Syntax: type { Defined in the pDataMatrix unit } TDataMatrix_EncodeMode = (emAuto. emPunctuation. See also the "Encoding modes" section in the "TBarcode2D_DataMatrix" article. emModeC_FNC1. emAlpha. If the EncodeMode property isn't set to emAuto. You can read this property to get the factual initial mode. Alpha (Base 27). ASCII. emMode_Extended). emModeC_Shift2B. Punctuation (Base 37). and extended data length mode. It can be one of these values: emNumeric. emModeB_FNC1. It can be one of these values: emModeA. and emBinary. and emBinary. A. You can read this property to get the factual data encoding mode. depending on the barcode text in order to minimize the symbol size. The property is read only. emNumeric. emAlpha. emModeB. the initial mode will be selected automatically. emModeB_FNC1. property CurrentMode: TCode16K_EncodeMode. Alphanumeric (Base 41). If the EncodeMode property is set to emAuto.23 CurrentMode (TBarcode2D_Code16K) Contains the factual initial mode of a Code 16K barcode symbol.2D Barcode VCL Components User Manual (TBarcode2D_DataMatrix) Contains the factual data encoding mode of a Data Matrix (ECC 000 . emASCII. emAlpha. Syntax: type { Defined in the pCode16K unit } TCode16K_EncodeMode = (emAuto. See also the "Initial modes" section in the "TBarcode2D_Code16K" article. emASCII. It can be one of these value: emModeA. emModeC_FNC1. emModeC. emModeC. emModeC_FNC1. They are defined in the pDataMatrix unit. emModeB. emModeC. Description: Read the property to retrieve the factual initial mode of a Code 16K barcode symbol. emModeC_Shift1B. and emMode_Extended. the value of this property is equal to the value of EncodeMode property. If the InitialMode property is set to emAuto. Description: Read the property to retrieve the factual data encoding mode of a Data Matrix (ECC 000 . The property is read only. and Binary encoding modes. corresponding to the Numeric (Base 11).140) barcode symbol. the data encoding mode will be selected automatically. emModeB_FNC1. emAlphanumeric. emModeA. corresponding to the initial modes 0 to 6. or emModeC_Shift2B. property CurrentEncodeMode: TDataMatrix_EncodeMode. emAlphanumeric. They are defined in the pCode16K unit. emPunctuation. 129 . emASCII. emAlphanumeric. emModeC_Shift1B. the value of this property is equal to the value of InitialMode property. emPunctuation. emBinary).1. It can be one of these value: emNumeric. emModeC_Shift2B. emModeB. emModeC_Shift1B.140) barcode symbol. 6. Description: For the CC-A 2D component in an ENA. Syntax: type { Defined in the pCCA unit } TCCA_Rows = (ccaRow_3. The property can be one of these values: ccaRow_3.2D Barcode VCL Components User Manual A. ccaRow_6. It can be one of values from 2 to 6. You can read this property to get the factual mode. ccaRow_5.6.24 CurrentMode (TBarcode2D_MaxiCode) Contains the factual mode of a MaxiCode barcode symbol. ccaRow_6. ccaRow_5. ccaRow_7.1. 130 . 10. ccaRow_10. Description: Read the property to retrieve the factual mode of a MaxiCode barcode symbol. ccaRow_9. They are defined in the pCCA unit. 5. A. Read the property to retrieve the factual number of stacked rows of the CC-A 2D component in the ENA. and 12. ccaRow_8. ccaRow_9. ccaRow_4. If the AutoMode property is set to false. the valueccaRow_6 denotations the factual number of rows is 6 stacked rows. the value of this property is equal to the value of Mode property. For example.25 CurrentRows (TBarcode2D_CCA) Contains the factual number of stacked rows of the CC-A 2D component in an ENA. 4. corresponding to the number of stacked rows 3. and ccaRow_12. They are defined in the pMaxiCode unit. 8. The CC-A is one of the three choices for the 2D component in a barcode symbol encoded in EAN. the mode of MaxiCode symbol will be selected automatically.UCC composite barcode symbol. ccaRow_8. ccaRow_7. ccaRow_10. property CurrentRows: TCCA_Rows. depending on the barcode text and the value of Mode property. ccaRow_4. If the AutoMode property is set to Ture.UCC composite barcode symbol. property CurrentMode: TMaxiCode_Mode. Syntax: type { Defined in the pMaxiCode unit } TMaxiCode_Mode = 2.UCC composite barcode symbology.UCC composite barcode symbol. 7. ccaRow_12). denotations the factual mode of a MaxiCode 2D barcode symbol. the smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by the MinRows property) and the maximum number of stacked rows (specified by the MaxRows property).1. 9.. The property is read only. See also the "Modes" section in the "TBarcode2D_MaxiCode" article. the minimum number of stacked rows (specified by the MinRows property) and the minimum number of columns (specified by the MinColumns property) indicate the minimum symbol size for t h e CC-C 2D component of an EAN. For example. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Rows = 3. 32..2D Barcode VCL Components User Manual The property is read only. ccbRow_12.UCC composite barcode symbol. Syntax: type { Defined in the pCCB unit } TCCB_Rows = (ccbRow_4. property CurrentRows: TPDF417_Rows. ccbRow_44). A. 15. ccbRow_32. ccbRow_10. ccbRow_11. ccbRow_15. A. ccbRow_14. 38 and 44.90. The property is read only. corresponding to the number of stacked rows 4. ccbRow_17. 14. ccbRow_12. property CurrentRows: TCCA_Rows.UCC composite barcode symbol. ccbRow_23. 11. See also the "Symbol sizes" section in the "TBarcode2D_CCA" article.27 CurrentRows (TBarcode2D_CCC) Contains the factual number of stacked rows of the CC-C 2D component in an EAN. The maximum number of stacked rows (specified by the MaxRows property) and the maximum number of columns (specified by the MaxColumns property) indicate the maximum symbol size 131 . ccbRow_8. ccbRow_20. and ccbRow_44. They are defined in the pCCB unit.UCC composite barcode symbol.UCC composite barcode symbol.UCC composite barcode symbol. The CC-B is one of the three choices for the 2D component in a barcode symbol encoded in EAN. 20. ccbRow_14. 17. ccbRow_23. ccbRow_11.1. 6.1. 10. ccbRow_10. Description: For the CC-B 2D component in an ENA. the valueccbRow_6 denotations the factual number of rows is 6 stacked rows. ccbRow_20. 23. ccbRow_15. Read the property to retrieve the factual number of stacked rows of the CC-B 2D component in the ENA. ccbRow_6. ccbRow_38.26 CurrentRows (TBarcode2D_CCB) Contains the factual number of stacked rows of the CC-B 2D component in an ENA. the smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by the MinRows property) and the maximum number of stacked rows (specified by the MaxRows property). 8. ccbRow_8. ccbRow_6. ccbRow_26. 12. ccbRow_32. ccbRow_17.UCC composite barcode symbol. 26. Description: For the CC-C 2D component in an ENA. The property can be one of these values: ccbRow_4.UCC composite barcode symbology. ccbRow_26. See also the "Symbol sizes" section in the "TBarcode2D_CCB" article. ccbRow_38. 16.1. Based on the stretch order (specified by the StretchOrder property). A. The property is read only.2D Barcode VCL Components User Manual for it. See also the "Symbol sizes" section in the "TBarcode2D_Code16K" article.. Read the property to retrieve the factual number of stacked rows of the CC-C 2D component.UCC composite barcode symbology. They are defined in the pPDF417Custom unit. They are defined in the pCode16K unit.28 CurrentRows (TBarcode2D_Code16K) Contains the factual number of stacked rows of a Code 16K barcode symbol. property CurrentRows: TCode16K_Rows. The property can be one of values from 2 to 16. Description: The smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by the MinRows property) and the maximum number of stacked rows (specified by the MaxRows property). See also the "Symbol size" section in the "TBarcode2D_CCC" article. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size.. The property can be one of values from 3 to 90. The maximum number of stacked rows (specified by the MaxRows property) and the maximum number of columns (specified by the MaxColumns property) indicate the 132 . Description: The minimum number of stacked rows (specified by the MinRows property) and the minimum number of columns (specified by the MinColumns property) indicate the minimum symbol size for a PDF417 barcode symbol. The property is read only. The CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN.1. Syntax: type { Defined in the pCode16K unit } TCode16K_Rows = 2. Read the property to retrieve the factual number of stacked rows of a Code 16K barcode symbol. A. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Rows = 3.29 CurrentRows (TBarcode2D_PDF417) Contains the factual number of stacked rows of a PDF417 barcode symbol. property CurrentRows: TPDF417_Rows. denotations the factual number of rows. denotations the factual number of rows.90. It's a variant of PDF417 symbol which begins with PDF417 codeword 920. The maximum version (specified by the MaxVersion property) and the maximum number of segments (specified by the MaxSegments property) indicate the maximum symbol size for the Compact Matrix barcode symbol. denotations the factual number of segments of a Compact Matrix 2D barcode symbol. azSize_27Compact. azSize_83. azSize_19Compact. azSize_23Compact. See also the "Symbol sizes" section in the "TBarcode2D_CompactMatrix" article. The property is read only. Syntax: type { Defined in the pAztecCode unit } TAztecCode_Size = (azSize_15Compact.. azSize_67. azSize_61.31 CurrentSize (TBarcode2D_AztecCode) Contains the factual symbol size of an Aztec Code barcode symbol. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size.30 CurrentSegments (TBarcode2D_CompactMatrix) Contains the factual number of segments of a Compact Matrix barcode symbol. azSize_19. The property can be one of values from 3 to 90. They are defined in the pCompactMatrix unit. Based on the stretch order (specified by the StretchOrder property).1. The property is read only. 133 . each Compact Matrix symbol consists of an array of segments with a minimum of 1 segment (maximum 32 segments). property CurrentSegments: TCompactMatrix_Segments. azSize_57. Read the property to retrieve the factual number of stacked rows of the PDF417 barcode symbol. The minimum version (specified by the MinVersion property) and the minimum number of segments (specified by the MinSegments property) indicate the minimum symbol size for a Compact Matrix barcode symbol. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. azSize_87. See also the "Symbol size" section in the "TBarcode2D_PDF417" article. azSize_27. Syntax: type { Defined in the pCompactMatrix unit } TCompactMatrix_Segments = 1. azSize_71. Read the property to retrieve the factual number of segments of the Compact Matrix barcode symbol. The property can be one of values from 1 to 32. Based on the stretch order (specified by the StretchOrder property). azSize_49.1. azSize_41. Description: In horizontal orientation. azSize_37. azSize_23. azSize_45. A.2D Barcode VCL Components User Manual maximum symbol size for the PDF417 barcode symbol. denotations the factual number of rows. azSize_31. azSize_53. They are defined in the pPDF417Custom unit.32. azSize_75. A. azSize_79. Syntax: type { Defined in the pDataMatrix unit } TDataMatrix_Size = (dmSize_09_09. azSize_143. Read the property to retrieve the factual symbol size of an Aztec Code barcode symbol. azSize_125. azSize_131. azSize_135. The property can be one of values from azSize_15Compact to azSize_151. dmSize_29_29. dmSize_33_33. dmSize_17_17. denotations the factual number of rows and columns in current symbol.140) barcode symbol. The property can be one of values from dmSize_09_09 to dmSize_49_49. dmSize_47_47. See also the "Symbol sizes" section in the "TBarcode2D_DataMatrix" article. Syntax: 134 . property CurrentSize: TAztecCode_Size.2D Barcode VCL Components User Manual azSize_91.140) barcode symbol. These symbol size values are defined in the pAztecCode unit. dmSize_43_43.33 CurrentSize (TBarcode2D_DataMatrixECC200) Contains the factual symbol size of a Data Matrix (ECC 200) barcode symbol. A. azSize_121. A. Description: The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by the MinSize property and the maximum symbol size specified by the MaxSize property. azSize_139. For example.140) symbol size is 29 rows by 29 columns. azSize_147. dmSize_27_27. dmSize_45_45. azSize_151).1. dmSize_11_11. Read the property to retrieve the factual symbol size of a Data Matrix (ECC 000 . the symbol size value azSize_19Compact denotations the Aztec Code symbol size is 19 rows by 19 columns. dmSize_31_31. azSize_117. azSize_105. The property is read only. azSize_109. dmSize_35_35. dmSize_13_13. dmSize_41_41. These symbol size values are defined in the pDataMatrix unit. For example.1. dmSize_23_23. dmSize_19_19. Description: The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by the MinSize property and the maximum symbol size specified by the MaxSize property. dmSize_15_15. azSize_113.32 CurrentSize (TBarcode2D_DataMatrix) Contains the factual symbol size of a Data Matrix (ECC 000 . dmSize_49_49). azSize_101. the symbol size value dmSize_29_29 denotations the Data Matrix (ECC 000 . dmSize_21_21. denotations the factual format. dmSize_39_39. property CurrentSize: TDataMatrix_Size. dmSize_37_37. See also the "Symbol sizes" section in the "TBarcode2D_AztecCode" article. azSize_95. dmSize_25_25. number of rows and columns in current symbol. in compact format. The property is read only. mpSize_2_23. mpSize_2_8. denotations the factual number of columns and rows in current symbol. mpSize_3_44. The property is read only. Read the property to retrieve the factual symbol size of a Data Matrix (ECC 200) barcode symbol. mpSize_3_38. mpSize_3_32. dmSize_8_18. mpSize_2_11. Description: The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by the MinSize property and the maximum symbol size specified by the MaxSize property. dmSize_20_20. mpSize_4_10. the symbol size value dmSize_8_18 denotations the Data Matrix (ECC 200) symbol size is 8 rows by 18 columns. dmSize_44_44. dmSize_8_32. dmSize_16_16. mpSize_3_20. mpSize_3_12. property CurrentSize: TDataMatrixEcc200_Size. dmSize_48_48. mpSize_3_26. The property is read only. mpSize_2_14. property CurrentSize: TMicroPDF417_Size. dmSize_40_40. mpSize_1_20. dmSize_96_96. The property can be one of values from dmSize_10_10 to dmSize_16_48. dmSize_36_36. dmSize_132_132. mpSize_2_20. dmSize_12_36. mpSize_4_26. dmSize_64_64. mpSize_3_10. dmSize_22_22. 135 . mpSize_3_8. mpSize_2_26. mpSize_1_17. See also the "Symbol sizes" section in the "TBarcode2D_MicroPDF417" article.1. dmSize_16_48). dmSize_14_14. mpSize_4_32. the symbol size value mpSize_3_12 denotations the MicroPDF417 symbol size is 12 stacked rows by 3 columns. These symbol size values are defined in the pDataMatrixEcc200 unit. Read the property to retrieve the factual symbol size of an MicroPDF417 barcode symbol. mpSize_1_28. mpSize_4_6. mpSize_3_6. mpSize_4_20. mpSize_4_44). dmSize_144_144. For example. The property can be one of values from mpSize_1_11 to mpSize_4_44. A. Description: The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by the MinSize property and the maximum symbol size specified by the MaxSize property. dmSize_12_12.2D Barcode VCL Components User Manual type { Defined in the pDataMatrixEcc200 unit } TDataMatrixEcc200_Size = (dmSize_10_10. dmSize_12_26. mpSize_4_12. mpSize_1_24. mpSize_1_14. dmSize_120_120. mpSize_4_8.34 CurrentSize (TBarcode2D_MicroPDF417) Contains the factual symbol size of an MicroPDF417 barcode symbol. mpSize_2_17. See also the "Symbol sizes" section in the "TBarcode2D_DataMatrixECC200" article. dmSize_16_36. dmSize_88_88. Syntax: type { Defined in the pMicroPDF417 unit } TMicroPDF417_Size = (mpSize_1_11. dmSize_32_32. dmSize_80_80. denotations the factual number of rows and columns in current symbol. dmSize_24_24. mpSize_3_15. mpSize_4_15. dmSize_52_52. dmSize_104_104. These symbol size values are defined in the pMicroPDF417 unit. For example. dmSize_26_26. mpSize_4_38. mpSize_4_4. dmSize_18_18. dmSize_72_72. They are defined in the pCompactMatrix unit.13. Read the property to retrieve the factual version value of the Compact Matrix barcode symbol. See also the "Symbol sizes" section in the "TBarcode2D_GridMatrix" article. Read the property to retrieve the factual symbol version (symbol size) of a Grid Matrix barcode symbol. They are defined in the pGridMatrix unit.1. Syntax: type { Defined in the pGridMatrix unit } TGridMatrix_Version = 1. 136 . property CurrentVersion: TCompactMatrix_Version.. Description: There are 32 vertical sizes of Compact Matrix symbol. property CurrentVersion: TGridMatrix_Version.1.2D Barcode VCL Components User Manual A. Description: There are thirteen sizes of Grid Matrix symbol. denotations the factual version of a Grid Matrix 2D barcode symbol. referred to as version 1 to 13. The maximum version (specified by the MaxVersion property) and the maximum number of segments (specified by the MaxSegments property) indicate the maximum symbol size for the Compact Matrix barcode symbol. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. The property can be one of values from 1 to 13. in increasing order of symbol height and data capacity. The property is read only. The property can be one of values from 1 to 32.. See also the "Symbol sizes" section in the "TBarcode2D_CompactMatrix" article. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by the MinVersion property and the maximum symbol version (symbol size) specified by the MaxVersion property. The minimum version (specified by the MinVersion property) and the minimum number of segments (specified by the MinSegments property) indicate the minimum symbol size for a Compact Matrix barcode symbol.36 CurrentVersion (TBarcode2D_GridMatrix) Contains the factual symbol version (symbol size) of a Grid Matrix barcode symbol.32.35 CurrentVersion (TBarcode2D_CompactMatrix) Contains the factual version value of a Compact Matrix barcode symbol. referred to as version 1 to 32. Syntax: type { Defined in the pCompactMatrix unit } TCompactMatrix_Version = 1. The property is read only. denotations the factual version value. Based on the stretch order (specified by the StretchOrder property). in increasing order of size and data capacity. A. in increasing order of size and data capacity.1. Read the property to retrieve the factual symbol version (symbol size) of a Micro QR Code barcode symbol. See also the "Symbol sizes" section in the "TBarcode2D_MicroQRCode" article. property CurrentVersion: TMicroQRCode_Version. Syntax: type { Defined in the pHanXinCode unit } THanXinCode_Version = 1. 137 .84. The property can be one of values from 1 to 4. The property is read only. referred to as version 1 to 84.2D Barcode VCL Components User Manual A. They are defined in the pHanXinCode unit..38 CurrentVersion (TBarcode2D_MicroQRCode) Contains the factual symbol version (symbol size) of a Micro QR Code barcode symbol. denotations the factual version of a Han Xin Code 2D barcode symbol. The property can be one of values from 1 to 84. denotations the factual version of a Micro QR Code 2D barcode symbol. Description: The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by the MinVersion property and the maximum symbol version (symbol size) specified by the MaxVersion property. A. The property is read only.. They are defined in the pMicroQRCode unit. Description: There are eighty-four sizes of Han Xin Code symbols. See also the "Symbol sizes" section in the "TBarcode2D_HanXinCode" article.4.1. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by the MinVersion property and the maximum symbol version (symbol size) specified by the MaxVersion property. Read the property to retrieve the factual symbol version (symbol size) of a Han Xin Code barcode symbol. property CurrentVersion: THanXinCode_Version.37 CurrentVersion (TBarcode2D_HanXinCode) Contains the factual symbol version (symbol size) of a Han Xin Code barcode symbol. Syntax: type { Defined in the pMicroQRCode unit } TMicroQRCode_Version = 1. and the OnInvalidDataLength event will occur if the length of the Data property value is invalid. TBarcode1D_UPCA. TBarcode1D_UPCE0. otherwise the check digit can be specified by you in here. Or specifies the barcode text in AnsiString format. TBarcode1D_EAN8.. TBarcode1D_EAN13. Description: The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by the MinVersion property and the maximum symbol version (symbol size) specified by the MaxVersion property. please specify the converted string in the Barcode property. it is in fact an UnicodeString instead of AnsiString.2D Barcode VCL Components User Manual A. If you want to encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early. The OnChange event will occur when the property value is changed. Syntax: type { Defined in the pQRCode unit } TQRCode_Version = 1. Read the property to retrieve the factual symbol version (symbol size) of a QR Code barcode symbol. Syntax: property Data: AnsiString. A. The OnInvalidDataChar event will occur if there is any invalid character in the Data property value. if a 2D component (including the TBarcode2D_CCA. or TBarcode1D_EAN128) is assembled to generate an EAN. or TBarcode2D_CCC) together with a linear component (including the TBarcode2D_RSS14. the Barcode property is of type AnsiString in ANSI encoding. By default. you can specify the converted string in theData property.1. then be encoded into the barcode symbol. They are defined in the pQRCode unit. If you want to use other encoding scheme (for example the UTF-8. and encode it into a barcode symbol. you can use the property to specify a block of binary (bytes) data. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. Or specifies the barcode text in the AnsiString format. For the Delphi/C++ Builder 2007 or early. TBarcode2D_CCB. theData property of the 2D component only specifies the barcode text for the 2D component.40 Data Specifies a block of binary (bytes) data to encode it into the barcode symbol. Note.39 CurrentVersion (TBarcode2D_QRCode) Contains the factual symbol version (symbol size) of a QR Code barcode symbol. The property is read only. property CurrentVersion: TQRCode_Version. for Delphi/C++ Builder 2009 or later. The Barcode property of TBarcode2D component is of type string. UTF-16).40. TBarcode2D_RSSLimited. the unicode string will be converted to an ANSI encoding string. if you want to use other encoding scheme (for example the UTF-8. TBarcode1D_UPCE1. TBarcode2D_RSSExpanded. See also the "Symbol sizes" section in the "TBarcode2D_QRCode" article. if the property AutoCheckDigit is set to true. TBarcode1D_UPCE.1. UTF-16). Description: If you use the Delphi/C++ Builder 2009 or later. and the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component only 138 . please specify it in the Barcode property. The property can be one of values from 1 to 40. denotations the factual version of a QR Code 2D barcode symbol. the check digit doesn't need to be entered in the here.UCC composite barcode symbol. A. property DefaultEncodeMode: TMicroPDF417_EncodeMode. but some readers use the Text compaction mode (Alpha sub-mode) as the initial compaction mode. tmMixed. You can use the DefaultTextEncodeMode property to specify the Text compaction sub-mode. Description: 139 . or you can change the Options property to include the "poMicroPDF417Explicit901" value. Description: The property specifies the initial compaction mode for a MicroPDF417 barcode symbol. tmLower. In the specification of MicroPDF417. A. emNull: The appropriate initial compaction mode will be introduced by an explicit mode latch depending on the barcode text. please set the property value to emNull. Syntax: type { Defined in the pMicroPDF417 unit } TMicroPDF417_EncodeMode = (emText. emNumeric. The property can be one of these values (defined in the pMicroPDF417 unit). emText: Indicates the initial compaction mode to Text compaction mode. tmPunct).2D Barcode VCL Components User Manual specifies the barcode text for the linear component. in order to explicitly insert a mode latch to Byte compaction mode into beginning of symbol data. emByte: Indicates the initial compaction mode to Byte compaction mode.42 DefaultTextEncodeMode (TBarcode2D_MicroPDF417) Specifies the initial Text compaction sub-mode for a MicroPDF417 barcode symbol if its initial compaction mode is set to Text compaction mode. emNumeric: Indicates the initial compaction mode to Numeric compaction mode. The property should be set to match your reader. the initial compaction mode in effect at the start of each symbol shall always be Byte compaction mode. Syntax: type { Defined in the pMicroPDF417 unit } TMicroPDF417_TextEncodeMode = (tmAlpha.1. emNull). property DefaultTextEncodeMode: TMicroPDF417_TextEncodeMode. If you don't known the initial compaction mode used by your reader.1. Note: The property is available only for the Delphi/C++ Builder 2009 or later.41 DefaultEncodeMode (TBarcode2D_MicroPDF417) Specifies the initial compaction mode for a MicroPDF417 barcode symbol. See also the "Character set" section in the "TBarcode2D_MicroPDF417" article. emByte. the property specify the minimum error correction size (number of codewords) for an Aztec Code symbol. tmAlpha: Indicates the initial Text compaction sub-mode to Alpha sub-mode. the initial compaction mode in effect at the start of each symbol shall always be Byte compaction mode. Syntax: type { Defined in the pAztecCode unit } TAztecCode_EccLevel = 0. A. Syntax: property ECCCount: Word. but some readers use the Text compaction mode (Alpha sub-mode) as the initial compaction mode. leaving up 89 codewords for encoding the data message. if the ECCLevel property is set to 23 and the ECCCount property is set to 3. The property specifies the initial Text compaction sub-mode for a MicroPDF417 barcode symbol if its initial compaction mode is set to Text compaction mode (the DefaultEncodeMode property is set to emText).1. a symbol (azSize_37) which holds 120 codewords should include at least 31 (120 * 23% + 3) error correction codewords. the property is available only when the DefaultEncodeMode property is set to emText. Note. tmMixed: Indicates the initial Text compaction sub-mode to Mixed sub-mode. Description: The property specifies the additional error correction size (number of codewords) for an Aztec Code symbol. the symbology will typically have to add extra error correction codewords above this minimum to fill out the symbol. the property determines the error correction level together with the ECCLevel property. property ECCLevel: TAztecCode_EccLevel.. Depending on message length. Depending on message length. See also the "Character set" section in the "TBarcode2D_MicroPDF417" and the "DefaultEncodeMode" articles. A. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_AztecCode" article. tmLower: Indicates the initial Text compaction sub-mode to Lower sub-mode. tmPunct: Indicates the initial Text compaction sub-mode to Punctuation sub-mode.43 ECCCount (TBarcode2D_AztecCode) Specifies the additional error correction size (number of codewords) for an Aztec Code symbol. If the ECCLevel property is set to 0. It should be set to match your reader.99. The property can be one of these values (defined in the pMicroPDF417 unit). the symbology will typically have to add extra error correction codewords above this minimum to fill out the symbol. For example. 140 . If the ECCLevel property isn't set to 0.1.2D Barcode VCL Components User Manual In the specification of MicroPDF417.44 ECCLevel (TBarcode2D_AztecCode) Specifies the alternate minimum error correction percentage for an Aztec Code symbol. corresponding to the ECC levels from 1 to 8. Description: The Compact Matrix symbology offers eight levels of error correction. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols.46 ECCLevel (TBarcode2D_DataMatrix) Specifies which ECC level (error correction code level) will be used to increase strength of a Data Matrix (ECC 000 . If the ECCLevelUpgrade property is set to true. corresponding to the ECC level from 0% to 99%. For example. The CurrentECCLevel property can always be used to get the factual error correction code level. property ECCLevel: TCompactMatrix_EccLevel. The property specifies which ECC level (error correction code level) will be used to increase strength of a Compact Matrix barcode symbol. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_AztecCode" article.8. leaving up 89 codewords for encoding the data message.. A. for data security.2D Barcode VCL Components User Manual Description: The property specifies the alternate minimum error correction percentage for an Aztec Code symbol (defined in the pAztecCode unit). Syntax: 141 . from 1 to 8 respectively in increasing order of recovery capacity. the symbology will typically have to add extra error correction codewords above this minimum to fill out the symbol. Depending on message length. and the error correction code level specified by this property. depending on message length. It can be one of values from 1 to 8. Note. if the ECCLevel property is set to 23 and the ECCCount property is set to 3. and the symbol size will not be increased. Syntax: type { Defined in the pCompactMatrix unit } TCompactMatrix_EccLevel = 1. ranging from 0% to 99% plus always. The property can be one of values from 0 to 99.1. the symbology will typically have to add extra error correction codewords above this minimum to fill out the symbol. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_CompactMatrix" article. 3 or more additional error correction codewords (specified by the ECCCount property). They are defined in the pAztecCode unit. This is called a "minimum" percentage because. a symbol (azSize_37) which holds 120 codewords should include at least 31 (120 * 23% + 3) error correction codewords. it may be determined depending on the length of barcode text. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. It determines the error correction level together with the ECCCount property.140) barcode symbol.45 ECCLevel (TBarcode2D_CompactMatrix) Specifies which ECC level (error correction code level) will be used to increase strength of a Compact Matrix barcode symbol. the new level is always no lower than the level specified by this property. A.1. In other words. Description: The Data Matrix (ECC 000 . Note. Description: The Grid Matrix symbology offers five levels of error correction. it may be determined depending on the length of barcode text. A.8% damage can be corrected. Syntax: type { Defined in the pGridMatrix unit } TGridMatrix_EccLevel = (elLevel_Recommend. dmECC080. dmECC050. In other words. The property specifies which ECC level (error correction code level) will be used to increase strength of a Data Matrix (ECC 000 . elLevel_3. elLevel_5. 25% data capacity is used for error correction. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. property ECCLevel: TGridMatrix_EccLevel. dmECC140: Indicates to use the ECC 140. up to 5. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_DataMatrix" article. no error correction. 75% data capacity is used for error correction. and offer different levels of error recovery. It can be one of these values (defined in the pDataMatrix unit): dmECC000: Indicates to use the ECC 000. elLevel_1. The CurrentECCLevel property can always be used to get the factual error correction code level.47 ECCLevel (TBarcode2D_GridMatrix) Specifies which ECC level (error correction code level) will be used to increase strength of a Grid Matrix barcode symbol. 142 . elLevel_2: Indicates to use the ECC level 2. dmECC080: Indicates to use the ECC 080. it is important to understand that these error correction levels result in the generation of a proportional increase in the number of bits in the message (and hence increase in the size of the symbol). and the symbol size will not be increased. ECC 050. referred to as ECC 000. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. dmECC140). dmECC050: Indicates to use the ECC 050. up to 25% damage can be corrected. elLevel_LowestRecommend). dmECC100.140) barcode symbol.2D Barcode VCL Components User Manual type { Defined in the pDataMatrix unit } TDataMatrix_ECCLevel = (dmECC000. up to 12. from 1 to 5 respectively in increasing order of recovery capacity. it is inapplicable to the version 1.140) symbology offers five levels of error correction. the new level is always no lower than the level specified by this property. elLevel_2. Note. The percentage of total capacity for ECC data is 20%. up to 2. namely. elLevel_4. dmECC100: Indicates to use the ECC 100.3% data capacity is used for error correction.6% damage can be corrected.5% damage can be corrected. property ECCLevel: TDataMatrix_ECCLevel. If the ECCLevelUpgrade property is set to true. The property specifies which ECC level (error correction code level) will be used to increase strength of a Grid Matrix barcode symbol. 33. ECC 100 and ECC 140 respectively in increasing order of recovery capacity. and the error correction code level specified by this property. The percentage of total capacity for ECC data is 10%. ECC 080. 50% data capacity is used for error correction. In an application.1. It can be one of these values (defined in the pGridMatrix unit): elLevel_1: Indicates to use the ECC level 1. The percentage of total capacity for ECC data is 50%. A.) is 15%. elLevel_3. and the error correction code level specified by this property.1. The percentage of total capacity for ECC data is 40%. elLevel_Recommend: For each symbol version. from L1 to L4 respectively in increasing order of recovery capacity. The CurrentECCLevel property can always be used to get the factual error correction code level. The recevory capacities (approx. elLevel_3: Indicates to use the ECC level L3. the denotative ECC levels are listed in the following table: Version Denotative ECC level 1 ECC level 5 2. 3 ECC level 4 4 .2D Barcode VCL Components User Manual elLevel_3: Indicates to use the ECC level 3. it may be determined depending on the length of barcode text. the denotative ECC levels are listed in the following table: Version Denotative ECC level 1 ECC level 4 2 ECC level 2 3 .) is 30%. elLevel_4). the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. only the remaining capacity in current symbol size will be used to upgrade the error correction code level.) is 23%. The percentage of total capacity for ECC data is 30%. The recevory capacities (approx. If the ECCLevelUpgrade property is set to true. elLevel_4: Indicates to use the ECC level L4.13 ECC level 3 elLevel_LowestRecommend: For each symbol version.48 ECCLevel (TBarcode2D_HanXinCode) Specifies which ECC level (error correction code level) will be used to increase strength of a Han Xin Code barcode symbol. The recevory capacities (approx. elLevel_4: Indicates to use the ECC level 4. elLevel_2: Indicates to use the ECC level L2. Description: The Han Xin Code symbology offers four levels of error correction. the new level is always no lower than the level specified by this property.) is 8%. It can be one of these values (defined in the pHanXinCode unit): elLevel_1: Indicates to use the ECC level L1. the highest error correction code level that can be accommodated by current symbol 143 . Note. elLevel_5: Indicates to use the ECC level 5.13 ECC level 1 If the ECCLevelUpgrade property is set to true. property ECCLevel: THanXinCode_EccLevel. The recevory capacities (approx. elLevel_2. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_GridMatrix" article. Syntax: type { Defined in the pHanXinCode unit } THanXinCode_EccLevel = (elLevel_1. In other words. and the symbol size will not be increased. The property specifies which ECC level (error correction code level) will be used to increase strength of a Han Xin Code barcode symbol. The property specifies which ECC level (error correction code level) will be used to increase strength of a Micro QR Code barcode symbol. up to 15% (approx. the new level is always no lower than the level specified by this property. it may be determined depending on the length of barcode text. and the error correction code level specified by this property. elMedium. The CurrentECCLevel property can always be used to get the factual error correction code level. it may be determined depending on the length of barcode text. TBarcode2D_CCC) Specifies which ECC level (error correction code level) will be used to increase strength of a PDF417 barcode symbol. Syntax: type { Defined in the pMicroQRCode unit } TMicroQRCode_EccLevel = (elLowest. The CurrentECCLevel property can always be used to get the factual error correction code level. and the symbol size will not be increased.) damage can be corrected. up to 25% (approx. property ECCLevel: TMicroQRCode_EccLevel.UCC composite barcode symbol. elQuality: Indicates to use the ECC level Q. In other words. It can be one of these values (defined in the pMicroQRCode unit): elLowest: Indicates to use the ECC level L. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. only the remaining capacity in current symbol size will be used to upgrade the error correction code level.49 ECCLevel (TBarcode2D_MicroQRCode) Specifies which ECC level (error correction code level) will be used to increase strength of a Micro QR Code barcode symbol. and the symbol size will not be increased. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_HanXinCode" article. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_MicroQRCode" article.) damage can be corrected. elQuality). elMedium: Indicates to use the ECC level M. A. and the error correction code level specified by this property. the new level is always no lower than the level specified by this property. Note. If the ECCLevelUpgrade property is set to true. up to 7% (approx. Note. A.50 ECCLevel (TBarcode2D_PDF417.1.2D Barcode VCL Components User Manual size will by used for creating more robust symbols.) damage can be corrected. referred to as L. M.1. or of the CC-C 2D component in an EAN. Description: The Micro QR Code symbology offers three levels of error correction. Syntax: type 144 . the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. In other words. and Q respectively in increasing order of recovery capacity. elQuality. corresponding to the ECC level from 0 to 8. Description: The QR Code symbology offers four levels of error correction. In other words.UCC composite barcode symbology. A. and it's a variant of PDF417) offer nine levels of error correction. elEcc_2. elEcc_8. or of the CC-C 2D component in an EAN. The property specifies which ECC level (error correction code level) will be used to increase strength of a PDF417 barcode symbol. Note.2D Barcode VCL Components User Manual { Defined in the pPDF417Custom unit } TPDF417_EccLevel = (elEcc_0. it can be set to elEcc_Auto.1. Q and H respectively in increasing order of recovery capacity. indicates the recommended minimum ECC level will be used. property ECCLevel: TPDF417_EccLevel. depending on the length of barcode text. elMedium. M. it may be determined depending on the length of barcode text. property ECCLevel: TQRCode_ECCLevel. Also. they are listed in following table: Property value ECC Level Number of Error correction codewrods elECC_0 elECC_1 elECC_2 elECC_3 elECC_4 elECC_5 elECC_6 elECC_7 elECC_8 ECC 0 ECC 1 ECC 2 ECC 3 ECC 4 ECC 5 ECC 6 ECC 7 ECC 8 2 4 8 16 32 64 128 256 512 If the ECCLevelUpgrade property is set to true. only the remaining capacity in current symbol size will be used to upgrade the error correction code level. elEcc_6.UCC composite barcode symbol. Syntax: type { Defined in the pQRCode unit } TQRCode_ECCLevel = (elLowest. These ECC levels are defined in the pPDF417Custom unit. elHighest). The CurrentECCLevel property can always be used to get the factual error correction code level. elEcc_Auto). The property specifies which ECC level (error correction code level) will be used to increase strength of a QR Code barcode symbol. Description: The PDF417 symbology and the CC-C symbology (the CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN. and the symbol size will not be increased. It 145 . It can be one of values fromelECC_0 to elECC_8. and the error correction code level specified by this property. elEcc_1. elEcc_5. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_PDF417" and the "TBarcode2D_CCC" articles.51 ECCLevel (TBarcode2D_QRCode) Specifies which ECC level (error correction code level) will be used to increase strength of a QR Code barcode symbol. elEcc_7. elEcc_3. elEcc_4. referred to as ECC 0 to ECC 8 respectively in increasing order of recovery capacity. referred to as L. the new level is always no lower than the level specified by this property. Syntax: property ECCLevelUpgrade: Boolean. 146 . the error correction code level specified by the ECCLevel property will be used always. and the symbol size will not be increased. elHighest: Indicates to use the ECC level H. Note. A. only the remaining capacity in current symbol size will be used to upgrade the error correction code level.) damage can be corrected. If the ECCLevelUpgrade property is set to false. A. and the error correction code level specified by this property. up to 15% (approx. the new level is always no lower than the level specified by the ECCLevel property.) damage can be corrected. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_QRCode" article. In other words. The CurrentECCLevel property can be used to get the factual error correction code level.140) barcode symbols. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level in order to increase symbols strength. up to 25% (approx. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_CompactMatrix" article. it may be determined depending on the length of barcode text. If the ECCLevelUpgrade property is set to true. the new level is always no lower than the level specified by this property.1. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level.52 ECCLevelUpgrade (TBarcode2D_CompactMatrix) For the Compact Matrix barcode symbols. The value of CurrentECCLevel property is always equal to the value of ECCLevel property. If the ECCLevelUpgrade property is set to true.) damage can be corrected. Note. in order to increase symbols strength.) damage can be corrected.1. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. Description: For a Compact Matrix barcode symbol. the symbol size may be determined depending on the barcode text length and the error correction code level specified by the ECCLevel property. elQuality: Indicates to use the ECC level Q. Syntax: property ECCLevelUpgrade: Boolean. And the barcode text and the error correction code don't usually fill the maximum data capacity of the symbol.53 ECCLevelUpgrade (TBarcode2D_DataMatrix) For the Data Matrix (ECC 000 . The CurrentECCLevel property can always be used to get the factual error correction code level. up to 7% (approx. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level in order to increase symbols strength. elMedium: Indicates to use the ECC level M. up to 30% (approx.2D Barcode VCL Components User Manual can be one of these values (defined in the pQRCode unit): elLowest: Indicates to use the ECC level L. and the symbol size will not be increased. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level in order to increase symbols strength.140) barcode symbol. The CurrentECCLevel property can be used to get the factual error correction code level.2D Barcode VCL Components User Manual Description: For a Data Matrix (ECC 000 . the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols.54 ECCLevelUpgrade (TBarcode2D_GridMatrix) For the Grid Matrix barcode symbols. in order to increase symbols strength. A. If the ECCLevelUpgrade property is set to false. in order to increase symbols strength.1.55 ECCLevelUpgrade (TBarcode2D_HanXinCode) For the Han Xin Code barcode symbols. Syntax: property ECCLevelUpgrade: Boolean. the symbol size may be determined depending on the barcode text length and the error correction code level specified by the ECCLevel property. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level. the new level is always no lower than the level specified by the ECCLevel property. If the ECCLevelUpgrade property is set to false. And the barcode text and the error correction code don't usually fill the maximum data capacity of the symbol. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level. A. Note. Description: For a Grid Matrix barcode symbol. The value of CurrentECCLevel property is always equal to the value of ECCLevel property. Syntax: property ECCLevelUpgrade: Boolean. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_GridMatrix" article. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_DataMatrix" article. the error correction code level specified by the ECCLevel property will be used always.1. the new level is always no lower than the level specified by the ECCLevel property. And the barcode text and the error correction code don't usually fill the maximum data capacity of the symbol. If the ECCLevelUpgrade property is set to true. and the symbol size will not be increased. The value of CurrentECCLevel property is always equal to the value of ECCLevel property. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level in order to increase symbols strength. the error correction code level specified by the ECCLevel property will be used always. 147 . The CurrentECCLevel property can be used to get the factual error correction code level. Note. and the symbol size will not be increased. If the ECCLevelUpgrade property is set to true. the symbol size may be determined depending on the barcode text length and the error correction code level specified by the ECCLevel property. the error correction code level specified by the ECCLevel property will be used always. If the ECCLevelUpgrade property is set to true.1. Syntax: property ECCLevelUpgrade: Boolean. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_MicroQRCode" article.UCC composite barcode symbol.1. Note. the error correction code level specified by the ECCLevel property will be used always. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level in order to increase symbols strength. The CurrentECCLevel property can be used to get the factual error correction code level. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level. the new level is always no lower than the level specified by the ECCLevel property. If the ECCLevelUpgrade property is set to false.2D Barcode VCL Components User Manual Description: For a Han Xin Code barcode symbol. Note. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. and the symbol size will not be increased. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level.56 ECCLevelUpgrade (TBarcode2D_MicroQRCode) For the Micro QR Code barcode symbols.57 ECCLevelUpgrade (TBarcode2D_PDF417. Syntax: property ECCLevelUpgrade: Boolean. the symbol size may be determined depending on the barcode text length and the error correction code level specified by the ECCLevel property. 148 . the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level in order to increase symbols strength. And the barcode text and the error correction code don't usually fill the maximum data capacity of the symbol. and the symbol size will not be increased. A. If the ECCLevelUpgrade property is set to true. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_HanXinCode" article. the new level is always no lower than the level specified by the ECCLevel property. Description: For a Micro QR Code barcode symbol. The value of CurrentECCLevel property is always equal to the value of ECCLevel property. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. in order to increase symbols strength. the symbol size may be determined depending on the barcode text length and the error correction code level specified by the ECCLevel property. TBarcode2D_CCC) For a PDF417 barcode symbol. in order to increase symbols strength. If the ECCLevelUpgrade property is set to false. The CurrentECCLevel property can be used to get the factual error correction code level. And the barcode text and the error correction code don't usually fill the maximum data capacity of the symbol. A. The value of CurrentECCLevel property is always equal to the value of ECCLevel property. or the CC-C 2D component of an EAN. 58 ECCLevelUpgrade (TBarcode2D_QRCode) For the QR Code barcode symbols. Note. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level.1. depending on the length of barcode text. Note. the error correction code level specified by the ECCLevel property will be used always. the symbol size may be determined depending on the barcode text length and the error correction code level specified by the ECCLevel property.2D Barcode VCL Components User Manual Description: For a PDF417 barcode symbol. the new level is always no lower than the level specified by the ECCLevel property.59 EncodeMode (TBarcode2D_DataMatrix) Specifies the data encoding mode for a Data Matrix (ECC 000 . The CurrentECCLevel property can be used to get the factual error correction code level.1. Description: For a QR Code barcode symbol. the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. If the ECCLevelUpgrade property is set to true. Syntax: property ECCLevelUpgrade: Boolean. If the ECCLevel property is set to elEcc_Auto. Syntax: 149 . the highest error correction code level that can be accommodated by current symbol size will by used for creating more robust symbols. the symbol size may be determined depending on the barcode text length and the error correction code level specified by the ECCLevel property. The value of CurrentECCLevel property is always equal to the value of ECCLevel property. the error correction code level specified by the ECCLevel property will be used always. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_QRCode" article. the factual error correction code level is the recommended minimum ECC level. If the ECCLevelUpgrade property is set to false. and the symbol size will not be increased. If the ECCLevel property is set to one of values from elECC_0 to elECC_8. and the symbol size will not be increased. See also the "Error checking and correcting (ECC)" section in the "TBarcode2D_PDF417" and "TBarcode2D_CCC" articles. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level in order to increase symbols strength. the property specifies whether to use the remaining capacity to automatically upgrade the error correction code level. or the CC-C 2D component of an EAN. The CurrentECCLevel property can be used to get the factual error correction code level. the new level is always no lower than the level specified by the ECCLevel property. If the ECCLevelUpgrade property is set to true. in order to increase symbols strength. A. A. the factual error correction code level is always equal to the value of the ECCLevel property. If the ECCLevelUpgrade property is set to false.140) barcode symbol. And the barcode text and the error correction code don't usually fill the maximum data capacity of the symbol. in order to increase symbols strength.UCC composite barcode symbol. And the barcode text and the error correction code don't usually fill the maximum data capacity of the symbol. The encoding density is 4. The encoding density is 7 bits per data character. Punctuation (Base 41). The encoding mode has lowest encoding density. depending on the barcode text. point(. where the data interpretation shall be determined by the user. the barcode text to be encoded will be analysed. in order to minimize the symbol size. and the space character.140) symbology offers six kinds of encoding mode. property EncodePolicy: TQRCode_EncodePolicy. emNumeric: Indicates to use the Numeric (Base 11) encoding mode.5 bits per data character. emPunctuation: Indicates to use the Punctuation (Base 41) encoding mode. This property indicates how to use these encoding mode by the component. and the space character.8 bits per data character. A. emASCII: Indicates to use the ASCII encoding mode. It encodes all 128 ASCII characters from ISO/IEC 646. The encoding mode has highest encoding density. Syntax: type { Defined in the pQRCodeCom unit } TQRCode_EncodePolicy = (epMixingOptimal. Alphanumeric mode. Alphanumeric (Base 37). See also the "Encoding modes" section in the "TBarcode2D_DataMatrix" article. 10 numeric characters 0 to 9. 10 numeric characters 0 to 9. It encodes 10 numeric characters 0 to 9.) and solidus(/) characters. emNumeric. Description: The Micro QR Code symbology offers four kinds of encoding mode. emBinary: Indicates to use the Binary encoding mode. epSingleMode). It can be one of these values (defined in the 150 . ASCII. and Binary respectively in decreasing order of encoding density.60 EncodePolicy (TBarcode2D_MicroQRCode) Indicates how to use the encoding mode in a Micro QR Code barcode symbol. in other words.2D Barcode VCL Components User Manual type { Defined in the pDataMatrix unit } TDataMatrix_EncodeMode = (emAuto. The property CurrentEncodeMode can be used to get the factual encoding mode. epMixingQuick. emASCII. emAlphanumeric: Indicates to use the Alphanumeric (Base 37) encoding mode. The property specifies which data encoding mode will be used. emAlpha: Indicates to use the Alpha (Base 27) encoding mode. and the space. The encoding density is 8 bits per byte. and the space character. The encoding density is 3. emPunctuation.). It shall be used for closed applications. The property can be one of these values (defined in the pDataMatrix unit): emAuto: The encoding mode will be selected automatically. The encoding density is 5.5 bits per data character. and an appropriates lowest level (highest encoding density) encoding mode will be selected. hyphen(-). It encodes 26 upper case letters A to Z. emAlphanumeric. It encodes all 256 8-bit bytes. referred to as Numeric (Base 11). It encodes 26 upper case letters A to Z. referred to as Numeric mode. It encodes 26 upper case letters A to Z.25 bits per data character. The encoding density is 5. comma(. emAlpha. Alpha (Base 27). emBinary). The CurrentEncodeMode property can always be used to get the factual encoding mode. Description: The Data Matrix (ECC 000 .1. Kanji mode and Byte mode respectively in decreasing order of encoding density. property EncodeMode: TDataMatrix_EncodeMode. and an appropriates lowest level (highest encoding density) encoding mode will be selected. epSingleMode: The encoding mode will be selected automatically and applied to entire symbol. the barcode text to be encoded will be analysed.2D Barcode VCL Components User Manual pQRCodeCom unit): epMixingOptimal: All 256 8-bits values are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. property EncodePolicy: TQRCode_EncodePolicy. the Kanji mode will not be used if the AllowKanjiMode property is set to false. A. in order to minimize the symbol size. Description: The QR Code symbology offers four kinds of encoding mode. It can be one of these values (defined in the pQRCodeCom unit): epMixingOptimal: All 256 8-bits values are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. The optimal combination of encoding modes will be used in order to minimize the symbol size. referred to as Numeric mode. The combination of encoding modes may not be the optimal one. The optimal combination of encoding modes will be used in order to minimize the symbol size.62 FixedLength (TBarcode2D_AztecRunnes) 151 . and the encoding mode will not be switched in the sybmol. the barcode text to be encoded will be analysed. in order to optimize encoding speed. epMixingQuick: All 256 8-bits values are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. A.61 EncodePolicy (TBarcode2D_QRCode) Indicates how to use the encoding mode in a QR Code barcode symbol. in order to minimize the symbol size. Syntax: type { Defined in the pQRCodeCom unit } TQRCode_EncodePolicy = (epMixingOptimal. the Kanji mode will not be used if the AllowKanjiMode property is set to false. Note. based on the barcode text. Note. See also the "Encoding modes" section in the "TBarcode2D_QRCode" article. The combination of encoding modes may not be the optimal one. epSingleMode: The encoding mode will be selected automatically and applied to entire symbol. Alphanumeric mode. and the encoding mode will not be switched in the sybmol. epSingleMode). and an appropriates lowest level (highest encoding density) encoding mode will be selected.1. epMixingQuick: All 256 8-bits values are encoded by switching automatically between all 4 (the AllowKanjiMode property is set to true) or 3 (the Kanji mode will not be used if the AllowKanjiMode property is set to false) encoding modes. based on the barcode text. in order to optimize encoding speed.1. This property indicates how to use these encoding mode by the component. Kanji mode and Byte mode respectively in decreasing order of encoding density. epMixingQuick. See also the "Encoding modes" section in the "TBarcode2D_MicroQRCode" article. in other words. in other words. In this case. Note.UCC composite barcode symbol. TQRImage. such as '0'. If the property is set to false. the Data (only for Delphi/C++ Builder 2009 or later) property cannot be set to an empty AnsiString. The barcode picture will not be saved into the DFM file in design time. or TQRGzImage control to multiple TBarcode2D components in order to display multiple barcode symbols in the TImage. and '25'. For the TBarcode2D_CCA. For example. and TBarcode2D_CCC barcode components. Description: For the Aztec Runes barcode symbology.64 InitialMode (TBarcode2D_Code16K) Specifies the initial mode for Code 16K barcode symbology. If the property is set to true. the barcode symbol isn't changed when you remove leading zeros from the barcode text or add leading zeros to the barcode text. otherwise. Syntax: type 152 . or TQRGzImage control. Description: Specifies a TImage control to represent the barcode symbol. Both of them will be represent on the TImage. the 2D symbol and the linear symbol are assembled to generate an EAN. '12'. or equal to 3 digits. an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. The property specifies whether the leading zeros are required in the barcode text. an OnInvalidLength event will occur.2D Barcode VCL Components User Manual Specifies whether the leading zeros are required in the barcode text of an Aztec Runes barcode symbol. for the Aztec Runes barcode symbology. the leading zeros are optional. TQRImage. A. '012'. or TQRGzImage control to represent the barcode symbol. TBarcode2D_CCB. '2'. if the Linear property is set. or TQRGzImage control (using the LeftMargin and TopMargin properties to specify the position for every barcode symbol).1. See also the "Character set" and the "Data capacity" sections in the "TBarcode2D_AztecRunes" article. A.1. adding leading zeros are required if the length is less than 3 digits. it must be set to a number string. such as '0'. TQRImage. otherwise. You can link single TImage. Syntax: property Image: TControl. If it's secified by the Data property (only for Delphi/C++ Builder 2009 or later). The number is an integer between 0 and 255 (including the boundaries). TQRImage. if the barcode text is specified by the Barcode property. If you use the component with QuikeReport. the length of the number string should be less than.63 Image Specifies a TImage. Syntax: property FixedLength: Boolean. it must be set to a number in AnsiString format. you may specifiey a TQRImage or TQRGzImage control for the property. and '255'. the Barcode property cannot be set to an empty string. the barcode symbol '12' is same as barcode symbol '012'. the length of the number string must be exactly equal to 3 digits. Also. You can always use the CurrentMode property to get the factual initial mode. emModeB_FNC1. emModeC_FNC1. are defined in the pCode16K unit.65 Inversed (TBarcode2D_AztecCode. emModeC_Shift2B. 153 . in this case.) Specifies whether to represent a barcode symbol in inversed color (reflectance reversal). The property can be one of these values: emModeA. must be code set B characters (ASCII 32 . The code set will be automatically switched if a character is encountered that cannot be encoded by current code set. etc. emModeC. See also the "Extended data length mode" section in the "TBarcode2D_Code16K" article. A. See also the "Initial modes" section in the "TBarcode2D_Code16K" article. emModeB_FNC1.2D Barcode VCL Components User Manual { Defined in the pCode16K unit } TCode16K_EncodeMode = (emAuto. emModeC_Shift1B. otherwiset the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. the InitialMode property can be set to emAuto (defined in the pCode16K unit). corresponding to the initial modes 0 to 6. from 0 to 6. First two characters excepting the message append block (if exists). and the extended data length mode. Indicates to create a Code 16K barcode symbol in extended data length mode. must be code set B character (ASCII 32 . corresponding to the initial modes 0 to 6 shown in table above will be selected automatically.1. depending on the barcode text. emModeC_FNC1. TBarcode2D_QRCode. property InitialMode: TCode16K_EncodeMode. otherwise anOnInvalidChar or Double OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. Syntax: property Inversed: Boolean. emModeB. emModeA. (None) FNC1 FNC1 First character excepting the message append block (if exists). Also. Description: The property specifies the initial mode for Code 16K barcode symbology. The SHIFT B code set will be automatically switched if another code set character is encountered. and it should be placed at beginning None of barcode text. The initial mode values from emCodeA to emExtended. These modes and their values are listed in following table: Initial Implied code character set Initial Mode Value 0 1 2 3 4 emCodeA emCodeB emCodeC emCodeB_FNC1 emCodeC_FNC1 A B C B C 5 emCodeC_Shift1B C 6 emCodeC_Shift2B C Extended data emMode_Extended length mode B Description (None) The code set will be automatically switched if another code set character is (None) encountered. corresponding to these modes. emModeC. And Implied characters function as if they were actual symbol characters but don not occupy any space.ASCII 127). otherwise anOnInvalidChar or OnInvalidDataChar SHIFT B (only for Delphi/C++ Builder 2009 or later) event will occur. one of values from emCodeA to emModeC_Shift2B. TBarcode2D_DataMatrix. it specifies the factual initial mode shown in table above. The initial mode indicates the initial code set and may also represent an implied leading FNC1 character or implied leading SHIFT B character as shown in following table. emMode_Extended). and a kind of extended data length mode. and emMode_Extended. emModeC_Shift1B. emModeC_Shift2B. emModeB. In this case.ASCII 127). in order to minimize the symbol size. The code set will be automatically switched if another code set character is encountered. An extended data length mode block is required. There are seven kinds of initial mode. 2D Barcode VCL Components User Manual Description: Specifies whether to represent a barcode symbol in inversed color (reflectance reversal). if the Linear property is set. it's represented using the color specified by the BarColor property. the color specified by the SpaceColor property will be used to represent the quiet zones. all dark modules are represented using the color specified by the SpaceColor property. top quiet zone. the 2D symbol and the linear symbol are assembled to generate an EAN. the leadinging quiet zone reachs to 154 . Otherwise. all dark modules are represented using the color specified by the BarColor property. If the barcode symbol is light foreground on dark background. Syntax: property LeadingQuietZone: Integer. In this case. For the TBarcode2D_Code16K barcode component. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): A. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): This property is useful only when the ShowQuietZone property value is set to true or the barcode symbology is a Code 16K symbol. and all light modules in the barcode symbol are represented using the color specified by the BarColor property. the Inversed property should be set to true. and bottom quiet zone are represented (the ShowQuietZone property value is set to true). In general. See diagram: When the leading quiet zone. TBarcode2D_CCB. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. otherwise. even if the ShowQuietZone property value is set to false. and TBarcode2D_CCC barcode components. trailing quiet zone. the Inversed property should be set to false.66 LeadingQuietZone Specifies the horizontal width of the leading quiet zone in modules. Description: Specifies the horizontal width of the leading quiet zone in modules. the color specified by the BarColor property will be used. the leading quiet zone is represented always. The quiet zone is represented using the color specified by the SpaceColor property if the Inversed property is set to false. and all light modules in the barcode symbol are represented using the color specified by the SpaceColor property.1.UCC composite barcode symbol. if the Inversed property is set to false. the barcode symbol is dark foreground on light background. 1. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): A. TBarcode1D_UPCE0. TBarcode1D_EAN13. In other words. or TBarcode1D_EAN128. and TBarcode1D_EAN13. TBarcode1D_UPCA. if the linear component is one of the TBarcode1D_UPCE. TBarcode1D_UPCE1. For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA. TBarcode1D_UPCA. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 155 . regardless of whether the ShowQuietZone property is set to true or false. regardless of whether the ShowQuietZone property is set to true or false. TBarcode1D_UPCE1. the leading quiet zone always reachs to the first bar of the 2D symbol. TBarcode2D_CCB.UCC composite barcode symbol that includes the linear symbol. Description: Specifies the margin between the leftmost side of the barcode symbol and the left side of the TImage. TBarcode1D_ENA8. its ShowQuietZoneMark property is set to true too).67 LeftMargin Specifies the left margin of the barcode symbol in pixels. and its human readable text is represented and exceeds the beginning of entire barcode symbol (the leading quiet zones is included if the ShowQuietZone property is set to true). TBarcode1D_UPCE0. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). the leading quiet zoens will be automatically extanded to cover the human readable text. TBarcode1D_ENA8. Syntax: property LeftMargin: Integer. and it's the minimum width of the leading quiet zone. TQRImage. the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol is included in the width of leading quiet zone. or TQRGzImage control that is specified by the Image property. and TBarcode2D_CCC barcode components. See diagram (theSpaceColor property value is set to clSilver in order to accentuate the quiet zones): Note. the leading quiet zoens will be automatically extanded to cover the left quiet zone mark. if the linear component is the TBarcode1D_UPCE.2D Barcode VCL Components User Manual the first bar or space of entire EAN. and for the TBarcode1D_ENA8 component. in pixels. they are included in the barcode symbol. The minimum width will be used if the value of the LeadingQuietZone property is less than it or the value of the ShowQuietZone property is set to false. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. or TQRGzImage control.2D Barcode VCL Components User Manual It is set using the following formula: The Orientation property is set to "boLeftRight": It is the margin between the beginning of the barcode symbol and the left side of the TImage. the leading quiet zone and trailing quiet zone are included always. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The Orientation property is set to "boRightLeft": It is the margin between the end of the barcode symbol and the left side of the TImage. or TQRGzImage control. TQRImage. or TQRGzImage control. or TQRGzImage control. even if the ShowQuietZone is set to false. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 156 . TQRImage. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): Note: For the TBarcode2D_Code16K barcode components. TQRImage. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The Orientation property is set to "boTopBottom": It is the margin between the bottom of the barcode symbol and the left side of the TImage. TQRImage. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The Orientation property is set to "boBottomTop": It is the margin between the top of the barcode symbol and the left side of the TImage. The linear symbol is included in the composite barcode symbol. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): When the linear component of the TBarcode2D_CCA. and the human readable text exceeds entire EAN. TBarcode1D_UPCE. the excess is included in the symbol. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. the TBarcode2D_RSS14. and TBarcode2D_CCC components. TBarcode2D_CCB. The TBarcode1D_UPCE. Description: Specifies a linear component for current 2D barcode component (the TBarcode2D_CCA.UCC composite barcode symbol not for the 2D symbol. or TBarcode1D_EAN128. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode1D_UPCE1.UCC composite barcode symbol in horizontal direction. TBarcode1D_EAN8. The property always specifies the left margin for entire rotated EAN.UCC composite barcode symbol. TBarcode2D_CCB. TBarcode2D_CCC) Specifies a linear component for current 2D barcode component in order to generate the EAN. if the Linear property is set. and its human readable text is represented. For the TBarcode2D_CCA and the TBarcode2D_CCB 2D barcode components.1. TBarcode2D_CCB.68 Linear (TBarcode2D_CCA. or TBarcode2D_CCC) so that the 2D barcode component together with the linear component generates the EAN. the 2D symbol and the linear symbol are assembled to generate an EAN. and the property specifies the left margin for entire rotated EAN. TBarcode2D_RSSLimted.2D Barcode VCL Components User Manual For the TBarcode2D_CCA.UCC composite barcode symbol. a n d TBarcode2D_RSSExpanded can be used as their linear component. If the TextAlignment property isn't set to taCustom. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode1D_UPCE0. See diagram (theSpaceColor property value is set to clSilver in order to accentuate the quiet zones): A.UCC composite symbol. TBarcode1D_UPCE0. Syntax: property Linear: TComponent. TBarcode1D_EAN13.UCC composite barcode symbol. this does not apply to TBarcode1D_EAN128). 157 . TBarcode2D_CCB. If the TextAlignment property is set to taCustom. the BarcodeHeight property should be set to a value larger than zero. TBarcode1D_UPCE. The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed automatically. TBarcode1D_UPCE1. TBarcode1D_EAN8. In addition. RSS Limited. only the TBarcode1D_EAN128 that's from the 1D Barcode VCL Components package can be used as its linear component. TBarcode1D_UPCE0. TBarcode1D_UPCA. TextPosition. and TBarcode1D_EAN128 that they are from the 1D Barcode VCL Components package can be used as their linear component too. DisplayText. CheckLength. TextAlignment. LeftQuietZoneSpacing. And the Image property should not be normally set. only its Barcode. If the TBarcode2D_RSS14 is used as the linear component. AutoCheckDigit. TextFont. TBarcode2D_RSSLimited. TextVSpacing. the value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D property will be set automatically depending on which 2D component is used). only its Barcode. the BarcodeHeight property should be set to a value larger than zero. RowSymbols.69 Link2D (TBarcode2D_RSS14. and SeparatorRowHeight properties are useful. the Image property's value of the 2D component will be used. In addition. The number of columns of the TBarcode2D_CCC barcode component will be changed automatically. DisplayText. If the TBarcode1D_EAN128 barcode component is used as the linear component. TextPosition. and the TextHSpacing properties are useful. If the TBarcode2D_RSSExpanded is used as the linear component. Data (only for Delphi/C++ Builder 2009 or later). InitialSubSet. TBarcode1D_UPCE0. AutoCheckDigit. only its Barcode. CheckStart. and SeparatorRowHeight properties are useful. the Image property should not be normally set. TBarcode2D_RSSExpanded) Specifies whether an RSS symbol (RSS-14. CheckLength. Height. TextAlignment. and SeparatorRowHeight properties are useful. AutoCheckDigit.2D Barcode VCL Components User Manual TBarcode1D_UPCE1. the Image property's value of the 2D component will be used. TBarcode1D_ENA8. or RSS Expanded) can be used as the linear component of an EAN. InitialSubSet. DisplayText. If the TBarcode1D_UPCA. the Image property should not be normally set. the BarcodeHeight property should be set to a value larger than zero. TBarcode1D_EAN13. TotalHeight. If the TBarcode2D_RSSLimited is used as the linear component. the Image property's value of the 2D component will be used. the Image property's value of the 2D component will be used. And the Image property should not be normally set.UCC Composite symbol. Data (only for Delphi/C++ Builder 2009 or later). In addition. TextFont. Height. In addition. Data (only for Delphi/C++ Builder 2009 or later). and the TextHSpacing properties are useful.1. The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed automatically depending on the value of the Style property. TextAlignment. TextHSpacing. And only its Barcode. TextVSpacing. The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed to 3 automatically. TBarcode1D_UPCE. and the value of RowSymbols property should be greater than or equal to 4. In addition. The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed to 4 automatically. TextPosition. Data (only for Delphi/C++ Builder 2009 or later). Style. AutoCheckDigit. TextFont. the Image property's value of the 2D component will be used. the Image property should not be normally set. TotalHeight. AutoCheckDigit. the value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D and Show2DSeparator properties will be set to true automatically). or TBarcode1D_EAN13 is used as the linear component. the value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D and Show2DSeparator properties will be set to true automatically). Data (only for Delphi/C++ Builder 2009 or later). ExtraFontSize (only for TBarcode1D_UPCA. TextVSpacing. CheckStart. and TBarcode1D_UPCE1) . Height. the value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component. the Image property's value of the 2D component will be used. In addition. the value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D property will be set to ldCCC automatically). RowHeight. and the RightQuietZoneSpacing properties are useful. And the Image property should not be normally set. only its Barcode. 158 . The number of columns of the TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component will be changed to 4 automatically. Style. Data (only for Delphi/C++ Builder 2009 or later). only its Barcode. A. For the TBarcode2D_CCC 2D barcode component. The value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component (the Link2D and Show2DSeparator properties will be set to true automatically). "TBarcode2D_RSSLimited". the RSS symbol will be used as a stand-alone barcode symbol. When all changes are complete.UCC composite barcode symbol. The following is two examples of the EAN.UCC composite symbol: A. ListView.1. a contiguous separator pattern is required between the RSS and the 2D component in an EAN. and "TBarcode2D_RSSExpanded" articles. Set the property to true is similar to BeginUpdate method of an other Delphi/C++ Builder control such as a ListBox.UCC composite symbol. Memo. Description: Set the property to true before making multiple changes to the barcode component.71 MaxColumns (TBarcode2D_CCC) Specifies the maximum number of rows for the CC-C 2D component of an EAN. Syntax: 159 . both the Show2DSeparator and the Link2D properties must be set to true.2D Barcode VCL Components User Manual Syntax: property Link2D: Boolean.UCC Composite symbol. Normally the RSS symbol. If the property is set to false. If the property is set to true. TreeList. RSS Limited.70 Locked Set the property to true to prevents updating of the barcode component until the property is reset to false.UCC composite symbol. the Show2DSeparator and the Link2D properties will be set to true automatically.UCC Composite symbol. If you use the RSS symbol as the Linear property's value of a TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component to create the EAN. In order to represent the separator pattern on top of the RSS symbol. A. and RSS Expanded) can be used together with a CC-A or a CC-B 2D component to create the EAN.1. comprising a single EAN. and set the property to false is similar to its EndUpdate method. the RSS symbol and its contiguous separator pattern shall be aligned with a 2D component.UCC composite symbol. its contiguous separator pattern. The property specifies whether the RSS symbol can be used as the linear component of an EAN. Description: An RSS barcode symbol (including RSS-14. Note. It prevents excessive redraws and speed processing time when change the barcode component. Syntax: property Locked: Boolean. and the 2D component are represented at the same time. See also the "Composite symbol" section in the "TBarcode2D_RSS14". change the property to false so that the changes can be reflected on screen. And the minimum number of columns (specified by the MinColumns property) together with the minimum number of stacked rows (specified by the MinRows property) indicates the minimum symbol size for the PDF417 barcode symbol. Description: The property specifies the maximum number of columns for a PDF417 barcode symbol. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. property MaxColumns: TPDF417_Columns. The maximum number of columns together with the maximum number of stacked rows (specified by the MaxRows property) indicates the maximum symbol size for a CC-C 2D component of the EAN..UCC composite barcode symbol. The CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. A.UCC composite barcode symbol. and the barcode text is specified in the Data property) event will occur. and the barcode text is specified in the Data property) event will occur. Based on the stretch order (specified by the StretchOrder property).72 MaxColumns (TBarcode2D_PDF417) Specifies the maximum number of columns for a PDF417 barcode symbol. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Columns = 1 . Description: The property specifies the maximum number of columns for a CC-C 2D component of an EAN.UCC composite barcode symbology.2D Barcode VCL Components User Manual type { Defined in the pPDF417Custom unit } TPDF417_Columns = 1 . 30. The CurrentRows property can be used to get the factual number of stacked rows. the MaxColumns property's value is always greater than or equal to the MinColumns property's value. 160 .. they are defined in the pPDF417Custom unit. the MinColumns property will be automatically changed to equal to this property's value.1. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. property MaxColumns: TPDF417_Columns. It's a variant of PDF417 symbol which begins with PDF417 codeword 920. The property can be one of values from 1 to 30. It can be one of values from 1 to 30. Note. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. And the minimum number of columns (specified by the MinColumns property) together with the minimum number of rows (specified by the MinRows property) indicates the minimum symbol size for it. See also the "Symbol size" section in the "TBarcode2D_CCC" article. if the property is set to a value less than the MinColumns property's value. If the barcode text is so long that it cannot be encoded using the maximum symbol size. In other words. 30. The maximum number of columns together with the maximum number of stacked rows (specified by the MaxRows property) indicates the maximum symbol size for a PDF417 barcode symbol. Based on the stretch order (specified by the StretchOrder property). they are defined in the pPDF417Custom unit. If the barcode text is so long that it cannot be encoded using the maximum symbol size. ccaRow_6. RSS-14 Standard.UCC composite barcode symbol. These values are defined in the pCCA unit. EAN-13. the MaxColumns property's value is always greater than or equal to the MinColumns property's value. RSS Expanded Stacked Availiable number of stacked rows ccaRow_5. UPC-E0. For example. ccaRow_6. 7. The CC-A is one of the three choices for the 2D component in a barcode symbol encoded in EAN. Note. and ccaRow_12.UCC composite barcode symbol. ccaRow_7. the MinColumns property will be automatically changed to equal to this property's value. See also the "Symbol size" section in the "TBarcode2D_PDF417" article. Note. ccaRow_5. 6.73 MaxRows (TBarcode2D_CCA) Specifies the maximum number of stacked rows for the CC-A 2D component of an EAN. and 12. It can be one of these values: ccaRow_3. ccaRow_6. 10. ccaRow_8. ccaRow_10. 9. if the property is set to a value less than the MinRows property's value. ccaRow_6. 5. ccaRow_4. ccaRow_8 ccaRow_3. ccaRow_8. In other words. ccaRow_9. only available number of stacked rows can be automatically selected between the range specified by the MinRows property and this property depending on the linear component of the EAN. ccaRow_8. RSS Expanded. RSS-14 Stacked Omnidirectional EAN-8. ccaRow_7. corresponding to the number of stacked rows 3. ccaRow_4. ccaRow_5. RSS-14 Stacked. The CurrentRows property can be used to get the factual number of stacked rows. 8. The smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by the MinRows property) and the maximum number of stacked rows (specified by this property). Description: The property specifies the maximum number of stacked rows for a CC-A 2D component of an EAN. 4. ccaRow_7. property MaxRows: TCCA_Rows. ccaRow_12). ccaRow_9. See also the "Symbol size" section in the "TBarcode2D_CCA" article. In other words. ccaRow_6. the MaxRows property's value is always greater than or equal to the MinRows property's value. They are listed in the following table: Linear component UPC-E. ccaRow_7 If the barcode text is so long that it cannot be encoded using the maximum number of stacked rows specified by this property. RSS Limited UPC-A. ccaRow_10. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. if the property is set to a value less than the MinColumns property's value. ccaRow_7. Syntax: type { Defined in the pCCA unit } TCCA_Rows = (ccaRow_3. RSS-14 Truncated. A.UCC composite symbol (specified by theLinear property). the MinRows property will be automatically changed to equal to this property's value.UCC composite barcode symbology. ccaRow_5. ccaRow_12 ccaRow_4. ccaRow_4. ccaRow_10. EAN-128. Note. UPC-E1. the value ccaRow_12 denotations the maximum number of stacked rows is 12 rows. 161 . and the barcode text is specified in the Data property) event will occur. ccaRow_5. ccaRow_9.1.2D Barcode VCL Components User Manual The CurrentRows property can be used to get the factual number of rows. ccbRow_11. ccbRow_20. ccbRow_11. ccbRow_14. ccbRow_10. ccbRow_26. only available number of stacked rows can be automatically selected between the range specified by the MinRows property and this property depending on the linear component of the EAN. UPC-E1. ccbRow_15. ccbRow_26 EAN-8. ccbRow_17. 23. 17. ccbRow_26. if the property is set to a value less than the MinRows property's value. UPC-E0. ccbRow_12. ccbRow_15. ccbRow_20. ccbRow_38. RSS-14 Truncated. and ccbRow_44. ccbRow_12. ccbRow_32. 11.1. RSS-14 Stacked. Syntax: type { Defined in the pCCB unit } TCCB_Rows = (ccbRow_4. ccbRow_20. A. ccbRow_6. ccbRow_14. ccbRow_17. ccbRow_38. and the barcode text is specified in the Data property) event will occur. ccbRow_38. ccbRow_10. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. ccbRow_38. ccbRow_14. For example. ccbRow_15. corresponding to the number of stacked rows 4. 26. It can be one of these values: ccbRow_4.UCC composite barcode symbology.UCC composite barcode symbol. ccbRow_11. ccbRow_23. ccbRow_12. ccbRow_20. ccbRow_6. 32. ccbRow_44 If the barcode text is so long that it cannot be encoded using the maximum number of stacked rows specified by this property. 14. RSS Limited ccbRow_6. ccbRow_23. See also the "Symbol size" section in the "TBarcode2D_CCB" article. 6. ccbRow_26. RSS-14 Standard. property MaxRows: TCCB_Rows. ccbRow_17. These values are defined in the pCCB unit. RSS Expanded Stacked ccbRow_4. ccbRow_32. The CC-B is one of the three choices for the 2D component in a barcode symbol encoded in EAN. In other words. 8. RSS-14 Stacked Omnidirectional ccbRow_8. ccbRow_20. the MinRows property will be automatically changed to equal to this property's value. ccbRow_12. ccbRow_8. ccbRow_10. ccbRow_44 UPC-A. EAN-128.UCC composite symbol (specified by theLinear property). 38 and 44.75 MaxRows (TBarcode2D_CCC) 162 . 12. 15. ccbRow_8. 20. ccbRow_26. Note. The smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by the MinRows property) and the maximum number of stacked rows (specified by this property). Description: The property specifies the maximum number of stacked rows for a CC-B 2D component of an EAN. EAN-13. ccbRow_15. ccbRow_8. ccbRow_44). They are listed in the following table: Linear component Availiable number of stacked rows UPC-E. ccbRow_23. the value ccbRow_44 denotations the maximum number of stacked rows is 44 rows. Note. ccbRow_32. ccbRow_8. the MaxRows property's value is always greater than or equal to the MinRows property's value.1. 10. ccbRow_32.2D Barcode VCL Components User Manual A. ccbRow_6. ccbRow_10. RSS Expanded. The CurrentRows property can be used to get the factual number of stacked rows.74 MaxRows (TBarcode2D_CCB) Specifies the maximum number of stacked rows for the CC-B 2D component of an EAN.UCC composite barcode symbol. 76 MaxRows (TBarcode2D_Code16K) Specifies the maximum number of stacked rows for a Code 16K barcode symbol.. property MaxRows: TCode16K_Rows. and the barcode text is specified in the Data property) event will occur. The smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by the MinRows property) and the maximum number of stacked rows (specified by this property).UCC composite barcode symbol. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. In other words.UCC composite barcode symbology. 90. The CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN. A. 163 . Description: The property specifies the maximum number of stacked rows for a Code 16K barcode symbol. the MaxRows property's value is always greater than or equal to the MinRows property's value.UCC composite barcode symbol. It can be one of values from 3 to 90. property MaxRows: TPDF417_Rows..2D Barcode VCL Components User Manual Specifies the maximum number of stacked rows for the CC-C 2D component of an EAN. It's a variant of PDF417 symbol which begins with PDF417 codeword 920.1. If the barcode text is so long that it cannot be encoded using the maximum symbol size. It can be one of values from 2 to 16. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Rows = 3 . See also the "Symbol size" section in the "TBarcode2D_CCC" article. And the minimum number of stacked rows (specified by the MinRows property) together with the minimum number of columns (specified by the MinColumns property) indicates the minimum symbol size for it. They are defined in the pCode16K unit. The maximum number of stacked rows together with the maximum number of columns (specified by the MaxColumns property) indicates the maximum symbol size for a CC-C 2D component of the EAN.16. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. Note. They are defined in the pPDF417Custom unit. The CurrentRows property can be used to get the factual number of stacked rows. and the barcode text is specified in the Data property) event will occur. Syntax: type { Defined in the pCode16K unit } TCode16K_Rows = 2. the MinRows property will be automatically changed to equal to this property's value. If the barcode text is so long that it cannot be encoded using the maximum number of stacked rows specified by this property. Based on the stretch order (specified by the StretchOrder property). if the property is set to a value less than the MinRows property's value.UCC composite barcode symbol. Description: The property specifies the maximum number of stacked rows for a CC-C 2D component of an EAN. And the minimum number of stacked rows (specified by the MinRows property) together with the minimum number of columns (specified by the MinColumns property) indicates the minimum symbol size for the PDF417 barcode symbol.77 MaxRows (TBarcode2D_PDF417) Specifies the maximum number of stacked rows for a PDF417 barcode symbol. the MinRows property will be automatically changed to equal to this property's value. property MaxRows: TPDF417_Rows. The maximum number of stacked rows together with the maximum number of columns (specified by the MaxColumns property) indicates the maximum symbol size for a PDF417 barcode symbol. In other words. See also the "Symbol sizes" section in the "TBarcode2D_Code16K" article. The CurrentRows property can be used to get the factual number of stacked rows. Note. If the barcode text is so long that it cannot be encoded using the maximum symbol size. the MaxRows property's value is always greater than or equal to the MinRows property's value. Description: The property specifies the maximum number of stacked rows for a PDF417 barcode symbol. Syntax: type { Defined in the pCompactMatrix unit } 164 . the MaxRows property's value is always greater than or equal to the MinRows property's value.1. if the property is set to a value less than the MinRows property's value. They are defined in the pPDF417Custom unit. Note. See also the "Symbol size" section in the "TBarcode2D_PDF417" article. It can be one of values from 3 to 90. A. In other words. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Rows = 3 . the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. if the property is set to a value less than the MinRows property's value. A. and the barcode text is specified in the Data property) event will occur.. the MinRows property will be automatically changed to equal to this property's value.78 MaxSegments (TBarcode2D_CompactMatrix) Specifies the maximum number of segments for a Compact Matrix barcode symbol. 90.2D Barcode VCL Components User Manual The CurrentRows property can be used to get the factual number of stacked rows. Based on the stretch order (specified by the StretchOrder property).1. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. The CurrentSegments property can be used to get the factual number of segments. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. azSize_131. Based on the stretch order (specified by the StretchOrder property). The property specifies the maximum number of segments for a Compact Matrix barcode symbol. azSize_125. azSize_109. azSize_143. azSize_71. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by this property. and the barcode text is specified in the Data property) event will occur. If the barcode text is so long that it cannot be encoded using the maximum symbol size. if the property is set to a value less than the MinSegments property's value. the symbol size value azSize_91 denotations the Aztec Code symbol size is 91 rows by 91 columns. In other words. These symbol size values are defined in the pAztecCode unit. And the minimum number of segments (specified by the MinSegments property) together with the minimum version (specified by the MinVersion property) indicates the minimum symbol size for the Compact Matrix barcode symbol. and the barcode text is specified in the Data property) event will occur. azSize_139. azSize_91. each Compact Matrix symbol consists of an array of segments with a minimum of 1 segment (maximum 32 segments). azSize_121. azSize_113. azSize_57.32. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. azSize_19. azSize_95. azSize_49. The maximum number of segments together with the maximum version (specified by the MaxVersion property) indicates the maximum symbol size for a Compact Matrix barcode symbol. azSize_117. azSize_41. azSize_87. they are defined in the pCompactMatrix unit. Description: The property specifies the maximum symbol size for an Aztec Code barcode symbol. For example. property MaxSegments: TCompactMatrix_Segments.2D Barcode VCL Components User Manual TCompactMatrix_Segments = 1. azSize_45. A. azSize_27. the MinSegments property will be automatically changed to equal to this property's value. azSize_27Compact. azSize_105. See also the "Symbol sizes" section in the "TBarcode2D_CompactMatrix" article. not in compact format. azSize_147. the MaxSegments property's value is always greater than or equal to the MinSegments property's value. number of rows and columns in every symbol size. 165 . azSize_79.1. Note. azSize_83. azSize_31.79 MaxSize (TBarcode2D_AztecCode) Specifies the maximum symbol size for an Aztec Code barcode symbol. azSize_23. Description: In horizontal orientation. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by the MinSize property and the maximum symbol size specified by this property. It can be one of values from azSize_15Compact t o azSize_151. azSize_135. azSize_101. Syntax: type { Defined in the pAztecCode unit } TAztecCode_Size = (azSize_15Compact. azSize_61. azSize_67. azSize_53. property MaxSize: TAztecCode_Size. azSize_23Compact. azSize_75. azSize_151). azSize_37. These values denotation the symbol format. azSize_19Compact.. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. It can be one of values from 1 to 32. dmSize_11_11. The CurrentSize property can be used to get the factual symbol size. dmSize_23_23. See also the "Symbol sizes" section in the "TBarcode2D_DataMatrix" article. dmSize_27_27. Description: The property specifies the maximum symbol size for a Data Matrix (ECC 000 . Note.81 MaxSize (TBarcode2D_DataMatrixECC200) Specifies the maximum symbol size for a Data Matrix (ECC 200) barcode symbol.140) barcode symbol.140) symbol size is 45 rows by 45 columns. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by this property. See also the "Symbol sizes" section in the "TBarcode2D_AztecCode" article. dmSize_49_49). an OnInvalidLength the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. dmSize_25_25. dmSize_31_31. dmSize_17_17. In other words. dmSize_47_47.140) barcode symbol.80 MaxSize (TBarcode2D_DataMatrix) Specifies the maximum symbol size for a Data Matrix (ECC 000 . For example. the MinSize property will be automatically changed to equal to this property's value. Syntax: type { Defined in the pDataMatrix unit } TDataMatrix_Size = (dmSize_09_09. dmSize_41_41. dmSize_29_29.2D Barcode VCL Components User Manual The CurrentSize property can be used to get the factual symbol size. dmSize_35_35. A. These values denotation the number of rows and columns in every symbol size. the MinSize property will be automatically changed to equal to this property's value. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by the MinSize property and the maximum symbol size specified by this property. dmSize_43_43. dmSize_13_13. It can be one of values from dmSize_09_09 to dmSize_49_49. These symbol size values are defined in the pDataMatrix unit. dmSize_45_45. Note.1. the MaxSize property's value is always greater than or equal to the MinSize property's value. the symbol size value dmSize_45_45 denotations the Data Matrix (ECC 000 . A. Syntax: type 166 . dmSize_37_37. dmSize_33_33. dmSize_39_39.1. dmSize_21_21. the MaxSize property's value is always greater than or equal to the MinSize property's value. dmSize_19_19. and the barcode text is specified in the Data property) event will occur. In other words. if the property is set to a value less than the MinSize property's value. if the property is set to a value less than the MinSize property's value. property MaxSize: TDataMatrix_Size. dmSize_15_15. 82 MaxSize (TBarcode2D_MicroPDF417) Specifies the maximum symbol size for a MicroPDF417 barcode symbol. if the property is set to a value less than the MinSize property's value. These values denotation the number of rows and columns in every symbol size. mpSize_4_15. dmSize_144_144. dmSize_24_24. These symbol size values are defined in the pDataMatrixEcc200 unit.2D Barcode VCL Components User Manual { Defined in the pDataMatrixEcc200 unit } TDataMatrixEcc200_Size = (dmSize_10_10. mpSize_1_17. mpSize_3_44. an OnInvalidLength 167 . property MaxSize: TDataMatrixEcc200_Size. In other words. See also the "Symbol sizes" section in the "TBarcode2D_DataMatrixECC200" article. dmSize_44_44. dmSize_12_36. the symbol size value dmSize_16_36 denotations the Data Matrix (ECC 200) symbol size is 16 rows by 36 columns. the symbol size value mpSize_4_10 denotations the MicroPDF417 symbol size is 10 stacked rows by 4 columns. mpSize_2_20. mpSize_1_14.1. mpSize_2_17. mpSize_4_6. dmSize_120_120. mpSize_4_20. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. property MaxSize: TMicroPDF417_Size. mpSize_3_12. Description: The property specifies the maximum symbol size for a MicroPDF417 barcode symbol. dmSize_52_52. dmSize_22_22. These values denotation the number of columns and rows in every symbol size. dmSize_14_14. the MinSize property will be automatically changed to equal to this property's value. A. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by this property. mpSize_4_4. mpSize_3_20. dmSize_104_104. mpSize_4_32. dmSize_64_64. Syntax: type { Defined in the pMicroPDF417 unit } TMicroPDF417_Size = (mpSize_1_11. For example. dmSize_20_20. mpSize_4_44). mpSize_4_38. dmSize_132_132. The CurrentSize property can be used to get the factual symbol size. dmSize_12_12. Description: The property specifies the maximum symbol size for a Data Matrix (ECC 200) barcode symbol. dmSize_48_48. dmSize_80_80. mpSize_1_28. mpSize_3_38. dmSize_8_32. mpSize_3_10. dmSize_72_72. the MaxSize property's value is always greater than or equal to the MinSize property's value. dmSize_8_18. mpSize_3_8. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by the MinSize property and the maximum symbol size specified by this property. dmSize_96_96. Note. mpSize_3_26. mpSize_2_11. mpSize_4_8. mpSize_4_10. dmSize_36_36. dmSize_16_48). dmSize_40_40. mpSize_1_20. dmSize_18_18. dmSize_16_36. It can be one of values from dmSize_10_10 to dmSize_16_48. dmSize_88_88. mpSize_2_26. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by the MinSize property and the maximum symbol size specified by this property. dmSize_26_26. mpSize_2_23. mpSize_3_15. mpSize_2_14. mpSize_4_26. These symbol size values are defined in the pMicroPDF417 unit. and the barcode text is specified in the Data property) event will occur. dmSize_12_26. mpSize_1_24. dmSize_32_32. If the barcode text is so long that it cannot be encoded using the maximum symbol size specified by this property. mpSize_2_8. mpSize_3_6. dmSize_16_16. mpSize_4_12. For example. It can be one of values from mpSize_1_11 to mpSize_4_44. mpSize_3_32. this property specifies the maximum number of bytes to slice the barcode data or text. the barcode text is specified in the Data property) event will occur. this property specifies the maximum number of bytes to slice the barcode data or text. It's useful to limit the depth of recursion. Description: If the property EncodePolicy is set to epMixingOptimal. See also the "Symbol sizes" section in the "TBarcode2D_MicroPDF417" article. In other words. the property value will be ignored. the barcode data or text will not be sliced. the property value will be ignored. in order to prevent the computer has no response. and it will be encoded in optimal combination of encoding modes at a time. the MinSize property will be automatically changed to equal to this property's value. using the recursion algorithm. A. Description: If the property EncodePolicy is set to epMixingOptimal.1. in order to prevent the computer has no response. each piece will be encoded in optimal combination of encoding modes using the recursion algorithm.84 MaxSliceLen (TBarcode2D_QRCode) Specifies the maximum number of bytes to slice the barcode data. If the property EncodePolicy isn't set to epMixingOptimal. in order to limit the depth of recursion. It's useful to limit the depth of recursion. using the recursion algorithm. Syntax: property MaxSliceLen: Integer. If the property is set to 0. Syntax: property MaxSliceLen: Integer. The CurrentSize property can be used to get the factual symbol size. in order to limit the depth of recursion. and it will be encoded in optimal combination of encoding modes at a time. If the property is set to 0.83 MaxSliceLen (TBarcode2D_MicroQRCode) Specifies the maximum number of bytes to slice the barcode data. If the property EncodePolicy isn't set to epMixingOptimal. if the property is set to a value less than the MinSize property's value. each piece will be encoded in optimal combination of encoding modes using the recursion algorithm. 168 .2D Barcode VCL Components User Manual (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. A.1. Note. the barcode data or text will not be sliced. the MaxSize property's value is always greater than or equal to the MinSize property's value. Based on the stretch order (specified by the StretchOrder property). The property specifies the maximum symbol version (symbol size) for a Grid Matrix barcode symbol. in increasing order of symbol height and data capacity. property MaxVersion: TGridMatrix_Version. referred to as version 1 to 13. See also the "Symbol sizes" section in the "TBarcode2D_CompactMatrix" article. Description: There are 32 vertical sizes of Compact Matrix symbol. They are defined in the pCompactMatrix unit. It can be one of values from 1 to 32. Description: There are thirteen sizes of Grid Matrix symbol. in increasing order of size and data capacity.1.32. if the property is set to a value less than the MinVersion property's value. If the barcode text is so long that it cannot be encoded using the maximum symbol size. The maximum version together with the maximum number of segments (specified by the MaxSegments property) indicates the maximum symbol size for a Compact Matrix barcode symbol. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size.13. They are defined in the pGridMatrix unit. The property specifies the maximum version for a Compact Matrix barcode symbol.2D Barcode VCL Components User Manual A. the MinVersion property will be automatically changed to equal to this property's value. Syntax: type { Defined in the pCompactMatrix unit } TCompactMatrix_Version = 1. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by the MinVersion property and the maximum symbol version (symbol size) specified by this 169 . And the minimum version (specified by the MinVersion property) together with the minimum number of segments (specified by the MinSegments property) indicates the minimum symbol size for the Compact Matrix barcode symbol. the MaxVersion property's value is always greater than or equal to the MinVersion property's value. In other words. The CurrentVersion property can be used to get the factual version. Syntax: type { Defined in the pGridMatrix unit } TGridMatrix_Version = 1. property MaxVersion: TCompactMatrix_Version. referred to as version 1 to 32.85 MaxVersion (TBarcode2D_CompactMatrix) Specifies the maximum version for a Compact Matrix barcode symbol..1. Note. and the barcode text is specified in the Data property) event will occur. It can be one of values from 1 to 13. A..86 MaxVersion (TBarcode2D_GridMatrix) Specifies the maximum symbol version (symbol size) for a Grid Matrix barcode symbol. . If the barcode text is so long that it cannot be encoded using the maximum symbol version (symbol size) specified by this property. A. and the barcode text is specified in the Data property) event will occur. the MinVersion property will be automatically changed to equal to this property's value. Syntax: type { Defined in the pHanXinCode unit } THanXinCode_Version = 1. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by the MinVersion property and the maximum symbol version (symbol size) specified by this property. The property specifies the maximum symbol version (symbol size) for a Han Xin Code barcode symbol. 170 . It can be one of values from 1 to 84. See also the "Symbol sizes" section in the "TBarcode2D_HanXinCode" article. See also the "Symbol sizes" section in the "TBarcode2D_GridMatrix" article. In other words. in increasing order of size and data capacity. They are defined in the pHanXinCode unit.1. In other words. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later.84. if the property is set to a value less than the MinVersion property's value. property MaxVersion: THanXinCode_Version. and the barcode text is specified in the Data property) event will occur. A. the MinVersion property will be automatically changed to equal to this property's value.2D Barcode VCL Components User Manual property. if the property is set to a value less than the MinVersion property's value.87 MaxVersion (TBarcode2D_HanXinCode) Specifies the maximum symbol version (symbol size) for a Han Xin Code barcode symbol. the MaxVersion property's value is always greater than or equal to the MinVersion property's value. If the barcode text is so long that it cannot be encoded using the maximum symbol version (symbol size) specified by this property. The CurrentVersion property can be used to get the factual symbol version (symbol size).88 MaxVersion (TBarcode2D_MicroQRCode) Specifies the maximum symbol version (symbol size) for a Micro QR Code barcode symbol. Note. referred to as version 1 to 84. The CurrentVersion property can be used to get the factual symbol version (symbol size). Note.1. Description: There are eighty-four sizes of Han Xin Code symbols. the MaxVersion property's value is always greater than or equal to the MinVersion property's value. the MinVersion property will be automatically changed to equal to this property's value. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by the MinVersion property and the maximum symbol version (symbol size) specified by this property. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. if the property is set to a value less than the MinVersion property's value. If the barcode text is so long that it cannot be encoded using the maximum symbol version (symbol size) specified by this property. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by the MinVersion property and the maximum symbol version (symbol size) specified by this property. It can be one of values from 1 to 40. the MaxVersion property's value is always greater than or equal to the MinVersion property's value. the MinVersion property will be automatically changed to equal to this property's value. an OnInvalidLength (the barcode text is specified in the Barcode property) or an OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. The CurrentVersion property can be used to get the factual symbol version (symbol size). In other words.1.2D Barcode VCL Components User Manual Syntax: type { Defined in the pMicroQRCode unit } TMicroQRCode_Version = 1. property MaxVersion: TQRCode_Version. It can be one of values from 1 to 4. 171 . they are defined in the pMicroQRCode unit. and the barcode text is specified in the Data property) event will occur. Note.. property MaxVersion: TMicroQRCode_Version. See also the "Symbol sizes" section in the "TBarcode2D_MicroQRCode" article. Description: The property specifies the maximum symbol version (symbol size) for a QR Code barcode symbol. If the barcode text is so long that it cannot be encoded using the maximum symbol version (symbol size) specified by this property.4. Syntax: type { Defined in the pQRCode unit } TQRCode_Version = 1. In other words.89 MaxVersion (TBarcode2D_QRCode) Specifies the maximum symbol version (symbol size) for a QR Code barcode symbol. They are defined in the pQRCode unit.40. the MaxVersion property's value is always greater than or equal to the MinVersion property's value. Note. Description: The property specifies the maximum symbol version (symbol size) for a Micro QR Code barcode symbol. and the barcode text is specified in the Data property) event will occur. if the property is set to a value less than the MinVersion property's value. The CurrentVersion property can be used to get the factual symbol version (symbol size).. A. 91 MinColumns (TBarcode2D_PDF417) Specifies the minimum number of columns for a PDF417 barcode symbol. the MinColumns property's value is always less than or equal to the MaxColumns property's value. It's a variant of PDF417 symbol which begins with PDF417 codeword 920. The CurrentColumns property can be used to get the factual number of columns.UCC composite barcode symbol. The property can be one of values from 1 to 30.UCC composite barcode symbology. Based on the stretch order (specified by the StretchOrder property). 172 . A. they are defined in the pPDF417Custom unit. 30.UCC composite barcode symbol. See also the "Symbol size" section in the "TBarcode2D_CCC" article.1. 30. the MaxColumns property will be automatically changed to equal to this property's value.2D Barcode VCL Components User Manual See also the "Symbol sizes" section in the "TBarcode2D_QRCode" article.1.90 MinColumns (TBarcode2D_CCC) Specifies the minimum number of columns for the CC-C 2D component of an EAN..UCC composite barcode symbol. Note. The minimum number of columns together with the minimum number of stacked rows (specified by the MinRows property) indicates the minimum symbol size for a CC-C 2D component of the EAN. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Columns = 1 . Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Columns = 1 . In other words. Description: The property specifies the minimum number of columns for the CC-C 2D component of an EAN. property MinColumns: TPDF417_Columns. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. The CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN. Description: The property specifies the minimum number of columns for a PDF417 barcode symbol. It can be one of values from 1 to 30. A. they are defined in the pPDF417Custom unit. And the maximum number of columns (specified by the MaxColumns property) together with the maximum number of stacked rows (specified by the MaxRows property) indicates the maximum symbol size for it.. property MinColumns: TPDF417_Columns. if the property is set to a value greater than the MaxColumns property's value. The CC-A is one of the three choices for the 2D component in a barcode symbol encoded in EAN. A. UPC-E0. UPC-E1. ccaRow_9. ccaRow_7. RSS-14 Stacked. ccaRow_4. property MinRows: TCCA_Rows. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. ccaRow_5. These values are defined in the pCCA unit. Based on the stretch order (specified by the StretchOrder property). ccaRow_7. ccaRow_12). ccaRow_6. if the property is set to a value greater than the MaxRows property's value. In other words. ccaRow_10.UCC composite barcode symbol.UCC composite barcode symbology. For example. RSS Limited UPC-A. ccaRow_5. 173 . if the property is set to a value greater than the MaxColumns property's value. RSS Expanded. the MaxColumns property will be automatically changed to equal to this property's value. Note. They are listed in the following table: Linear component UPC-E. RSS-14 Stacked Omnidirectional EAN-8. 10. 8.UCC composite barcode symbol. 7. RSS Expanded Stacked Availiable number of stacked rows ccaRow_5. The smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by this property) and the maximum number of stacked rows (that's specified by the MaxRows property). Note. ccaRow_5. ccaRow_12 ccaRow_4. the MinColumns property's value is always less than or equal to the MaxColumns property's value. EAN-128. ccaRow_7 The CurrentRows property can be used to get the factual number of stacked rows. the MinRows property's value is always less than or equal to the MaxRows property's value. the value ccaRow_3 denotations the minimum number of stacked rows is 3 rows. ccaRow_5. ccaRow_8. See also the "Symbol size" section in the "TBarcode2D_PDF417" article. RSS-14 Truncated. Description: The property specifies the minimum number of stacked rows for the CC-A 2D component of an EAN. 9. 6. and 12. ccaRow_6. ccaRow_7. ccaRow_10. ccaRow_6. ccaRow_8. ccaRow_10. It can be one of these values: ccaRow_3. ccaRow_6. The CurrentColumns property can be used to get the factual number of columns.92 MinRows (TBarcode2D_CCA) Specifies the minimum number of stacked rows for the CC-A 2D component of an EAN. ccaRow_9. Syntax: type { Defined in the pCCA unit } TCCA_Rows = (ccaRow_3. EAN-13. In other words. the MaxRows property will be automatically changed to equal to this property's value. 5. ccaRow_4.1. and ccaRow_12. ccaRow_9. RSS-14 Standard. ccaRow_8 ccaRow_3. ccaRow_8. only available number of stacked rows can be automatically selected between the range specified by this property and the MaxRows property depending on the linear component of the EAN. And the maximum number of columns (specified by the MaxColumns property) together with the maximum number of stacked rows (specified by the MaxRows property) indicates the maximum symbol size for the PDF417 barcode symbol. ccaRow_6. Note.UCC composite symbol (specified by theLinear property).2D Barcode VCL Components User Manual The minimum number of columns together with the minimum number of stacked rows (specified by the MinRows property) indicates the minimum symbol size for a PDF417 barcode symbol. ccaRow_7. ccaRow_4. 4. corresponding to the number of stacked rows 3. 14. ccbRow_26. ccbRow_23. ccbRow_8. 12. 38 and 44. ccbRow_12. 11. The CC-B is one of the three choices for the 2D component in a barcode symbol encoded in EAN. In other words. ccbRow_17. ccbRow_20. Note. Syntax: type { Defined in the pCCB unit } TCCB_Rows = (ccbRow_4. ccbRow_23.93 MinRows (TBarcode2D_CCB) Specifies the minimum number of stacked rows for the CC-B 2D component of an EAN. UPC-E0. ccbRow_15. EAN-128. ccbRow_26 EAN-8. See also the "Symbol size" section in the "TBarcode2D_CCB" article. 17. ccbRow_10. ccbRow_6. A. Note. ccbRow_6. 32. the value ccbRow_4 denotations the minimum number of stacked rows is 4 rows. ccbRow_11. RSS Expanded. ccbRow_10. For example. the MinRows property's value is always less than or equal to the MaxRows property's value. ccbRow_26. RSS-14 Truncated. the MaxRows property will be automatically changed to equal to this property's value. ccbRow_44 The CurrentRows property can be used to get the factual number of stacked rows. and ccbRow_44. ccbRow_17. RSS-14 Stacked. ccbRow_8. ccbRow_32. ccbRow_15. The smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by this property) and the maximum number of stacked rows (that's specified by the MaxRows property).2D Barcode VCL Components User Manual See also the "Symbol size" section in the "TBarcode2D_CCA" article. 6. 23. RSS Limited ccbRow_6. ccbRow_8. ccbRow_38. EAN-13. A. ccbRow_14. ccbRow_44 UPC-A.UCC composite barcode symbol. ccbRow_12. They are listed in the following table: Linear component Availiable number of stacked rows UPC-E. ccbRow_23. 8. 26. property MinRows: TCCB_Rows. ccbRow_14. 10. corresponding to the number of stacked rows 4. ccbRow_14. if the property is set to a value greater than the MaxRows property's value. ccbRow_32. RSS Expanded Stacked ccbRow_4. UPC-E1. ccbRow_32. ccbRow_12. ccbRow_11. ccbRow_10.1. ccbRow_20. These values are defined in the pCCB unit. ccbRow_38. ccbRow_17.1. ccbRow_20.UCC composite barcode symbol. It can be one of these values: ccbRow_4.94 MinRows (TBarcode2D_CCC) 174 . ccbRow_32. ccbRow_20. ccbRow_6. ccbRow_38. 15.UCC composite barcode symbology. RSS-14 Stacked Omnidirectional ccbRow_8. 20.UCC composite symbol (specified by theLinear property). ccbRow_15. ccbRow_20. ccbRow_44). ccbRow_26. Description: The property specifies the minimum number of stacked rows for the CC-B 2D component of an EAN. ccbRow_10. RSS-14 Standard. ccbRow_15. ccbRow_8. ccbRow_38. ccbRow_26. ccbRow_11. ccbRow_12. only available number of stacked rows can be automatically selected between the range specified by this property and the MaxRows property depending on the linear component of the EAN. In other words.. the MinRows property's value is always less than or equal to the MaxRows property's value. 175 .UCC composite barcode symbol. See also the "Symbol size" section in the "TBarcode2D_CCC" article. And the maximum number of stacked rows (specified by the MaxRows property) together with the maximum number of columns (specified by the MaxColumns property) indicates the maximum symbol size for it. the MaxRows property will be automatically changed to equal to this property's value. if the property is set to a value greater than the MaxRows property's value.. It can be one of values from 2 to 16. the MinRows property's value is always less than or equal to the MaxRows property's value. property MinRows: TCode16K_Rows.2D Barcode VCL Components User Manual Specifies the minimum number of stacked rows for the CC-C 2D component of an EAN. Note. Description: The property specifies the minimum number of stacked rows for the CC-C 2D component of an EAN.UCC composite barcode symbol. 90. They are defined in the pCode16K unit. the MaxRows property will be automatically changed to equal to this property's value. The CurrentRows property can be used to get the factual number of stacked rows. It's a variant of PDF417 symbol which begins with PDF417 codeword 920. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size.1. if the property is set to a value greater than the MaxRows property's value. The minimum number of stacked rows together with the minimum number of columns (specified by the MinColumns property) indicates the minimum symbol size for the CC-C 2D component of the EAN. A. They are defined in the pPDF417Custom unit. The CurrentRows property can be used to get the factual number of stacked rows. Syntax: type { Defined in the pCode16K unit } TCode16K_Rows = 2. The smallest number of stacked rows that accommodates the barcode text will be automatically selected between the minimum number of stacked rows (specified by this property) and the maximum number of stacked rows (that's specified by the MaxRows property).16. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Rows = 3 . Based on the stretch order (specified by the StretchOrder property).UCC composite barcode symbology. In other words.95 MinRows (TBarcode2D_Code16K) Specifies the minimum number of stacked rows for a Code 16K barcode symbol. The CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN.UCC composite barcode symbol. property MinRows: TPDF417_Rows. Description: The property specifies the minimum number of stacked rows for a Code 16K barcode symbol. Note. It can be one of values from 3 to 90. Syntax: type { Defined in the pCompactMatrix unit } TCompactMatrix_Segments = 1. The CurrentRows property can be used to get the factual number of stacked rows.. They are defined in the pPDF417Custom unit. the MaxRows property will be automatically changed to equal to this property's value. See also the "Symbol size" section in the "TBarcode2D_PDF417" article. property MinRows: TPDF417_Rows. It can be one of values from 3 to 90. And the maximum number of stacked rows (specified by the MaxRows property) together with the maximum number of columns (specified by the MaxColumns property) indicates the maximum symbol size for the PDF417 barcode symbol. if the property is set to a value greater than the MaxRows property's value.96 MinRows (TBarcode2D_PDF417) Specifies the minimum number of stacked rows for a PDF417 barcode symbol. A.. The minimum number of stacked rows together with the minimum number of columns (specified by the MinColumns property) indicates a minimum symbol size for a PDF417 barcode symbol. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size.97 MinSegments (TBarcode2D_CompactMatrix) Specifies the minimum number of segments for a Compact Matrix barcode symbol. Based on the stretch order (specified by the StretchOrder property). Description: In horizontal orientation. In other words. the MinRows property's value is always less than or equal to the MaxRows property's value. 90.2D Barcode VCL Components User Manual See also the "Symbol sizes" section in the "TBarcode2D_Code16K" article. The property specifies the minimum number of segments for a Compact Matrix barcode symbol. A.1. Note. The minimum number of segments together with the minimum version (specified by the MinVersion property) indicates the minimum 176 . Description: The property specifies the minimum number of stacked rows for a PDF417 barcode symbol. property MinSegments: TCompactMatrix_Segments.32.1. It can be one of values from 1 to 32. they are defined in the pCompactMatrix unit. each Compact Matrix symbol consists of an array of segments with a minimum of 1 segment (maximum 32 segments). Syntax: type { Defined in the pPDF417Custom unit } TPDF417_Rows = 3 . These symbol size values are defined in the pAztecCode unit.1. azSize_109. azSize_53. if the property is set to a value greater than the MaxSegments property's value. azSize_131. azSize_135. See also the "Symbol sizes" section in the " TBarcode2D_CompactMatrix" article. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by this property and the maximum symbol size that's specified by the MaxSize property. azSize_143. See also the "Symbol sizes" section in the "TBarcode2D_AztecCode" article. azSize_61. azSize_41.99 MinSize (TBarcode2D_DataMatrix) Specifies the minimum symbol size for a Data Matrix (ECC 000 . Note. azSize_147. The CurrentSegments property can be used to get the factual number of segments. azSize_23. in compact format. azSize_91. azSize_67. the MaxSegments property will be automatically changed to equal to this property's value. number of rows and columns in every symbol size. azSize_49. azSize_87. the MinSize property's value is always less than or equal to the MaxSize property's value. Note.1. property MinSize: TAztecCode_Size. azSize_79. azSize_121. azSize_95. A. The CurrentSize property can be used to get the factual symbol size. Description: The property specifies the minimum symbol size for an Aztec Code barcode symbol. azSize_71. the MaxSize property will be automatically changed to equal to this property's value. Syntax: type { Defined in the pAztecCode unit } TAztecCode_Size = (azSize_15Compact. azSize_31. Based on the stretch order (specified by the StretchOrder property). It can be one of values from azSize_15Compact t o azSize_151. For example.98 MinSize (TBarcode2D_AztecCode) Specifies the minimum symbol size for an Aztec Code barcode symbol. azSize_19. the symbol size value azSize_19Compact denotations the Aztec Code symbol size is 19 rows by 19 columns. azSize_19Compact. azSize_75. azSize_139. These values denotation the symbol format. azSize_37. azSize_105. And the maximum number of segments (specified by the MaxSegments property) together with the maximum version (specified by the MaxVersion property) indicates the maximum symbol size for the Compact Matrix barcode symbol. the MinSegments property's value is always less than or equal to the MaxSegments property's value. azSize_27Compact.140) barcode symbol. In other words. azSize_117. azSize_113. azSize_83. azSize_45.2D Barcode VCL Components User Manual symbol size for a Compact Matrix barcode symbol. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. azSize_151). azSize_57. A. azSize_27. azSize_23Compact. In other words. Syntax: 177 . azSize_125. azSize_101. if the property is set to a value greater than the MaxSize property's value. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by this property and the maximum symbol size that's specified by the MaxSize property. These symbol size values are defined in the pDataMatrixEcc200 unit. 178 . The CurrentSize property can be used to get the factual symbol size. dmSize_44_44. dmSize_41_41. dmSize_21_21. dmSize_49_49). Description: The property specifies the minimum symbol size for a Data Matrix (ECC 000 . These values denotation the number of rows and columns in every symbol size. dmSize_33_33. dmSize_16_16.140) symbol size is 29 rows by 29 columns. dmSize_18_18. property MinSize: TDataMatrixEcc200_Size. dmSize_12_12. The CurrentSize property can be used to get the factual symbol size. dmSize_39_39. dmSize_64_64. Note. It can be one of values from dmSize_09_09 to dmSize_49_49. dmSize_15_15. dmSize_11_11. dmSize_8_32. dmSize_25_25. dmSize_26_26. dmSize_19_19. dmSize_43_43.140) barcode symbol. dmSize_45_45. These symbol size values are defined in the pDataMatrix unit. In other words. the MinSize property's value is always less than or equal to the MaxSize property's value. dmSize_104_104. dmSize_23_23. dmSize_8_18. dmSize_35_35. For example. dmSize_20_20. dmSize_27_27. In other words. if the property is set to a value greater than the MaxSize property's value. the MinSize property's value is always less than or equal to the MaxSize property's value. dmSize_14_14. dmSize_37_37. It can be one of values from dmSize_10_10 to dmSize_16_48.1. dmSize_80_80. dmSize_13_13. dmSize_48_48. dmSize_12_26. dmSize_132_132. dmSize_40_40. dmSize_120_120. Syntax: type { Defined in the pDataMatrixEcc200 unit } TDataMatrixEcc200_Size = (dmSize_10_10. dmSize_12_36. dmSize_36_36. These values denotation the number of rows and columns in every symbol size. Note. dmSize_16_48). the MaxSize property will be automatically changed to equal to this property's value. the symbol size value dmSize_8_18 denotations the Data Matrix (ECC 200) symbol size is 8 rows by 18 columns. dmSize_144_144. See also the "Symbol sizes" section in the "TBarcode2D_DataMatrix" article. dmSize_24_24. dmSize_72_72. dmSize_29_29. property MinSize: TDataMatrix_Size.2D Barcode VCL Components User Manual type { Defined in the pDataMatrix unit } TDataMatrix_Size = (dmSize_09_09. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by this property and the maximum symbol size that's specified by the MaxSize property. dmSize_32_32. the symbol size value dmSize_29_29 denotations the Data Matrix (ECC 000 . For example. Description: The property specifies the minimum symbol size for a Data Matrix (ECC 200) barcode symbol. if the property is set to a value greater than the MaxSize property's value. dmSize_88_88. dmSize_52_52. dmSize_17_17. dmSize_47_47. the MaxSize property will be automatically changed to equal to this property's value. dmSize_96_96. dmSize_16_36.100 MinSize (TBarcode2D_DataMatrixECC200) Specifies the minimum symbol size for a Data Matrix (ECC 200) barcode symbol. dmSize_31_31. A. dmSize_22_22. mpSize_2_17. A. A.2D Barcode VCL Components User Manual See also the "Symbol sizes" section in the "TBarcode2D_DataMatrixECC200" article. For example. mpSize_2_23. if the property is set to a value greater than the MaxSize property's value. mpSize_2_8. Syntax: type { Defined in the pMicroPDF417 unit } TMicroPDF417_Size = (mpSize_1_11. mpSize_3_12. in increasing order of symbol height and data capacity. mpSize_4_4. Syntax: type { Defined in the pCompactMatrix unit } TCompactMatrix_Version = 1. mpSize_2_11. mpSize_4_12. The property specifies the minimum version for a Compact Matrix barcode symbol. the MaxSize property will be automatically changed to equal to this property's value. mpSize_3_15. mpSize_4_8. property MinSize: TMicroPDF417_Size. property MinVersion: TCompactMatrix_Version. mpSize_4_20.102 MinVersion (TBarcode2D_CompactMatrix) Specifies the minimum version for a Compact Matrix barcode symbol. mpSize_2_26.. mpSize_3_44.32. mpSize_4_10. mpSize_4_15. mpSize_3_6. mpSize_2_14. It can be one of values from mpSize_1_11 to mpSize_4_44. mpSize_3_26. It can be one of values from 1 to 32. mpSize_4_38. mpSize_4_6. mpSize_4_32. mpSize_2_20. The smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size specified by this property and the maximum symbol size that's specified by the MaxSize property. Note. mpSize_3_38. 179 . mpSize_1_24. referred to as version 1 to 32. mpSize_4_44). In other words. mpSize_3_8. mpSize_3_20. mpSize_1_14.1. the symbol size value mpSize_3_12 denotations the MicroPDF417 symbol size is 12 stacked rows by 3 columns. The CurrentSize property can be used to get the factual symbol size. mpSize_1_20. mpSize_1_17.1. Description: The property specifies the minimum symbol size for a MicroPDF417 barcode symbol. These values denotation the number of columns and rows in every symbol size. mpSize_1_28. They are defined in the pCompactMatrix unit.101 MinSize (TBarcode2D_MicroPDF417) Specifies the minimum symbol size for an MicroPDF417 barcode symbol. See also the "Symbol sizes" section in the "TBarcode2D_MicroPDF417" article. mpSize_3_32. mpSize_3_10. mpSize_4_26. Description: There are 32 vertical sizes of Compact Matrix symbol. These symbol size values are defined in the pMicroPDF417 unit. the MinSize property's value is always less than or equal to the MaxSize property's value. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. the MinVersion property's value is always less than or equal to the MaxVersion property's value. the MinVersion property's value is always less than or equal to the MaxVersion property's value. And the maximum version (specified by the MaxVersion property) together with the maximum number of segments (specified by the MaxSegments property) indicates the maximum symbol size for the Compact Matrix barcode symbol.13. Syntax: type { Defined in the pHanXinCode unit } 180 . They are defined in the pGridMatrix unit.. referred to as version 1 to 13. in increasing order of size and data capacity. The CurrentVersion property can be used to get the factual version. the MaxVersion property will be automatically changed to equal to this property's value.103 MinVersion (TBarcode2D_GridMatrix) Specifies the minimum symbol version (symbol size) for a Grid Matrix barcode symbol. See also the "Symbol sizes" section in the "TBarcode2D_GridMatrix" article. the MaxVersion property will be automatically changed to equal to this property's value. See also the "Symbol sizes" section in the "TBarcode2D_CompactMatrix" article.2D Barcode VCL Components User Manual The minimum version together with the minimum number of segments (specified by the MinSegments property) indicates the minimum symbol size for a Compact Matrix barcode symbol. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by this property and the maximum symbol version (symbol size) that's specified by the MaxVersion property. It can be one of values from 1 to 13. if the property is set to a value greater than the MaxVersion property's value. Syntax: type { Defined in the pGridMatrix unit } TGridMatrix_Version = 1.104 MinVersion (TBarcode2D_HanXinCode) Specifies the minimum symbol version (symbol size) for a Han Xin Code barcode symbol. Note. In other words. if the property is set to a value greater than the MaxVersion property's value.1. In other words.1. The CurrentVersion property can be used to get the factual symbol version (symbol size). Based on the stretch order (specified by the StretchOrder property). A. Note. The property specifies the minimum symbol version (symbol size) for a Grid Matrix barcode symbol. Description: There are thirteen sizes of Grid Matrix symbol. A. property MinVersion: TGridMatrix_Version. See also the "Symbol sizes" section in the "TBarcode2D_MicroQRCode" article. the MaxVersion property will be automatically changed to equal to this property's value. Syntax: type { Defined in the pMicroQRCode unit } TMicroQRCode_Version = 1. A. referred to as version 1 to 84. Note.1. property MinVersion: THanXinCode_Version. they are defined in the pMicroQRCode unit. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by this property and the maximum symbol version (symbol size) that's specified by the MaxVersion property..105 MinVersion (TBarcode2D_MicroQRCode) Specifies the minimum symbol version (symbol size) for a Micro QR Code barcode symbol. Description: There are eighty-four sizes of Han Xin Code symbols. property MinVersion: TMicroQRCode_Version. in increasing order of size and data capacity. In other words. the MaxVersion property will be automatically changed to equal to this property's value.2D Barcode VCL Components User Manual THanXinCode_Version = 1.. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by this property and the maximum symbol version (symbol size) that's specified by the MaxVersion property. It can be one of values from 1 to 84. A. See also the "Symbol sizes" section in the "TBarcode2D_HanXinCode" article. They are defined in the pHanXinCode unit. if the property is set to a value greater than the MaxVersion property's value.84. Note. In other words. It can be one of values from 1 to 4. if the property is set to a value greater than the MaxVersion property's value. Description: The property specifies the minimum symbol version (symbol size) for a Micro QR Code barcode symbol. the MinVersion property's value is always less than or equal to the MaxVersion property's value.106 MinVersion (TBarcode2D_QRCode) 181 . The CurrentVersion property can be used to get the factual symbol version (symbol size). the MinVersion property's value is always less than or equal to the MaxVersion property's value. The CurrentVersion property can be used to get the factual symbol version (symbol size). The property specifies the minimum symbol version (symbol size) for a Han Xin Code barcode symbol.4.1. It can be one of values from 1 to 40. then the rotation operation. If barcode symbols are obtained using a reflected optical path.2D Barcode VCL Components User Manual Specifies the minimum symbol version (symbol size) for a QR Code barcode symbol. they will not be included in the barcode symbol. Description: The property specifies whether the barcode symbol is reversed right to left (horizontal mirror reversal). Description: The property specifies the minimum symbol version (symbol size) for a QR Code barcode symbol.) Specifies whether the barcode symbol is reversed right to left (horizontal mirror reversal). TBarcode2D_QRCode. you can set the Mirror property to true. or the angle parameter isn't equal to zero degree in the DrawTo or the Print methods). Syntax: type { Defined in the pQRCode unit } TQRCode_Version = 1. if the property is set to a value greater than the MaxVersion property's value. trailing. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the barcode symbol is represented using non-left-to-right orientation (the Orienation property isn't equal to boLeftRight. See also the "Symbol sizes" section in the "TBarcode2D_QRCode" article. In other words. the MinVersion property's value is always less than or equal to the MaxVersion property's value. They are defined in the pQRCode unit. The CurrentVersion property can be used to get the factual symbol version (symbol size). the left to right reversal operation will be performed firstly. See diagram: If the leading. Note. The smallest symbol version (symbol size) that accommodates the barcode text will be automatically selected between the minimum symbol version (symbol size) specified by this property and the maximum symbol version (symbol size) that's specified by the MaxVersion property. and will not be reversed. property MinVersion: TQRCode_Version. a reversed scan direction or from behind through a clear substrate. top. etc. Syntax: property Mirrored: Boolean..40. See diagram: 182 .107 Mirrored (TBarcode2D_AztecCode. TBarcode2D_DataMatrix.1. A. the MaxVersion property will be automatically changed to equal to this property's value. and bottom quiet zones are represented (the ShowQuietZone property is set to true). so that the barcode symbols are easily autodiscriminated and decode with a standard reader. and a class of service code assigned by the carrier are included in the structured carrier message. It encodes a structured carrier message with a numeric postal code.108 Mode (TBarcode2D_MaxiCode) Specifies which mode of MaxiCode symbol will be used to generate the MaxiCode barcode symbol. The mode 5 is similar to mode 4. 6: Indicates to use the mode 6. a country code. It encodes an unformatted message. 3: Indicates to use the mode 3. The symbol employs enhanced error correction for the structured carrier message and standard error correction for the secondary message. The barcode message is divided into a primary message and a secondary message internally.. The symbol employs enhanced error correction for the structured carrier message and standard error correction for the secondary message. but the postal code field encodes 6 alphanumeric characters. the symbol employs enhanced error correction for the primary message and standard error correction for the secondary message. and an optional secondary message. The barcode message is divided into a primary message and a secondary message internally.1. It encodes a message used to program the reader system. and an optional secondary message. It can be one of these values (defined in the pMaxiCode unit): 2: Indicates to use the mode 2. 5: Indicates to use the mode 5. The mode 3 is similar to mode 2. It encodes a structured carrier message with an alphanumeric postal code. Syntax: type { Defined in the pMaxiCode unit } TMaxiCode_Mode = 2.2D Barcode VCL Components User Manual A. Description: The property specifies which mode of MaxiCode symbol will be used to generate the MaxiCode barcode symbol. You can set the AutoMode property to true. And use the CurrentMode property to get the factual mode. in order to automatically select the suitable mode depending on the barcode text and the value of this property. A. A numeric postal code. See also the "Modes" sections in the "TBarcode2D_MaxiCode" article. property Mode: TMaxiCode_Mode. See also the "AutoMode" property. and a class of service code assigned by the carrier are included in the structured carrier message.109 Module 183 . a country code. the symbol employs enhanced error correction for the primary message and standard error correction for the secondary message. An alphanumeric postal code. the symbol employs enhanced error correction for both the primary and secondary messages. 4: Indicates to use the mode 4.6.1. It encodes an unformatted message. but it employs enhanced error correction for secondary messages. The barcode message is divided into a primary message and a secondary message internally. TBarcode2D_RSS14.UCC composite barcode symbol.110 Options (TBarcode2D_MicroPDF417) The Options property is an advanced feature which allows low level control over data encoding for a MicroPDF417 symbol. if its Linear property is set. the module is a regular hexagonal shape. and TBarcode2D_MicroQRCode barcode symbologies. 184 .1. including spacing between modules. TBarcode2D_DataMatrix. The property specifies the module width in pixels. the property specifies the module width and height in pixels. The property specifies the horizonal width of a module. TBarcode2D_GridMatrix. the module is the thinest bar (or space) in the barcode symbol. the 2D symbol and the linear symbol are assembled to generate an EAN. the module is single cell in the matrix symbol used to encode one bit data. it's the center to center horizontal distance between adjacent modules. See diagram: A. in pixels. including TBarcode2D_Code16K. In the TBarcode2D_AztecCode. Syntax: type { Defined in the pPDF417Com unit } TPDF417_Option = (poIgnoreShiftBeforeECI. See diagram: In the TBarcode2D_MaxiCode symbology. TBarcode2D_CompactMatrix. TBarcode2D_PDF417. TBarcode2D_CCC. TBarcode2D_AztecRunes. TBarcode2D_CCB.UCC composite symbol (including both 2D and linear symbols). TBarcode2D_DataMatrixECC200. the property specifies the module width for entire EAN. in pixels. Also. See diagram: Note. TBarcode2D_QRCode. Syntax: property Module: Integer. or TBarcode2D_CCC. and TBarcode2D_RSSExpanded symbologies. the module is a suqare shape. TBarcode2D_CCA. TBarcode2D_CCB. poFirst904TextMixedLatch. for the 2D component TBarcode2D_CCA. For the Matrix 2D barcode symbologies. TBarcode2D_RSSLimited. TBarcode2D_MicroPDF417.2D Barcode VCL Components User Manual Specifies the module size in pixels. TBarcode2D_HanXinCode. See diagram: For Stacked 2D barcode symbology and Linear 1D barcode symbologies. Description: The property specifies the module size in pixels in the horizontal direction. poFirst903TextAlphaLatch. 185 . Normally. it normally implies a mode latch to Numeric compaction mode. If the value isn't included in Options property. the value indicates that it implies a mode latch to Alpha sub-mode of Text compaction mode. it normally implies a mode latch to Numeric Compaction mode. it represents a leading FNC1 character in First position mode. Also. the value indicates that it implies a mode latch to Alpha sub-mode of Text Compaction mode. Also. the value indicates that it implies a mode latch to Alpha submode of Text Compaction mode. po914TextAlphaLatch: The function codeword 914 represents a leading FNC1 character in First position mode and indicates that the data begins with an implied Application Identifier is 10. po907TextAlphaLatch. 13. Also. the submode invoked immediately prior to the ECI escape sequence is preserved for the encodation immediately after it. it normally implies a mode latch to Numeric Compaction mode. it encodes that the data begins with a 6-digit date field (Application Identifier is 11. sub-mode latches and shifts are preserved across an ECI escape sequence. and thus a sub-mode shift immediately before an ECI escape sequence is not ignored. Also. the value indicates that it implies a mode latch to Alpha sub-mode of Text compaction mode. it normally implies a mode latch to Mixed sub-mode of Text Compaction mode. po910TextAlphaLatch: The function codeword 910 indicates that the MicroPDF417 symbol's data output shall conform with the Code128 specification. in order to match the reader. the sub-mode shift immediately before an ECI escape sequence is ignored. Also. Also. If the value is included in the Options property. but a sub-mode latch immediately before an ECI escape sequence is never ignored. the encoding algorithm and meanings of some function codewords don't conform with the MicroPDF417 specification. poFirstFNC1MatchAI01. po907TextAlphaLatch: The function codeword 907 represents a leading FNC1 character in First position mode. it normally implies a mode latch to Numeric compaction mode. it normally implies a mode latch to Mixed sub-mode of Text Compaction mode. The value indicates that it only implies a mode latch to Alpha sub-mode of Text compaction mode. po915TextAlphaLatch: The function codeword 915 represents a leading FNC1 character in First position mode and indicates that the data begins with an implied Application Identifier is 21. po908TextAlphaLatch: The function codeword 908 followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z". Also. The property can be used to change the encoding algorithm and meanings of these fucntion codewords. and this date field may be followed by an implied Application Identifier 10 or 21 as well. the value indicates that it implies a mode latch to Alpha sub-mode of Text compaction mode. the function codeword 912 represents a leading FNC1 character in First position mode and implies a mode latch to Numeric Compaction mode. Also. po915TextAlphaLatch. po912TextAlphaLatch. po906TextAlphaLatch: The function codeword 906 represents a leading FNC1 character in First position mode. it normally implies a mode latch to Mixed sub-mode of Text compaction mode. 15. or a two-digit number) represents a leading FNC1 character in "Second position" mode. or 17). poFirst903TextAlphaLatch: If the function codeword 903 is placed at beginning of barcode text. the value indicates that it implies a mode latch to Alpha sub-mode of Text compaction mode. { Defined in the pMicroPDF417 unit } TMicroPDF417_Options = TPDF417_Options. the value indicates that it implies a mode latch to Mixed sub-mode of Text Compaction mode. Thus. Description: For some reader. it represents a leading FNC1 character in First position mode. Also. The following list describes the values that can be included in the Options property (defined in the pPDF417Com unit): poIgnoreShiftBeforeECI: An ECI escape sequence may be placed anywhere within Text Compaction mode. po910TextAlphaLatch. poFirst904TextMixedLatch: If the function codeword 904 is placed at beginning of barcode text. the value indicates that it implies a mode latch to Alpha sub-mode of Text Compaction mode. property Options: TMicroPDF417_Options. the function codeword 914 shall be followed by at least 1 numeric character. { Defined in the pPDF417Com unit } TPDF417_Options = set of TPDF417_Option. po908TextAlphaLatch. po912TextAlphaLatch: Normally.2D Barcode VCL Components User Manual po906TextAlphaLatch. it normally implies a mode latch to Mixed sub-mode of Text Compaction mode. poMicroPDF417Explicit901). po914TextAlphaLatch. Also. and thus a sub-mode shift immediately before an ECI escape sequence is not ignored. Thus. Normally. the value indicates that it implies a mode latch to Mixed sub-mode of Text Compaction mode. in order to work with these reader. and "Extended Channel Interpretation (ECI)" sections in the "TBarcode2D_MicroPDF417" article. it normally implies a mode latch to Numeric Compaction mode. the encoding algorithm and meanings of some function codewords don't conform with the PDF417 specification. po908TextAlphaLatch. the value indicates that it implies a mode latch to Alpha sub- 186 . poFirst904TextMixedLatch: If the function codeword 904 is placed at beginning of barcode text. it represents a leading FNC1 character in First position mode. property Options: TPDF417_Options. po906TextAlphaLatch: The function codeword 906 represents a leading FNC1 character in First position mode. the initial compaction mode in effect at the start of each symbol shall always be Byte compaction mode. Also. but a sub-mode latch immediately before an ECI escape sequence is never ignored. See also the "Character set". Also. poFirstFNC1MatchAI01. in order to match the reader.g. po915TextAlphaLatch. po912TextAlphaLatch. but some readers use the other compaction mode (e. The following list describes the values that can be included in the Options property (defined in the pPDF417Com unit): poIgnoreShiftBeforeECI: An ECI escape sequence may be placed anywhere within Text Compaction mode. poFirst904TextMixedLatch. sub-mode latches and shifts are preserved across an ECI escape sequence. poFirst903TextAlphaLatch. the function codeword 905 will be selected to encode the FNC1 character. poMicroPDF417Explicit901). A. po914TextAlphaLatch. the checkdigit isn't required) is placed at beginnig of barcode. { Defined in the pPDF417Com unit } TPDF417_Options = set of TPDF417_Option. it represents a leading FNC1 character in First position mode. if the "\f" followed by a SSC-14 number (including Application Identifier 01 and 13-digit data. Description: For some reader. Alpha sub-mode of Text compaction) as the initial compaction mode. Otherwise. the function codeword 915 shall be followed by at least 1 numeric character. poFirst903TextAlphaLatch: If the function codeword 903 is placed at beginning of barcode text. po907TextAlphaLatch. po910TextAlphaLatch. it normally implies a mode latch to Mixed sub-mode of Text Compaction mode.2D Barcode VCL Components User Manual If the value isn't included in Options property.111 Options (TBarcode2D_PDF417) The Options property is an advanced feature which allows low level control over data encoding for a PDF417 symbol. the function codeword 905 will be selected to encode the FNC1 character in order to reduce the symbol size (the leading Application Identifier 01 is not encoded in the SSC-14 number). the sub-mode shift immediately before an ECI escape sequence is ignored. poMicroPDF417Explicit901: In the specification of MicroPDF417. The property can be used to change the encoding algorithm and meanings of these fucntion codewords. If the value is included in the Options property. The value indicates to explicitly insert a mode latch to Byte compaction mode into beginning of symbol data. the submode invoked immediately prior to the ECI escape sequence is preserved for the encodation immediately after it. po906TextAlphaLatch. the value indicates that it implies a mode latch to Alpha sub-mode of Text Compaction mode. Syntax: type { Defined in the pPDF417Com unit } TPDF417_Option = (poIgnoreShiftBeforeECI. it normally implies a mode latch to Mixed sub-mode of Text Compaction mode.1. "Escape sequences". poFirstFNC1MatchAI01: When the poFirstFNC1MatchAI01 is included in the value of Options property. boBottomTop). and "Extended Channel Interpretation (ECI)" sections in the "TBarcode2D_PDF417" article. and this date field may be followed by an implied Application Identifier 10 or 21 as well. the function codeword 915 shall be followed by at least 1 numeric character. Also. If the value isn't included in Options property. or a two-digit number) represents a leading FNC1 character in "Second position" mode. the function codeword 914 shall be followed by at least 1 numeric character. if the "\f" followed by a SSC-14 number (including Application Identifier 01 and 13-digit data. Also. it normally implies a mode latch to Mixed sub-mode of Text Compaction mode. the value indicates that it implies a mode latch to Alpha sub-mode of Text compaction mode. Also. You 187 . Syntax: type { Defined in the pBarcode2D unit } TBarcodeOrientation = (boLeftRight. po908TextAlphaLatch: The function codeword 908 followed by an application indicator (single Latin alphabetic character from the set "a" to "z" and "A" to "Z".2D Barcode VCL Components User Manual mode of Text Compaction mode. it normally implies a mode latch to Mixed sub-mode of Text compaction mode. Description: Specifies the direction of the barcode symbol. Also. boRightLeft.112 Orientation Controls the orientation of the barcode symbol. the value indicates that it implies a mode latch to Alpha sub-mode of Text compaction mode. Also. "Escape sequences". the function codeword 905 will be selected to encode the FNC1 character. A. po907TextAlphaLatch: The function codeword 907 represents a leading FNC1 character in First position mode. please read the ShowQuietZone property about whether or not the quiet zones will be represented) will be rotated based on the property value. it normally implies a mode latch to Numeric Compaction mode. Otherwise. the function codeword 905 will be selected to encode the FNC1 character in order to reduce the symbol size (the leading Application Identifier 01 is not encoded in the SSC-14 number).1. The barcode symbol and its quiet zones (if they are represented. poMicroPDF417Explicit901: The value isn't used in the TBarcode2D_PDF417 component. property Orientation: TBarcodeOrientation. 13. po914TextAlphaLatch: The function codeword 914 represents a leading FNC1 character in First position mode and indicates that the data begins with an implied Application Identifier is 10. po915TextAlphaLatch: The function codeword 915 represents a leading FNC1 character in First position mode and indicates that the data begins with an implied Application Identifier is 21. the function codeword 912 represents a leading FNC1 character in First position mode and implies a mode latch to Numeric Compaction mode. The value indicates that it only implies a mode latch to Alpha sub-mode of Text compaction mode. the value indicates that it implies a mode latch to Alpha sub-mode of Text Compaction mode. po912TextAlphaLatch: Normally. po910TextAlphaLatch: The function codeword 910 indicates that the PDF417 symbol's data output shall conform with the Code128 specification. it normally implies a mode latch to Numeric compaction mode. If the value isn't included in Options property. it encodes that the data begins with a 6-digit date field (Application Identifier is 11. the value indicates that it implies a mode latch to Alpha sub-mode of Text compaction mode. 15. poFirstFNC1MatchAI01: When the poFirstFNC1MatchAI01 is included in the value of Options property. Also. it normally implies a mode latch to Numeric compaction mode. the value indicates that it implies a mode latch to Alpha sub-mode of Text compaction mode. boTopBottom. the checkdigit isn't required) is placed at beginnig of barcode. or 17). See also the "Character set". property Placement: TCompactMatrix_Placement. 188 . and they will be rotated as an entirety.1. The property specifies which placement method will be used to generate the Compact Matrix symbol. if its Linear property is set.2D Barcode VCL Components User Manual can use the LeadingQuietZone.UCC composite barcode symbol. It can be one of values pmSequence and pmInterlacement. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): A. or TBarcode2D_CCC. Description: Compact Matrix symbology has two symbol charcacters placement methods as sequence and interlacement. TrailingQuietZone. and BottomQuietZone properties to specify the size of these quiet zones in modules. pmInterlacement). See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): boBottomTop: Bottom to top vertical direction (rotates the barcode symbol 90 degrees counter-clockwise). Syntax: type TCompactMatrix_Placement = (pmSequence. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): boRightLeft: Right to left horizontal direction (rotates the barcode symbol 180 degrees counter-clockwise).113 Placement (TBarcode2D_CompactMatrix) Specifies how to place symbol characters when encoding the barcode text into a Compact Matrix symbol. For the 2D component TBarcode2D_CCA. the 2D symbol and the linear symbol are assembled to generate an EAN. corresponding to the symbol charcacters placement methods sequence and interlacement. TBarcode2D_CCB. This property can be one of these values (defined in the pBarcode2D unit): boLeftRight: Left to right horizontal direction (rotates the barcode symbol 0 degrees counter-clockwise). See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): boTopBottom: Top to bottom vertical direction (rotates the barcode symbol 270 degrees counter-clockwise). TopQuietZone. 1.UCC composite barcode symbology.UCC composite symbol.114 ReviseVersion5 (TBarcode2D_HanXinCode) Specifies whether to revise the position of alignment pattern for a Han Xin Code version 5 symbol. Description: The property specifies whether to revise the position of alignment pattern for a Han Xin Code version 5 symbol. property RowHeight: TCCX_RowHeight.1. The CC-A and CC-B is two of the three choices for the 2D component in a barcode symbol encoded in EAN..1.UCC composite symbol. in modules. In general. if the symbol can be read by your reader. Syntax: property ReviseVersion5: Boolean. Syntax: type { Defined in the pCCCustom unit } TCCX_RowHeight = 1 . in modules. 99. See diagram: A. Description: The property specifies the height of each stacked row for the CC-A or CC-B 2D component of an EAN.2D Barcode VCL Components User Manual A. TBarcode2D_CCB) Specifies the height of each stacked row for the CC-A or CC-B 2D component of an EAN.115 RowHeight (TBarcode2D_CCA. defined in the pCCCustom unit). By default. See also the "Symbol sizes" section in the "TBarcode2D_HanXinCode" article. it shall be a minimum of 2 modules. please don't change it. it's set to false. It should be set to an integer between 1 and 99 (including the boundaries.116 RowHeight (TBarcode2D_Code16K) 189 . A. In general. in modules. in modules. or for the CC-C 2D component of an EAN. in modules.1. the operation will be ignored. 99. property RowHeight: TMicroPDF417_RowHeight.UCC composite barcode symbol. TBarcode2D_CCC) Specifies the height of each stacked row for a PDF417 stacked barcode symbol. Description: 190 .117 RowHeight (TBarcode2D_MicroPDF417) Specifies the height of each stacked row for a MicroPDF417 stacked barcode symbol. Description: The property specifies the height of each stacked row for a MicroPDF417 barcode symbol. defined in the pMicroPDF417 unit). It should be set to an integer between 1 and 99 (including the boundaries. Description: The property specifies the height of each stacked row for a Code 16K barcode symbol. Syntax: type { Defined in the pMicroPDF417 unit } TMicroPDF417_RowHeight = 1 . If the property is set to a value less than 8. Syntax: property RowHeight: Integer.. in modules.1. and the height of separator bar isn't included.2D Barcode VCL Components User Manual Specifies the height of each stacked row for a Code 16K stacked barcode symbol. property RowHeight: TPDF417_RowHeight. in modules. See diagram: A.118 RowHeight (TBarcode2D_PDF417. 99. It should be set to an integer greater than or equal to 8. Syntax: type { Defined in the pPDF417Custom unit } TPDF417_RowHeight = 1 . See diagram: A.. it shall be a minimum of 2 modules. or for the CC-C 2D component of an EAN.119 RowHeight (TBarcode2D_RSSExpanded) Specifies the height of each stacked row for an RSS Expanded barcode symbol. in modules.2D Barcode VCL Components User Manual The property specifies the height of each stacked row for a PDF417 barcode symbol. Syntax: property RowSymbols: Integer. defined in the pPDF417Custom unit). See diagram: A. the property specifies the height of each stacked row for the RSS Expanded Stacked barcode symbol. See diagram: For the RSS Expanded Stacked barcode symbol (the Style property is set to rsStacked). 191 .120 RowSymbols (TBarcode2D_RSSExpanded) Specifies the number of symbol segments in each row for an RSS Expanded Stacked symbol.UCC composite barcode symbology.UCC composite barcode symbol. See diagram: The property should be set to an integer greater than or equal to 34.1. Syntax: property RowHeight: Integer. in modules. it shall be a minimum of 3 modules. The CC-C is one of the three choices for the 2D component in a barcode symbol encoded in EAN. in modules. In general. in modules. The property should be set to an integer between 1 and 99 (including the boundaries.1. Description: For the RSS Expanded (Standard) barcode symbol (the Style property is set to rsStandard). the property specifies the height of the RSS Expanded (Standard) barcode symbol. A. in modules. in modules. in modules. in modules. In other words. See diagram: 192 . the property specifies the height of separator pattern row between top row and bottom row. the RSS Expanded Stacked symbol shall contain at least four symbol characters within its top row. Syntax: property SeparatorRowHeight: Integer. the value of RowSymbols property should be greater than or equal to 4. Syntax: property SeparatorRowHeight: Integer. Description: For the RSS-14 barcode symbols. it sepecifies the height of contiguous separator pattern row between the linear and 2D components of an EAN. if the Style property is set to the rsStacked (Stacked style) or rsStackedOmnidirectional (Stacked Omnidirectional style). It's an integer between 2 and 20 (including the boundaries. It's an integer between 1 and 4 (including the boundaries). only even values are valid). See also the "Symbol size" section in the "TBarcode2D_RSSExpanded" article.UCC composite symbol.UCC Composite symbol which use the RSS symbol (including any style of RSS-14.1. TBarcode2D_RSSExpanded) Specifies the height of separator pattern row between symbol rows for RSS-14 (Stacked and Stacked Omnidirectional) and RSS Expanded (Stacked) symbols.121 SeparatorBarHeight (TBarcode2D_Code16K) Specifies the height of separator bar for Code 16K barcode symbology. Description: The property specifies the height of separator bar for Code 16K barcode symbology. A. or abutting the top or bottom of first or last row respectively.122 SeparatorRowHeight (TBarcode2D_RSS14. If the RSS Expanded Stacked symbol is used together with a 4-column CC-A or a 4-column CC-B barcode symbol to create the EAN. See diagram: A. the barcode symbol will be stacked in two to eleven rows based on the total numbers of symbol segments and the number of symbol segments in each row. RSS Limited. or any style of RSS Expanded symbol) as its linear component.2D Barcode VCL Components User Manual Description: The property specifies the number of symbol segments in each row for an RSS Expanded Stacked symbol (the Style property is set to rsStacked). The separator bar is horizontal bar separating two rows of a Code 16K barcode symbol. Also. in modules.1. A.UCC Composite symbol (its Link2D property is set to true). in modules. the property specifies the height of contiguous separator pattern. in modules.2D Barcode VCL Components User Manual For the RSS Expanded barcode symbols. and "TBarcode2D_RSSExpanded" articles. in modules. See diagram: See also the "Composite symbol" section in the "TBarcode2D_RSS14". Syntax: property SeparatorRowHeight: Integer. if the Style property is set to rsStacked (Stacked style).1. in modules. See diagram: See also the "Composite symbol" section in the "TBarcode2D_RSSLimited" article. and the contiguous separator pattern is respresented (its Show2DSeparator property is set to true). and the contiguous separator pattern is respresented (its Show2DSeparator property is set to true).123 SeparatorRowHeight (TBarcode2D_RSSLimited) Specify the height of contiguous separator pattern row between the linear and 2D components of an EAN. or any style of RSS Expanded symbol) is used together with an adjacent 2D component to create the EAN. See diagram: If an RSS barcode symbol (including any style of RSS-14. 193 .UCC Composite symbol (itsLink2D property is set to true). RSS Limited.UCC Composite symbol which use the RSS Limited symbol as its linear component. the property specifies the height of contiguous separator pattern too. the property specifies the height of separator pattern row between symbol rows. Description: If an RSS Limited barcode symbol is used together with an adjacent 2D component to create the EAN. "TBarcode2D_RSSLimited". in modules. Description: There are two shapes of Data Matrix (ECC 200) symbols. and if the MaxSize property value isn't between dmSize_10_10 and dmSize_144_144 then it's default to dmSize_144_144. A. Description: An RSS barcode symbol (including RSS-14. and if the MaxSize property value isn't between dmSize_8_18 and dmSize_16_48 then it's default to dmSize_16_48.UCC composite symbols using the RSS symbol.UCC composite symbol.124 Shape (TBarcode2D_DataMatrixEcc200) Specifies which shape of Data Matrix (ECC 200) symbol will be selected to generate the Data Matrix (ECC 200) barcode symbol. RSS Limited. dsRectangle). In this case. if the MinSize property value isn't between dmSize_10_10 and dmSize_144_144 then it's default to dmSize_10_10. See also the "Shapes" section in the "TBarcode2D_DataMatrixECC2OO" article.UCC composite symbol. The property specifies which shape of Data Matrix (ECC 200) symbol will be selected to generate the barcode symbol. property Shape: TDataMatrixEcc200_Shape.1. square and rectangle. See digiam (the color of separator patterns are changed to red in order to accentuate them): The height of contiguous separator pattern is specified by the SeparatorRowHeight (for RSS-14 and RSS Expanded components) and SeparatorRowHeight (for the RSS Limited component) property. A contiguous separator pattern is required between the RSS and the 2D components in an EAN. TBarcode2D_Expanded) Specifies whether to represent a 2D contiguous separator pattern on top of the RSS-14. The property specifies whether to represent the contiguous separator pattern on top of the RSS symbol. TBarcode2D_RSSLimited. RSS Limited. 194 . Syntax: type { Defined in the pDataMatrixEcc200 unit } TDataMatrixEcc200_Shape = (dsSquare. Syntax: property Show2DSeparator: Boolean.1. dsRectangle: Indicates to generate the rectangle symbols. In this case. if the MinSize property value isn't between dmSize_8_18 and dmSize_16_48 then it's default to dmSize_8_18. and RSS Expanded) can be used together with a CC-A or a CC-B 2D component to create the EAN. The property can be one of these values (defined in the pDataMatrixEcc200 unit): dsSquare: Indicates to generate the square symbols.125 Show2DSeparator (TBarcode2D_RSS14. in order to create EAN.2D Barcode VCL Components User Manual A. or RSS Expanded symbols. TBarcode2D_CCB. If the property value is set to true. and "TBarcode2D_RSSExpanded" articles. trailing quiet zone. both the Show2DSeparator and the Link2D properties must be set to true. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 195 . they are represented using the color specified by the BarColor property. and bottom quiet zone. these quiet zones are represented. Description: The property specifies whether to represent the leading quiet zone. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): You can use the LeadingQuietZone. and TBarcode2D_CCC barcode components. the leading and trailing quiet zones (their size is specified by LeadingQuietZone and TrailingQuietZone properties) will be represented always. if the Linear property is set. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. TopQuietZone. If you use the RSS symbol as the Linear property's value of a TBarcode2D_CCA or TBarcode2D_CCB 2D barcode component to create the EAN. and BottomQuietZone properties specify the size of quiet zones for entire EAN. they are not only for the CC-A 2D symbol. the 2D symbol and the linear symbol are assembled to generate an EAN. in order to represent the contiguous separator pattern.1. top quiet zone. top quiet zone. TrailingQuietZone. the Show2DSeparator and the Link2D properties will be set to true automatically.126 ShowQuietZone Specifies whether to represent the leading quiet zone. and bottom quiet zone. TopQuietZone. And they are represented using the color specified by the SpaceColor property if the Inversed property is set to false.UCC composite symbol. "TBarcode2D_RSSLimited". and BottomQuietZone properties to specify the size of these quiet zones in modules.2D Barcode VCL Components User Manual Note. even if the ShowQuietZone property value is set to false. And theLeadingQuietZone. Otherwise. Otherwise. TrailingQuietZone. See also the "Composite symbol" section in the "TBarcode2D_RSS14".UCC composite symbol. A. Syntax: property ShowQuietZone: Boolean. they don't be represented. trailing quiet zone.UCC composite barcode symbol. For the TBarcode2D_Code16K barcode components. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. regardless of whether the ShowQuietZone property is set to true or false. and for the TBarcode1D_ENA8 component. regardless of whether the ShowQuietZone property is set to true or false. if the linear component is the TBarcode1D_UPCE. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 196 . the trailing quiet zone will be represented even if the ShowQuietZone property is set to false. TBarcode1D_ENA8. or TBarcode1D_EAN13. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. the ShowQuietZoneMark property is set to true too). and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. the leading quiet zone will be represented even if the ShowQuietZone property is set to false. TBarcode1D_EAN13.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone property is set to true). TBarcode1D_UPCE0. TBarcode1D_ENA8. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. or TBarcode1D_EAN128. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. Similarly. TBarcode1D_UPCA. and its human readable text is represented and exceeds the beginning or end of entire EAN. TBarcode2D_CCB. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. In other words. TBarcode1D_UPCA. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. if the linear component is the TBarcode1D_UPCE. and TBarcode2D_CCC barcode components. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA. TBarcode1D_UPCE0. the ShowQuietZoneMark property is set to true too).2D Barcode VCL Components User Manual For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. TBarcode1D_UPCE1. TBarcode1D_UPCE1. See diagram: A. the color specified by the BarColor property will be used. it specifies the color for all bars.127 SpaceColor Specifies the color for all spaces or light modules in the barcode symbol. TBarcode2D_RSSLimited. Description: For the Matrix 2D barcode symbologies. TBarcode2D_CCB. and bottom quiet zone are represented (the ShowQuietZone property value is set to true). TBarcode2D_CCB. TBarcode2D_HanXinCode.UCC composite barcode symbol. in modules. Syntax: property SpaceColor: TColor. It should be set to an integer greater than or equal to 2. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode2D_PDF417. TBarcode2D_AztecRunes. A. TBarcode2D_MicroPDF417. The module is single cell in the matrix symbol used to encode one bit data. TBarcode2D_CompactMatrix. and TBarcode2D_RSSExpanded. Description: The property specifies the width of start pattern for a Compact Matrix barcode symbol. the color specified by this SpaceColor property will be used to represend them if the Inversed property is set to false. TBarcode2D_DataMatrix.1. For Stacked 2D barcode symbologies and Linear 1D barcode symbologies. it's clWhite. the property specifies the color of every light module in matrix symbol if the Inversed property is set to false.UCC composite symbol (including both 2D and linear symbols).1. and TBarcode2D_MicroQRCode.129 StopWidth (TBarcode2D_CompactMatrix) 197 . TBarcode2D_MaxiCode. nominally a suqare shape. Syntax: property StartWidth: Integer. By default.128 StartWidth (TBarcode2D_CompactMatrix) Specifies the width of start pattern for a Compact Matrix barcode symbol.1.2D Barcode VCL Components User Manual A. TBarcode2D_DataMatrixECC200. it's a regular hexagonal shape. the property specifies the color for all spaces in the barcode symbol if the Inversed property is set to false. TBarcode2D_RSS14. trailing quiet zone. in MaxiCode symbology. otherwise. otherwise. in modules. TBarcode2D_CCC. when the leading quiet zone. or TBarcode2D_CCC. if its Linear property is set. the property is in effect for entire EAN. TBarcode2D_QRCode. TBarcode2D_GridMatrix. For the 2D component TBarcode2D_CCA. including TBarcode2D_AztecCode. Also. including TBarcode2D_Code16K. If the property is set to a value less than 2. top quiet zone. otherwise. TBarcode2D_CCA. an exception will be raised. it specifies the color of every dark module. Syntax: property StopWidth: Integer. in modules. in modules. It should be set to an integer greater than or equal to 2. if its Linear property is set. or TBarcode2D_CCC. See diagram: 198 . You can use the LeadingQuietZone.UCC composite barcode symbol. an exception will be raised. TopQuietZone. the barcode symbol will be reduced/stretched to fit the size specified by BarcodeWidth and BarcodeHeight properties. Syntax: property Stretch: Boolean. The values of BarcodeWidth and BarcodeHeight properties will be ignored. If the property is set to true. it specifies the right margin of the barcode symbol (the Orientation property is set to "boLeftRight" or "boRightLeft"). See diagram: A.130 Stretch Specifies whether to reduce/stretch the barcode symbol to specified size. If the property is set to false. For the 2D component TBarcode2D_CCA. TBarcode2D_CCB. You can get the width and height by using the Size method. See also the "BarcodeWidth" property. If the property value is less than or equal to zero.1.2D Barcode VCL Components User Manual Specifies the width of stop pattern for a Compact Matrix barcode symbol. and BottomQuietZone properties to specify the size of these quiet zones in modules. the 2D symbol and the linear symbol are assembled to generate an EAN. Description: The property specifies the width of stop pattern for a Compact Matrix barcode symbol. The barcode symbol width and height will be calculated based on the Module property value. And use the ShowQuietZone property to specify whether to represent these quiet zones. the barcode symbol will not be reduced/stretched. If the property is set to a value less than 2. The BarcodeWidth property specifies the width of barcode symbol. The barcode symbol together with its quiet zones (if they are represented) will be reduced/stretched if the property is set to true. and they will be reduced/stretched as an entirety. Description: The property specifies whether to reduce/stretch the barcode symbol to fit the size specified by BarcodeWidth and BarcodeHeight properties. or the bottom margin of the barcode symbol (the Orientation property is set to "boTopBottom" or "boBottomTop"). TrailingQuietZone. And the maximum number of stacked rows (specified by the MaxRows property) together with the maximum number of columns (specified by the MaxColumns property) indicates the maximum symbol size for it.131 StretchOrder (TBarcode2D_CCC) Specifies the priority order of selecing appropriate symbol size for the CC-C component of an EAN.UCC composite barcode symbol. If the maximum number of columns is greater than the value of MaxColumns property. only symbol sizes that their total number of CC-C columns is less than 199 . See diagram: A. or the right margin of the barcode symbol (the Orientation property is set to "boTopBottom" or "boBottomTop"). soRowColumn. Syntax: type { Defined in the pCCC unit } TCCC_StretchOrder = (soMaxColumnsInLinear. The property can be one of these values (defined in the pCCC unit): soMaxColumnsInLinear: The maximum number of columns that enables the CC-C 2D component (including those for the start and stop patterns and row indicators) to fit within the lateral boundaries of the linear component (including its quiet zones) will be chosen. the MinRows property's value will be used as the final chosen number of stacked rows. See also the "BarcodeHeight" property. soMaxColumnsOutLinear. According to the priority order. If the property value is less than or equal to zero. The property specifies a priority order in order to automatically select the symbol size. property StretchOrder: TCCC_StretchOrder. it specifies the bottom margin of the barcode symbol (the Orientation property is set to "boLeftRight" or "boRightLeft"). Between the minimum symbol size (specified by the MinColumns and MinRows properties) and the maximum symbol size (specified by the MaxColumns and MaxRows properties). the MaxColumns property's value will be used as the final chosen number of columns. soColumnRow). an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. According to the final chosen number of columns and the error checking and correcting level specified by the ECCLevel property. soMaxColumnsOutLinear: Create a wider CC-C symbol that exceedsthe right bound of the trailing quiet zone of the linear component in order to minimize the height of the CC-C 2D component.1. the first symbol size (number of rows and columns) that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size.UCC composite barcode symbol. Description: The minimum number of stacked rows (specified by the MinRows property) and the minimum number of columns (specified by the MinColumns property) indicates the minimum symbol size for the CC-C 2D component of an EAN. and the barcode text is specified in the Data property) event will occur. If the minimum number of stacked rows is less than the value of MinRows property.2D Barcode VCL Components User Manual The BarcodeHeight property specifies the height of barcode symbol. the minimum number of stacked rows that accommodates the barcode text will be automatically chosen. If the barcode text cannot be accommodated by the maximum symbol size (specified by the MaxColumns and MaxRows properties). and the barcode text is specified in the Data property) event will occur. the number of columns will be increased and the number of stacked rows will be reset to minimum number of stacked rows (specified by the MinRows property). in this case (the barcode text cannot always be accommodated). Syntax: type 200 . If the number of stacked rows has reached the maximum number of stacked rows (specified by the MaxRows property) but the barcode text cannot yet be accommodated. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. and the barcode text is specified in the Data property) event will occur. According to the data capacity. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later.132 StretchOrder (TBarcode2D_CompactMatrix) Specifies the priority order of selecing appropriate symbol size for a Compact Matrix barcode symbol. in this case (the barcode text cannot always be accommodated). the smallest symbol size that accommodates the barcode text and the error checking and correcting level (specified by the ECCLevel property) will be automatically selected. If the barcode text cannot be accommodated by the maximum symbol size (specified by the MaxColumns and MaxRows properties). A. Repeat these until the barcode text is accommodated by the symbol.2D Barcode VCL Components User Manual four times the number of stacked rows will be used in order to avoid very large width to height ratios and maintain angular tolerance for single-line scanners. the number of stacked rows will be increased and the number of columns will be reset to minimum number of columns (specified by the MinColumns property). but also the number of columns reachs maximum number of columns (specified by the MaxColumns property). the number of stacked rows will be increased firstly until it reachs the maximum number of stacked rows (specified by the MaxRows property) or the barcode text is accommodated by the symbol. or not only does the number of columns reach maximum number of columns (specified by the MaxColumns property). or not only does the number of stacked rows reach maximum number of stacked rows (specified by the MaxRows property). soRowColumn: If the CC-C symbol that use minimum symbol size (specified by the MinColumns and MinRows properties) cannot accommodate the barcode text. in increasing order of recovery capacity.1. If the number of columns has reached the maximum number of columns (specified by the MaxColumns property) but the barcode text cannot yet be accommodated. but also the number of stacked rows reachs maximum number of stacked rows (specified by the MaxRows property). See diagram: See also the "Symbol size" section in the "TBarcode2D_CCC" article. See diagram: soColumnRow: If the CC-C symbol that use minimum symbol size (specified by the MinColumns and MinRows properties) cannot accommodate the barcode text. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. the number of columns will be increased firstly until it reachs the maximum number of columns (specified by the MaxColumns property) or the barcode text is accommodated by the symbol. and the barcode text is specified in the Data property) event will occur. Repeat these until the barcode text is accommodated by the symbol. the first symbol size (version and number of segments) that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. Description: There are 32 vertical sizes of Compact Matrix symbol. soSegmentVersion: If the Compact Matrix symbol that use minimum symbol size (specified by the MinVersion and MinSegments properties) cannot accommodate the barcode text. soFixAspectWithQuietZones). soFixAspect. in increasing order of symbol height and data capacity. soFixAspect: An overall aspect ratio is specified by the minimum version (specified by the MinVersion property) and minumum number of segments (specified by the MinSegments property). or not only does the number of segments reach maximum number of segments (specified by the MaxSegments property). but also the number of segments reachs maximum number of segments (specified by the MaxSegments property).2D Barcode VCL Components User Manual { Defined in the pCompactMatrix unit } TCompactMatrix_StretchOrder = (soVersionSegment. and the barcode text is specified in the Data property) event will occur. referred to as version 1 to 32. the symbol version will be increased firstly until it reachs the maximum value (specified by the MaxVersion property) or the barcode text is accommodated by the symbol. If the barcode text cannot be accommodated by the maximum symbol size (specified by the MaxVersion and MaxSegments properties). the smallest symbol size that accommodates the barcode text will be automatically selected. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. Between the minimum symbol size (specified by the MinVersion and MinSegments properties) and the maximum symbol size (specified by the MaxVersion and MaxSegments properties). an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. If the number of segments has reached the maximum number of segments (specified by the MaxSegments property) but the barcode text cannot yet be accommodated. and the barcode text is specified in the Data 201 . in increasing order of recovery capacity. the number of segments will be increased and the version will be reset to minimum value (specified by the MinVersion property). the ratio is height to width of the symbol including quiet zones. but also the version reachs maximum value (specified by the MaxVersion property). in this case (the barcode text cannot always be accommodated). Repeat these until the barcode text is accommodated by the symbol. In horizontal orientation. The minimum version (specified by the MinVersion property) and the minimum number of segments (specified by the MinSegments property) indicates the minimum symbol size for a Compact Matrix barcode symbol. in increasing order of recovery capacity. and the barcode text is specified in the Data property) event will occur. soSegmentVersion. the version will be increased and the number of segments will be reset to minimum number of segments (specified by the MinSegments property). an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. The property can be one of these values (defined in the pCompactMatrix unit): soVersionSegment: If the Compact Matrix symbol that use minimum symbol size (specified by the MinVersion and MinSegments properties) cannot accommodate the barcode text. property StretchOrder: TCompactMatrix_StretchOrder. and the barcode text is specified in the Data property) event will occur. the ratio is height to width of the symbol excluding quiet zones. in this case (the barcode text cannot always be accommodated). the smallest symbol size that accommodates the barcode text will be automatically selected. If the barcode text cannot be accommodated by the maximum symbol size (specified by the MaxVersion and MaxSegments properties). According to the data capacity. The property specifies a priority order in order to automatically select the symbol size. The maximum version (specified by the MaxVersion property) and the maximum number of segments (specified by the MaxSegments property) indicates the maximum symbol size for the Compact Matrix barcode symbol. only symbol sizes that they approximately match the aspect ratio will be used. or not only does the version reach maximum value (specified by the MaxVersion property). Repeat these until the barcode text is accommodated by the symbol. If the version has reached the maximum value (specified by the MaxVersion property) but the barcode text cannot yet be accommodated. only symbol sizes that they approximately match the aspect ratio will be used. Between the minimum symbol size (specified by the MinVersion and MinSegments properties) and the maximum symbol size (specified by the MaxVersion and MaxSegments properties). According to the priority order. According to the data capacity. each Compact Matrix symbol consists of an array of segments with a minimum of 1 segment (maximum 32 segments). soFixAspectWithQuietZones: An overall aspect ratio is specified by the minimum version (specified by the MinVersion property) and minumum number of segments (specified by the MinSegments property). the number of segments will be increased firstly until it reachs the maximum number of segments (specified by the MaxSegments property) or the barcode text is accommodated by the symbol. 133 StretchOrder (TBarcode2D_MicroPDF417) Specifies the priority order of selecing appropriate symbol size for a MicroPDF417 barcode symbol. and the barcode text is specified in the Data property) event will occur. Description: The property specifies a priority order in order to automatically select the symbol size for a MicroPDF417 barcode symbol. Repeat these until the barcode text is accommodated by the symbol. See also the "Symbol sizes" section in the "TBarcode2D_CompactMatrix" article. soRowPrior. the number of rows will be increased firstly until it reachs the maximum number of rows (specified by the MaxSize property) or the barcode text is accommodated by the symbol. the number of rows will be increased and the number of columns will be reset to minimum number of columns (specified by the MinSize property). the first symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). in this case (tha barcode text cannot always be accommodated). A. soColumnPrior. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. the number of columns will be increased and the number of rows will be reset to minimum number of rows (specified by the MinSize property). property StretchOrder: TMicroPDF417_StretchOrder.1. According to the priority order. soGlobal_2. soGlobal_3. If the number of rows has reached the maximum number of rows (specified by the MaxSize property) but the barcode text cannot yet be accommodated. or the symbol size reachs maximum symbol size (specified by the MaxSize property). soColumnRow. Repeat these until the barcode text is accommodated by the symbol. soGlobal_1. See diagram: soColumnRow: If the MicroPDF417 symbol that use minimum symbol size cannot accommodate the barcode text. See diagram: 202 . Syntax: type { Defined in the pMicroPDF417 unit } TMicroPDF417_StretchOrder = (soRowColumn. in this case (tha barcode text cannot always be accommodated). an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. soGlobal_4). the number of columns will be increased firstly until it reachs the maximum number of columns (specified by the MaxSize property) or the barcode text is accommodated by the symbol. If the number of columns has reached the maximum number of columns (specified by the MaxSize property) but the barcode text cannot yet be accommodated. The property can be one of these values (defined in the pMicroPDF417 unit): soRowColumn: If the MicroPDF417 symbol that use minimum symbol size cannot accommodate the barcode text.2D Barcode VCL Components User Manual property) event will occur. and the barcode text is specified in the Data property) event will occur. or the symbol size reachs maximum symbol size (specified by the MaxSize property). mpSize_4_26. mpSize_3_38. mpSize_3_20. mpSize_1_20. mpSize_4_20. mpSize_4_32. Repeat these until the barcode text is accommodated by the symbol. mpSize_3_10. Repeat these until the barcode text is accommodated by the symbol. If the number of columns has reached the maximum number of columns defined by the specification but the barcode text cannot yet be accommodated. the number of columns will be increased and the number of rows will be reset to minimum number of rows defined by the specification. in this case (tha barcode text cannot always be accommodated). mpSize_3_6. mpSize_4_15. mpSize_3_26. mpSize_2_11. If the number of rows has reached the maximum number of rows defined by the specification but the barcode text cannot yet be accommodated. mp Size_1_24.2D Barcode VCL Components User Manual soRowPrior: If the MicroPDF417 symbol that use minimum symbol size cannot accommodate the barcode text. See diagram: soGlobal_1: All available symbol sizes will be sorted in ascending order of data capacity. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). the number of rows will be increased and the number of columns will be reset to minimum number of columns defined by the specification. mpSize_1_28. and the barcode text is specified in the Data property) event will occur. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 203 . an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. See diagram: soColumnPrior: If the MicroPDF417 symbol that use minimum symbol size cannot accommodate the barcode text. The order is listed below: mpSize_1_11. mpSize_2_20. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. mpSize_4_38. mpSize_1_17. mpSize_3_12. mpSize_1_14. or the symbol size reachs maximum symbol size (specified by the MaxSize property). mpSize_3_44. mpSize_2_26. mpSize_4_44 If tha barcode text cannot be accommodated by the maximum symbol size (specified by the MaxSize property). mpSize_2_23. and the barcode text is specified in the Data property) event will occur. mpSize_2_17. mpSize_2_8. in this case (tha barcode text cannot always be accommodated). mpSize_2_14. mpSize_4_12. only smaller one in number of rows will be sorted. mpSize_3_32. or the symbol size reachs maximum symbol size (specified by the MaxSize property). According to the order. the number of rows will be increased firstly until it reachs the maximum number of rows defined by the specification or the barcode text is accommodated by the symbol. the number of columns will be increased firstly until it reachs the maximum number of columns defined by the specification or the barcode text is accommodated by the symbol. If the data capacitoies of any two or three symbol sizes are equivalent. mpSize_4_4. soGlobal_4: All available symbol sizes will be sorted in ascending order of data capacity. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). mpSize_2_11. mpSize_3_32. mpSize_1_14. only smaller one in number of columns will be sorted. If the data capacitoies of any two or three symbol sizes are equivalent. mpSize_4_26. mpSize_1_17. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. mpSize_3_44. mpSize_3_26. mpSize_2_14. and the barcode text is specified in the Data property) event will occur. mpSize_2_11. mpSize_3_10. mpSize_2_23. mpSize_4_12. mpSize_3_6. mpSize_2_20. only middle one in number of rows and columns will be sorted. The order is listed below: mpSize_1_11. mpSize_4_12. mpSize_4_20. A. mpSize_4_44 If tha barcode text cannot be accommodated by the maximum symbol size (specified by the MaxSize property). the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). mpSize_4_38. mpSize_3_10. mpSize_4_6. mpSize_3_6. mpSize_2_14. mpSize_1_24. mpSize_2_26. mpSize_4_10. mpSize_4_44 If tha barcode text cannot be accommodated by the maximum symbol size (specified by the MaxSize property). only smaller one in number of columns will be sorted. mpSize_3_38. mpSize_3_26. mpSize_3_10. See also the "Symbol sizes" section in the "TBarcode2D_MicroPDF417" article. mpSize_4_44 If tha barcode text cannot be accommodated by the maximum symbol size (specified by the MaxSize property). mpSize_3_32. If the data capacitoies of any three symbol sizes are equivalent.2D Barcode VCL Components User Manual or later. According to the order. and the barcode text is specified in the Data property) event will occur. mpSize_4_8. mpSize_3_15. mpSize_4_4. mpSize_3_38. mpSize_4_32. mpSize_4_12. mpSize_2_23. mpSize_4_15. mpSize_1_24. mp Size_1_24. mpSize_3_44. According to the order. mpSize_4_15. mpSize_4_26. only middle one in number of rows and columns will be sorted. and the barcode text is specified in the Data property) event will occur. mpSize_2_23. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. soGlobal_3: All available symbol sizes will be sorted in ascending order of data capacity. Syntax: type { Defined in the pPDF417 unit } 204 . mpSize_2_14. mpSize_3_8. mpSize_1_28. and the barcode text is specified in the Data property) event will occur. mpSize_3_20. mpSize_4_26. mpSize_3_20. mpSize_3_44. mpSize_2_26. mpSize_4_38.134 StretchOrder (TBarcode2D_PDF417) Specifies the priority order of selecing appropriate symbol size for a PDF417 barcode symbol. soGlobal_2: All available symbol sizes will be sorted in ascending order of data capacity. mpSize_2_20. mpSize_2_8. If the data capacitoies of any two symbol sizes are equivalent. mpSize_3_20. If the data capacitoies of any three symbol sizes are equivalent. mpSize_3_38. mpSize_2_20. If the data capacitoies of any two symbol sizes are equivalent. mpSize_4_32. mpSize_4_6. The order is listed below: mpSize_1_11. mpSize_4_20. mpSize_2_26. mpSize_3_32. mpSize_3_15. According to the order.1. mpSize_4_32. mpSize_3_6. mpSize_2_11. mpSize_4_38. mpSize_1_14. mpSize_3_12. mpSize_4_20. mpSize_1_20. only smaller one in number of rows will be sorted. mpSize_1_28. The order is listed below: mpSize_1_11. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. mpSize_4_8. mpSize_1_28. mpSize_3_8. mpSize_1_14. mpSize_3_26. mpSize_4_15. the smallest symbol size that accommodates the barcode text will be automatically selected between the minimum symbol size (specified by the MinSize property) and the maximum symbol size (specified by the MaxSize property). the number of stacked rows will be increased and the number of columns will be reset to minimum number of columns (specified by the MinColumns property). in increasing order of recovery capacity. in this case (the barcode text cannot always be accommodated). the number of columns will be increased and the number of stacked rows will be reset to minimum number of stacked rows (specified by the MinRows property). the ratio is height to width of the symbol excluding quiet zones. the first symbol size (number of rows and columns) that accommodates the barcode text will be automatically selected between the minimum symbol size and the maximum symbol size. soFixAspect. If the number of columns has reached the maximum number of columns (specified by the MaxColumns property) but the barcode text cannot yet be accommodated. and the barcode text is specified in the Data property) event will 205 . in this case (the barcode text cannot always be accommodated). but also the number of columns reachs maximum number of columns (specified by the MaxColumns property). an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. If the barcode text cannot be accommodated by the maximum symbol size (specified by the MaxColumns and MaxRows properties). Between the minimum symbol size (specified by the MinColumns and MinRows properties) and the maximum symbol size (specified by the MaxColumns and MaxRows properties). Description: The minimum number of rows (specified by the MinRows property) and the minimum number of columns (specified by the MinColumns property) indicates the minimum symbol size for a PDF417 barcode symbol. but also the number of stacked rows reachs maximum number of stacked rows (specified by the MaxRows property). The maximum number of rows (specified by the MaxRows property) and the maximum number of columns (specified by the MaxColumns property) indicates the maximum symbol size for the PDF417 barcode symbol. or not only does the number of rows reach maximum number of stacked rows (specified by the MaxRows property). soFixAspectWithQuietZones). Repeat these until the barcode text is accommodated by the symbol. According to the priority order. or not only does the number of columns reach maximum number of columns (specified by the MaxColumns property). See diagram: soColumnRow: If the PDF417 symbol that use minimum symbol size (specified by the MinColumns and MinRows properties) cannot accommodate the barcode text. and the barcode text is specified in the Data property) event will occur. The property specifies a priority order in order to automatically select the symbol size. See diagram: soFixAspect: An overall aspect ratio is specified by the minimum number of stacked rows (specified by the MinRows property) and minumum number of columns (specified by the MinColumns property). an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. According to the data capacity. only symbol sizes that they approximately match the aspect ratio will be used. the number of columns will be increased firstly until it reachs the maximum number of columns (specified by the MaxColumns property) or the barcode text is accommodated by the symbol. If the number of stacked rows has reached the maximum number of stacked rows (specified by the MaxRows property) but the barcode text cannot yet be accommodated. and the barcode text is specified in the Data property) event will occur. soColumnRow. Repeat these until the barcode text is accommodated by the symbol. The property can be one of these values (defined in the pPDF417 unit): soRowColumn: If the PDF417 symbol that use minimum symbol size (specified by the MinColumns and MinRows properties) cannot accommodate the barcode text. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. the number of stacked rows will be increased firstly until it reachs the maximum number of stacked rows (specified by the MaxRows property) or the barcode text is accommodated by the symbol. property StretchOrder: TPDF417_StretchOrder.2D Barcode VCL Components User Manual TPDF417_StretchOrder = (soRowColumn. the smallest symbol size that accommodates the barcode text will be automatically selected. rsStacked: Indicates to generate the RSS-14 Stacked barcode symbol. The property can be one of these values (defined in the pRss14 unit): rsStandard: Indicates to generate the standard style RSS-14 symbol. only symbol sizes that they approximately match the aspect ratio will be used. soFixAspectWithQuietZones: An overall aspect ratio is specified by the minimum number of stacked rows (specified by the MinRows property) and minumum number of columns (specified by the MinColumns property). It may be used for small items instead of RSS Limited when the available space is too narrow for RSS Limited. It is an RSS-14 Truncated two-row format. handheld lasers. and linear and 2D imagers.1. RSS Limited or RSS-14 Truncated should be used in preference to the stacked format whenever space permits without reducing module width. The property specifies which style (version) will be used. an OnInvalidLength (the barcode text is specified in the Barcode property) or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later. RSS-14 Truncated is designed to be read by scanners such as wands.UCC Composite symbol. It is structured and encoded in the same way as the standard RSS-14 format. the ratio is height to width of the symbol including quiet zones. and RSS14 Stacked Omnidirectional respectively. property Style: TRSS14_Style.2D Barcode VCL Components User Manual occur. the narrower width of RSS-14 Stacked might allow for a larger module width and potentially higher print quality. 206 . It encodes the full 14-digit EAN. and linear and 2D imagers. See also the "Symbol size" section in the "TBarcode2D_PDF417" article. Description: There are four styles (versions) of RSS-14 symbols. If the barcode text cannot be accommodated by the maximum symbol size (specified by the MaxColumns and MaxRows properties). Moreover. RSS-14 Truncated. It cannot be read efficiently by omnidirectional flat-bed and presentation scanners. referred to as RSS-14 (Standard). rsTruncated. Between the minimum symbol size (specified by the MinColumns and MinRows properties) and the maximum symbol size (specified by the MaxColumns and MaxRows properties). However. A. According to the data capacity. It may also be used when the four-column 2D component is desired in order to minimize the height of an EAN. in increasing order of recovery capacity.UCC item identification (Global Trade Item Numbers. RSS-14 Stacked. as they are easier to scan with a wand or linear scanner. RSS-14 Stacked is designed to be read by scanners such as wands. It may be used for small items. It cannot be read efficiently by omnidirectional flat-bed and presentation scanners. instead of RSS Limited. except its height is reduced to a 13 modules minimum. handheld lasers. Syntax: type { Defined in the pRss14 unit } TRSS14_Style = (rsStandard.135 Style (TBarcode2D_RSS14) Specifies which style (version) of RSS-14 symbols will be used. GTINs) in a symbol that can be omnidirectionally scanned by suitably configured point-of-sale laser scanners. rsStackedOmnidirectional). rsTruncated: Indicates to generate the RSS-14 Truncated barcode symbol. and the barcode text is specified in the Data property) event will occur. rsStacked. the smallest symbol size that accommodates the barcode text will be automatically selected. It is a full height RSS-14 two-row format. It is an RSS Expanded multi-row format.1. referred to as RSS Expanded (Standard) and RSS Expanded Stacked respectively. It may be used when the symbol area or print mechanism is not wide enough to accommodate the full single row symbol.2D Barcode VCL Components User Manual rsStackedOmnidirectional: Indicates to generate the RSS-14 Stacked Omnidirectional barcode symbol. Syntax: type 207 . rsStacked: Indicates to generate the RSS Expanded Stacked symbol.137 SymbolMode (TBarcode2D_AztecCode) Specifies which symbol format and size will be automatically selected to generate an Azec Code symbol. It is a single row. rsStacked). See also the "Styles" section in the "TBarcode2D_RSSExpanded" article. The property specifies which style (version) of RSS Expanded symbol will be used. property Style: TRSSExpanded_Style. See also the "Styles" section in the "TBarcode2D_RSS14" article. Description: There are two styles (versions) of RSS Expanded symbols. Syntax: type { Defined in the pRssExpanded unit } TRSSExpanded_Style = (rsStandard. The property can be one of these values (defined in the pRssExpanded unit): rsStandard: Indicates to generate the standard style RSS Expanded symbol. variable length linear symbology. It can be used instead of RSS-14 for omnidirectional scanning applications where the different aspect ratio is needed. A.1. A.136 Style (TBarcode2D_RSSExpanded) Specifies which style (version) of RSS Expanded symbols will be used. It can identify small items and carry more information than the current EAN/UPC barcode. and azSize_27Compact. smAll: All symbol sizes.2D Barcode VCL Components User Manual { Defined in the pAztecCode unit } TAztecCode_SymbolMode = (smNormal. azSize_23. azSize_19. including the azSize_15Compact. Note. including all compact symbol sizes (azSize_15Compact. they are included in the barcode symbol. a "\p" escape sequence shoule be placed into the barcode text. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 208 . Syntax: property TopMargin: Integer. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): It is set using the following formula: The Orientation property is set to "boLeftRight": It is the margin between the top of the barcode symbol and the top side of the TImage. and the AllowEscape property should be set to true. smProgram. smAll). property SymbolMode: TAztecCode_SymbolMode. azSize_27. and full range symbol sizes from azSize_31 to azSize_109. and azSize_27Compact). azSize_23Compact. A.1. and azSize_31 to azSize_151. The property can be one of these values (defined in the pAztecCode unit): smNormal: Only the symbol sizes that they are useful for data encoding operation. azSize_23Compact. azSize_19Compact. including azSize_15Compact. or TQRGzImage control. in order to create a reader initialization symbol. See also the "Formats" and "Symbol sizes" sections in the "TBarcode2D_AztecCode" article.138 TopMargin Specifies the top margin of the barcode symbol in pixels. azSize_23. TQRImage. smProgram: Only the symbol sizes that they are useful for reader initialization. smFullRange: Only the symbol sizes in full range format. including compact and full range formats. azSize_31 to azSize_151. azSize_19Compact. Description: Specifies the margin between the topmost of the barcode symbol and the top side of the TImage. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). in pixels. or TQRGzImage control that is specified by the Image property. and full range symbol sizes from smCompact: Only the symbol sizes in compact format. smCompact. azSize_27. Description: The property specifies which Aztec Code symbol formats and sizes will be automatically selected between minimum and maximum symbol sizes specified by corresponding MinSize and MaxSize properties. TQRImage. including the azSize_19. smFullRange. depending on the length of barcode text. the linear component is included in the composite barcode symbol. if the Linear property is set. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 209 . See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA.UCC composite barcode symbol. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The Orientation property is set to "boBottomTop": It is the margin between the end of the barcode symbol and the top side of the TImage.2D Barcode VCL Components User Manual The Orientation property is set to "boRightLeft": It is the margin between the bottom of the barcode symbol and the top side of the TImage. the leading quiet zone and trailing quiet zone are included always. or TQRGzImage control. the 2D symbol and the linear symbol are assembled to generate an EAN. or TQRGzImage control. and TBarcode2D_CCC components. even if the ShowQuietZone is set to false. TQRImage. TQRImage.UCC composite barcode symbol not for the 2D symbol. or TQRGzImage control. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): Note: For the TBarcode2D_Code16K barcode components. and the parameter specifies the top margin for entire EAN. TQRImage. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The Orientation property is set to "boTopBottom": It is the margin between the beginning of the barcode symbol and the top side of the TImage. TBarcode2D_CCB. 1.UCC composite symbol. Otherwise. TBarcode1D_EAN13. TBarcode1D_EAN8. or TBarcode1D_EAN128. For the TBarcode2D_CCA.UCC composite barcode symbol in horizontal direction. and its human readable text is represented.139 TopQuietZone Specifies the vertical height of the top quiet zone in modules. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. and the human readable text exceeds entire EAN. TBarcode2D_CCB.2D Barcode VCL Components User Manual When the linear component of the TBarcode2D_CCA. The property always specifies the top margin for entire rotated EAN. See diagram (theSpaceColor property value is set to clSilver in order to accentuate the quiet zones): A. If the TextAlignment property isn't set to taCustom. TBarcode1D_UPCE0. this does not apply to TBarcode1D_EAN128). or TBarcode2D_CCC component is TBarcode1D_UPCA. If the TextAlignment property is set to taCustom. the 2D symbol and 210 . and TBarcode2D_CCC components. Description: Specifies the vertical height of the top quiet zone in modules. The quiet zone is represented using the color specified by the SpaceColor property if the Inversed property is set to false. it's represented using the color specified by the BarColor property. TBarcode1D_UPCE. TBarcode1D_UPCE1. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. Syntax: property TopQuietZone: Integer. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): This property is useful only when the ShowQuietZone property value is set to true. if the Linear property is set. TBarcode2D_CCB. the excess is included in the symbol. if both the Link2D and Show2DSeparator properties are set to Ture. and plus height of the contiguous separator pattern (specified by the SeparatorRowHeight property too). In other words. if the contiguous separator pattern isn't represented. minimum value of the property is 13 modules. if the contiguous separator pattern isn't represented. In other words. Description: The property specifies the total height for an RSS-14 or an RSS Limited symbol. the height of separator pattern between symbol rows (specified by the SeparatorRowHeight property) is included.140 TotalHeight (TBarcode2D_RSS14.UCC composite barcode symbol. in modules. it's 12 modules plus the height of separator pattern between two rows (specified by the SeparatorRowHeight property).UCC composite barcode symbol.1. minimum value of the property is 12 modules plus the height of separator pattern between two rows (specified by the SeparatorRowHeight property). See diagram: 211 . the top quiet zone is close to the top boundaries of entire EAN. For the RSS-14 Stacked and RSS-14 Stacked Omnidirectional symbols. Otherwise. See diagram: RSS-14 Stacked: Appropriate TotalHeight value should be set in order to ensure that the sum of each symbol row's height is greater than or equal to 12 modules.2D Barcode VCL Components User Manual the linear symbol are assembled to generate an EAN. For all styles of RSS-14 symbol. the top boundaries of the 2D symbol. minimum value of the property is 33 modules. TBarcode2D_RSSLimited) Specifies the total height for an RSS-14 or an RSS Limited symbol. In other words. in modules. a contiguous separator pattern is represented and its minimum height is 1 module (the pattern height can be specified by the SeparatorRowHeight property). Syntax: property TotalHeight: Integer. The property is set using the following formula: For the RSS-14 symbols: RSS-14 (Standard): Appropriate TotalHeight value should be set in order to ensure that the height of symbol row is greater than or equal to 33 modules. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): A. it's 33 modules plus height of the contiguous separator pattern (specified by the SeparatorRowHeight property). namely. if the contiguous separator pattern isn't represented. Otherwise. The height of contiguous separator pattern is included in the value of TotalHeight property. See diagram: RSS-14 Truncated: Appropriate TotalHeight value should be set in order to ensure that the height of symbol row is greater than or equal to 13 modules. it's 13 modules plus height of the contiguous separator pattern (specified by the SeparatorRowHeight property). and RSS Limited symbol. Otherwise. In other words. if the Linear property is set. In other words. even if the ShowQuietZone property value is set to false.UCC composite barcode symbol. it's 66 modules plus the 3 times height of separator pattern between two rows (specified by the SeparatorRowHeight property). if the contiguous separator pattern isn't represented. the 2D symbol and the linear symbol are assembled to generate an EAN. Otherwise. Otherwise. For the TBarcode2D_Code16K barcode component.1. the trailing quiet zone is represented always.2D Barcode VCL Components User Manual RSS-14 Stacked Omnidirectional: Appropriate TotalHeight value should be set in order to ensure that the sum of each symbol row's is greater than or equal to 66 modules. See diagram: For the RSS Limited symbols. A. See diagram: See also the "Symbol size" and "Composite symbol" sections in the "TBarcode2D_RSS14" and "TBarcode2D_RSSLimited" articles. minimum value of the property is 10 modules. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): This property is useful only when the ShowQuietZone property value is set to true or the barcode symbology is a TBarcode2D_Code16K symbol. TBarcode2D_CCB. it's 10 modules plus height of the contiguous separator pattern (specified by the SeparatorRowHeight property). appropriate TotalHeight value should be set in order to ensure that the height of symbol row is greater than or equal to 10 modules. it's represented using the color specified by the BarColor property. minimum value of the property is 66 modules plus 3 times height of separator pattern between two rows (specified by the SeparatorRowHeight property).141 TrailingQuietZone Specifies the horizontal width of the trailing quiet zone in modules. and TBarcode2D_CCC barcode components. Otherwise. See diagram (theSpaceColor property value is set to clSilver in order to accentuate the quiet zones): 212 . See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA.UCC composite barcode symbol that includes the linear symbol. if the contiguous separator pattern isn't represented. The quiet zone is represented using the color specified by the SpaceColor property if the Inversed property is set to false. Description: Specifies the horizontal width of the trailing quiet zone in modules. Syntax: property TrailingQuietZone: Integer. the trailing quiet zone begins from the last bar or space of entire EAN. and plus height of the contiguous separator pattern (specified by the SeparatorRowHeight property too). TBarcode1D_EAN13. The minimum width will be used if the value of the TrailingQuietZone property is less than it or the value of the ShowQuietZone property is set to false. TBarcode1D_UPCE0. in order to efficiently encode a single Transformation ECI sequence at the start of barcode text. Description: Because MicroPDF417 is intended for applications where symbol size is critical.2D Barcode VCL Components User Manual Note. This Transformation ECI co-exists with the Interpretative ECI (whether default or explicitly encoded) currently in effect. regardless of whether the ShowQuietZone property is set to true or false. or TBarcode1D_EAN128. since Interpretative ECIs and Transformation ECIs have independent scopes. The property specifies whether to use the ECI Descriptor in a MicroPDF417 symbol. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. the ShowQuietZoneMark property is set to true too). and it's the minimum width of the trailing quiet zone.142 UseECIDescriptor (TBarcode2D_MicorPDF417) Specifies whether to use the optional ECI Descriptor in a MicroPDF417 barcode symbol. TBarcode1D_UPCA. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): A. regardless of whether the ShowQuietZone property is set to true or false. MicroPDF417 supports efficient encoding of a single Transformation ECI sequence at the start of each data stream by using an optional ECI Descriptor that can be encoded at the start of the first symbol of each MicroPDF417-encoded data stream. it is expected that MicroPDF417 will frequently be used in conjunction with a Transformation ECI appropriate for the data requirements of the application. 213 . the trailing quiet zoens will be automatically extanded to cover the human readable text. TBarcode1D_UPCA. the trailing quiet zone always begins from the last bar of the 2D symbol. TBarcode1D_UPCE1. TBarcode1D_ENA8. if the linear component is one of the TBarcode1D_UPCE. TBarcode1D_UPCE1. TBarcode2D_CCB. For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. and TBarcode1D_EAN13. if the linear component is the TBarcode1D_UPCE. Syntax: property UseECIDescriptor: Boolean. the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol is included in the width of trailing quiet zone. TBarcode1D_ENA8. the trailing quiet zoens will be automatically extanded to cover the right quiet zone mark. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA. and its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. In other words.1. and TBarcode2D_CCC barcode components. and its human readable text is represented and exceeds the end of entire barcode symbol (the trailing quiet zones is included if the ShowQuietZone property is set to true). TBarcode1D_UPCE0. the data field value will be applied to its Barcode or Data property.2D Barcode VCL Components User Manual Please use the escape sequence \e[<ECI_Number>] to place a Transformation ECI at the beginning of the barcode text (at the start of the symbol or at the start of the first symbol of a structured append series).2. The BindProperty property indicates which property of the TBarcode2D component the data field value will be applied to. it will represent the barcode symbol from a data field (specified by the DataField property of the TDBBarcode2D component) of the current record of a dataset (specified by the DataSource property of the TDBBarcode2D component). or TQRGzImage control that's specified by the Image property of the TBarcode2D component. Syntax: type { Defined in the pDBBarcode2D unit } TBindProperty = (bpBarcode. TQRImage. This property can be one of these values (defined in the pDBBarcode2D unit): 214 . for Delphi/C++ Builder 2009 or later. please use the BindProperty property to indicate which property the data field value will be applied to. and t h e TBarcode2D_RSS14. Description: Use the Barcode2D property to specify a TBarcode2D component such as the TBarcode2D_QRCode. A. Description: The Barcode property of TBarcode2D component is of type string. bpData).1 Barcode2D Links a TBarcode2D component to the TDBBarcode2D component in order to represent the barcode symbol from a data field of the current record of a dataset. When a TBarcode2D barcode component is linked to the TDBBarcode2D component. the Transformation ECI sequence will be ecncoded as an ECI Descriptor. Otherwist. See also the "Extended Channel Interpretation (ECI)" section in the "TBarcode2D_MicroPDF417" article.2 TDBBarcode2D A. it is of type AnsiString. the data field value will be applied to its Barcode property. For the Delphi/C++ Builder 2009 or later. in order to represent the barcode symbol from a data field of the current record of a dataset. it is in fact an UnicodeString instead of AnsiString. It will represent the barcode symbol from a data field (specified by the DataField property of the TDBBarcode2D component) of the current record of a dataset (specified by the DataSource property of the TDBBarcode2D component) to a TImage. Syntax: property Barcode2D: TBarcode2D. it will be encoded using the standard ECI encoding method. the TBarcode2D_PDF417.2. property BindProperty: TBindProperty.2 BindProperty Indicates which property of the TBarcode2D component the data field value will be applied to. for Delphi/C++ Builder 2007 or early. A. In order to encode block of binary (bytes) data. When a TBarcode2D barcode component is linked to the TDBBarcode2D component. If the property is set to true. we added a Data property. 2. A. The data field should be specifed as a string. bpData: The data field value will be applied to the Data property of the TBarcode2D barcode component. Description: U s e DataSource to specify the data source component through which the data from a dataset component is provided to the TDBBarcode2D component. Note: The property is available only for the Delphi/C++ Builder 2009 or later. memo. Description: Use DataField to bind the TDBBarcode2D component to a field in the dataset. bytes.2D Barcode VCL Components User Manual bpBarcode: The data field value will be applied to the Barcode property of the TBarcode2D barcode component. To fully specify a data field. blob. etc field.5 Field Indicates the TField object whose current value the barcode component represents. Syntax: property DataField: string. You can bind multiple TDBBarcode2D components to one data field in order to represent the data field with multiple barcode symbols. both the dataset and the field within that dataset must be defined.4 DataSource Links the TDBBarcode2D component to the dataset that contains the field it represents. For the Delphi/C++ Builder 2009 or later. Use the DataField property to specify the particular field within the dataset. A. A. Syntax: property Field: TField. 215 . for Delphi/C++ Builder 2007 or early. both the dataset and a field within that dataset must be defined. the data field value will be applied to its Barcode property.3 DataField Specifies the field from which the TDBBarcode2D component represents barcode symbol. the data field value will be applied to its Barcode or Data property. please use the BindProperty property to indicate which property the data field value will be applied to. Syntax: property DataSource: TDataSource. The DataSource property of the TDBBarcode2D component specifies the dataset which contains the data field. You can bind multiple TDBBarcode2D components to one data field in order to represent the data field with multiple barcode symbols. When a TBarcode2D barcode component is linked to the TDBBarcode2D component.2. To fully specify a data field for the TDBBarcode2D component.2. See diagram: 216 .2. for Delphi/C++ Builder 2007 or early. If the BindProperty is set to bpData.2D Barcode VCL Components User Manual Description: Use the TField reference provided by the Field property when you want to read or to write the value of the data in the field programmatically. the user can change the field value by changing the Barcode property value of the TBarcode2D barcode component specified in the Barcode2D property of the TDBBarcode2D component. If the total number of modules on left and right of logo picture is odd. the user can change the field value by changing the Data property value of the TBarcode2D barcode component specified in the Barcode2D property of the TDBBarcode2D component. If the property is set the false. When the ReadOnly property is set to true. Description: Use the ReadOnly property to specify whether the TBarcode2D barcode component specified in the Barcode2D property of a TDBBarcode2D component allows the user to change the field value by changing the value of its Barcode or Data (only for Delphi/C++ Builder 2009 or later) property. the TBarcode2D barcode component can only be used to represent the value of the field on the current record. Description: The property specifies how to place the logo picture in a barcode symbol. When the ReadOnly property is set to false. the user can change the field value by changing the Barcode property value of the TBarcode2D barcode component specified in the Barcode2D property of the TDBBarcode2D component. the logo picture will be centred in horizontal direction absolutely.1 AlignToModule Specifies how to place the logo picture in a barcode symbol in horizontal and vertical directions. a half of module will be included in the modules on left and right of logo picture.6 ReadOnly Determines whether the user can change the value of the field.3. set the property to true to align the logo picture to module edge. A.3 TLogo2D A. Syntax: property ReadOnly: Boolean. if the HorizontalAlignment property is set to haMiddle. A. in horizontal and vertical directions: In horizontal dircection. Syntax: property AlignToModule: Boolean. For the Delphi/C++ Builder 2009 or later. the number of modules on left of the logo picture is equal to the number of modules on right of the logo picture. if the BindProperty is set to bpBarcode. the logo picture will be centred in horizontal direction. and the number of modules on left of the logo picture is 1 less than the number of modules on right of the logo picture. 2D Barcode VCL Components User Manual If the HorizontalAlignment property is set to haLeft or haRight. the logo picture will be centred in vertical direction absolutely. See diagram: 217 .3 Height Specifies the distance between the top and bottom of the logo picture. Description: Use the Barcode2D property to specify a TBarcode2D component such as the TBarcode2D_QRCode. and the number of modules on top of the logo picture is 1 less than the number of modules on bottom of the logo picture. if the VerticalAlignment property is set to vaCenter. in modules. Description: Specifies the distance between the top and bottom of the logo picture in modules. the AlignToModule property value will be ignored in vertical direction.3. Syntax: property Height: Integer. set the property to true to align the logo picture to module edge. See diagram: If the VerticalAlignment property is set to vaTop or vaBottom. a half of module will be included in the modules on top and bottom of logo picture. A. the AlignToModule property value will be ignored in horizontal direction.2 Barcode2D Links a TBarcode2D component to the TLogo2D component in order to add a logo picture to barcode symbol thats specified in the TBarcode2D component. If the property is set the false. and the TBarcode2D_RSS14. In vertical dircection. the logo picture will be centred in vertical direction. The paddings isn't included if the Padding property is set to 1 or more. A. Syntax: property Barcode2D: TBarcode2D. If the total number of modules on top and bottom of logo picture is odd.3. the number of modules on top of the logo picture is equal to the number of modules on bottom of the logo picture. the TBarcode2D_PDF417. See diagram: haMiddle: The logo picture will be centred in horizontal direction. in modules. and the number of modules on left of the logo picture is 1 less than the number of modules on right of the logo picture. It can be one of the following values (defined in the pLogo2D unit): haLeft: The logo picture with its left margin is aligned to the beginning edge of barcode symbol (the leading queit zone isn't included if it is represented). the logo picture will be rotated too.4 HorizontalAlignment Specifies the horizontal alignment of the logo picture in a barcode symbol. the logo picture will be centred in horizontal direction absolutely. Description: Specifies the horizontal alignment of the logo picture in a barcode symbol. If the property is set the false. If the total number of modules on left and right of logo picture is odd. and the property specifies the height of logo picture before rotating. the number of modules on left of the logo picture is equal to the number of modules on right of the logo picture. property HorizontalAlignment: THorizontalAlignment default haMiddle. Syntax: type { Defined in the pLogo2D unit } THorizontalAlignment = (haLeft.2D Barcode VCL Components User Manual Note: If the Orientation property of TBarcode2D is set to "boRightLeft". haRight). It's specified by the HorizontalMargin property. the property AlignToModule will be used to place the logo picture in a barcode symbol in horizontal direction. See diagram: A. a half of module will be included in the modules on left and right of logo picture. See diagram: 218 .3. The left margin of the logo picture is the distance between the beginning edges of barcode symbol and the logo picture. Set the property to true to align the logo picture to module edge. "boTopBottom" or "boBottomTop". haMiddle. Syntax: property HorizontalMargin: Integer. See diagram: A. The leading queit zone isn't included if it is represented. the property specifies the distance between the beginning edges of barcode symbol and the logo picture. See diagram: If the HorizontalAlignment property is set to haMiddle.5 HorizontalMargin Specifies the distance between the edges of barcode symbol and logo picture in horizontal direction. The right margin of the logo picture is the distance between the end edges of barcode symbol and the logo picture. in modules: If the HorizontalAlignment property is set to haLeft. Description: Specifies the distance between the edges of barcode symbol and logo picture in horizontal direction. 219 . It's specified by the HorizontalMargin property.3. in modules.2D Barcode VCL Components User Manual haRight: The logo picture with its right margin is aligned to the end edge of barcode symbol (the trailing queit zone isn't included if it is represented). See diagram: Note: The paddings is included in the logo picture if the Padding property is set to 1 or more. and the property specifies the horizontal alignment of the logo picture before rotating. in modules. the property is ignored. the logo picture will be rotated too. See diagram: If the Orientation property of TBarcode2D is set to "boRightLeft". "boTopBottom" or "boBottomTop". Syntax: property Padding: Integer.6 Padding Specifies the top. the property is ignored.7 Picture Specifies the logo picture for barcode symbol. in modules. See diagram: A. the property specifies the distance between the end edges of barcode symbol and logo picture.3. and left padding around the logo picture. The trailing queit zone isn't included if it is represented. "boTopBottom" or "boBottomTop". See diagram: If the Orientation property of TBarcode2D is set to "boRightLeft". right. bottom. Description: The property specifies top. 220 .2D Barcode VCL Components User Manual If the HorizontalAlignment property is set to haMiddle. See diagram: A.3. the logo picture will be rotated too. in modules. right. bottom. and left padding around the logo picture in modules. If the HorizontalAlignment property is set to haRight. by default it is 1 module. See diagram: Note: The paddings is included in the logo picture if the Padding property is set to 1 or more. and the property specifies the distance before rotating. 8 VerticalAlignment Specifies the vertical alignment of the logo picture in a barcode symbol. Description: The property specifies a logo picture for barcode symbol. See diagram: vaCenter: The logo picture will be centred in vertical direction. The top margin of the logo picture is the distance between the top edges of barcode symbol and the logo picture. Syntax: type { Defined in the pLogo2D unit } TVerticalAlignment = (vaTop. vaBottom). JPG/JPEG. "wmf".2006 Delphi/C++ Builder 2007 Delphi/C++ Builder 2009 Delphi/C++ Builder 2010-XE7 A. a half of module will be included in the modules on top and bottom of logo picture. WMF. If the total number of modules on top and bottom of logo picture is odd. and "tif"/"tiff" image formats are supported depend on the version of IDE: BMP. ICO. vaCenter. "emf". EMF GIF PNG TIF/TIFF V V V V V V V V V V Delphi/C++ Builder 4 . It's specified by the VerticalMargin property. It can be one of the following values (defined in the pLogo2D unit): vaTop: The logo picture with its top margin is aligned to the top edge of barcode symbol (the top queit zone isn't included if it is represented). "png". The "bmp". "gif".2D Barcode VCL Components User Manual Syntax: property Padding: Integer. the property AlignToModule will be used to place the logo picture in a barcode symbol in vertical direction. Description: Specifies the vertical alignment of the logo picture in a barcode symbol. property VerticalAlignment: TVerticalAlignment default vaCenter. the number of modules on top of the logo picture is equal to the number of modules on bottom of the logo picture. and the number of modules on top of the logo picture is 1 less than the number of modules on bottom of the logo picture. See diagram: vaBottom: The logo picture with its bottom margin is aligned to the bottom edge of barcode symbol (the bottom queit zone isn't 221 . the logo picture will be centred in vertical direction absolutely. "jpg"/"jpeg".3. in modules. "ico". Set the property to true to align the logo picture to module edge. If the property is set the false. See diagram: If the VerticalAlignment property is set to vaCenter. It's specified by the VerticalMargin property. in modules. Syntax: property VerticalMargin: Integer. in modules. the property specifies the distance between the bottom edges of barcode symbol and logo picture. and the property specifies the vertical alignment of the logo picture before rotating. The bottom margin of the logo picture is the distance between the bottom edges of barcode symbol and the logo picture.9 VerticalMargin Specifies the distance between the edges of barcode symbol and logo picture in vertical direction. the property specifies the distance between the top edges of barcode symbol and the logo picture.2D Barcode VCL Components User Manual included if it is represented). in modules. See diagram: A. The trailing queit zone isn't included if it is represented. See diagram: Note: The paddings is included in the logo picture if the Padding property is set to 1 or more. "boTopBottom" or "boBottomTop".3. the logo picture will be rotated too. in modules: If the VerticalAlignment property is set to vaTop. If the VerticalAlignment property is set to vaBottom. the property is ignored. See diagram: If the Orientation property of TBarcode2D is set to "boRightLeft". Description: Specifies the distance between the edges of barcode symbol and logo picture in vertical direction. The top queit zone isn't included if it is represented. See diagram: 222 . 10 Width Specifies the distance between the beginning and end of the logo picture. and the property specifies the distance before rotating. See diagram: If the Orientation property of TBarcode2D is set to "boRightLeft". See diagram: A. See diagram: A. Syntax: property Width: Integer. the logo picture will be rotated too. in modules.3. and the property specifies the width of logo picture before rotating.4 TSave2D 223 . The paddings isn't included if the Padding property is set to 1 or more. Description: Specifies the distance between the beginning and end of the logo picture in modules. "boTopBottom" or "boBottomTop". "boTopBottom" or "boBottomTop". See diagram: Note: If the Orientation property of TBarcode2D is set to "boRightLeft".2D Barcode VCL Components User Manual Note: The paddings is included in the logo picture if the Padding property is set to 1 or more. the logo picture will be rotated too. Where 1 is not transparant at all. Description: Use the Barcode2D property to specify a TBarcode2D component such as the TBarcode2D_QRCode. Description: 224 . The TBarcode2D_MaxiCode component is not supported now. when save a barcode symbol to a picture file. and quiet zones). bcdColors_32b).4. Syntax: property Barcode2D: TBarcode2D. A. and TBarcode2D_CCC barcode components. meaning not transparant at all.5 is 50% seethrough. Then execute the Save method will save the barcode symbol specified by the 2D barcode component to a picture file. property Format: TBmpColorDepth. and 0 is completely transparent.2D Barcode VCL Components User Manual A. For the TBarcode2D_CCA. bcdColors_12b. Only the 2D portion will be saved in the picture file now. 0. otherwise. if its Linear property is set.4.UCC composite barcode symbol. bcdColors_24b. Description: For the TSave2D_Png and TSave2D_Svg components. the property specifies the transparency-level of foreground color (bars or dark modules) if the Inversed property is set to false. bcdColors_16b. bcdColors_04b. Syntax: type { Defined in the pSave2D_Bmp unit } TBmpColorDepth = (bcdColors_01b. The property defaults to 1.3 ColorDepth (TSave2D_Bmp) Specifies the color depth of a Bitmap image (BMP) file for TSave2D_Bmp component.2 BarOpacity (TSave2D_Png.1 Barcode2D Links a TBarcode2D component to the TSave2D component in order to save the barcode symbol to a picture file. bcdColors_08b.4. it specifies the transparency-level of bakcground color (spaces or light modules. bcdColors_15b. A. TSave2D_Svg) Specifies the transparency-level of entire barcode symbol. Syntax: property BarOpacity: Single. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode2D_CCB. and the TBarcode2D_RSS14. the TBarcode2D_PDF417. 225 . bcdColors_12b: Uses the 12-bit per pixel (12bpp) format. It supports 4294967296 distinct colors and stores 1 pixel per 4 byte. It can be one of these value (defined in thepSave2D_Gif unit): gcdColors_1b: Uses the 1-bit per pixel (1bpp) format. It supports 65536 distinct colors and stores 1 pixel per 2 byte.4 ColorDepth (TSave2D_Gif) Specifies the color depth of a Graphics Interchange Format (GIF) file for the TSave2D_Gif component. gcdColors_8b). It supports 16 distinct colors. gcdColors_4b. It supports 2 distinct colors (for example: black and white). bcdColors_24b: Uses the 24-bit per pixel (24bpp) format. In a Graphics Interchange Format (GIF) file. pixel format.2D Barcode VCL Components User Manual Color depth. property ColorDepth: TGifColorDepth. gcdColors_6b. Syntax: type { Defined in the pSave2D_Gif unit } TGifColorDepth = (gcdColors_1b. It supports 2 distinct colors (for example: black and white) and stores 8 pixels per 1 byte. pixel format. Each byte is an index into a table of up to 256 colors. Each pixel value define the red. gcdColors_4b: Uses the 4-bit per pixel (4bpp) format. green and blue samples of the pixel. Each pixel value is a 3-bit index into a table of up to 8 colors. the pixels can be defined by a varying number of bits. Each pixel value define the red. green and blue samples of the pixel. also known as bit depth. It supports 16777216 distinct colors and stores 1 pixel value per 3 bytes. green and blue samples of the pixel. It supports 16 distinct colors and stores 2 pixels per 1 byte. gcdColors_5b. bcdColors_02b: Uses the 2-bit per pixel (2bpp) format. bcdColors_04b: Uses the 4-bit per pixel (4bpp) format. Each pixel value define the Alpha. Each pixel value defines the red. uses 5 bits for red and blue colors. the pixels can be defined by a varying number of bits. gcdColors_3b. Each pixel is an 1-bit index into a table of up to 2 colors. bcdColors_16b: Uses the 16-bit per pixel (16bpp) format. Red. Green and Blue samples of the pixel. gcdColors_3b: Uses the 3-bit per pixel (3bpp) format. It supports 4096 distinct colors and stores 1 pixel per 2 byte. It supports 8 distinct colors. Each pixel value is a 2-bit index into a table of up to 4 colors. The property specifies which pixel format will be used to save a barcode symbol to a Bitmap image (BMP) file. It supports 4 distinct colors. It supports 256 distinct colors and stores 1 pixel per 1 byte. Each pixel value define the red. bcdColors_08b: Uses the 8-bit per pixel (8bpp) format. gcdColors_7b. is either the number of bits used to indicate the color of a single pixel. gcdColors_2b: Uses the 2-bit per pixel (2bpp) format. uses 5 bits for each color primary with one bit left over. Each pixel value is a 4-bit index into a table of up to 16 colors. is either the number of bits used to indicate the color of a single pixel. bcdColors_32b: Uses the 32-bit per pixel (32bpp) format. It can be one of these value (defined in the pSave2D_Bmp unit): bcdColors_01b: Uses the 1-bit per pixel (1bpp) format. It supports 32768 distinct colors and stores 1 pixel per 2 byte. It supports 4 distinct colors and stores 4 pixels per 1 byte. uses 4 bits for each color primary with 4 bits left over. 6 bits for green color. Each pixel value is a 2-bit index into a table of up to 4 colors.4. A. green and blue samples of the pixel. bcdColors_15b: Uses the 15-bit per pixel (15bpp) format. Each pixel value is a 4-bit index into a table of up to 16 colors. also known as bit depth. The property specifies which color depth will be used to save a barcode symbol to a Graphics Interchange Format (GIF) file. Each pixel is an 1-bit index into a table of up to 2 colors. Description: Color depth. In a Bitmap image (BMP) file. gcdColors_2b. Each pixel value is a 5-bit index into a table of up to 32 colors. It supports 16 distinct colors and stores 2 pixels per 1 byte. It supports 256 distinct colors.2D Barcode VCL Components User Manual gcdColors_5b: Uses the 5-bit per pixel (5bpp) format. gcdColors_8b: Uses the 8-bit per pixel (8bpp) format. A. pcdRGB_8: Uses the 24-bit per pixel (24bpp) format. pcdIndex_4. pcdIndex_2: Uses the 2-bit per pixel (2bpp) format.4. gcdColors_6b: Uses the 6-bit per pixel (6bpp) format. Each pixel value is a 2-bit index into a table of up to 4 colors. property ColorType: TPngColorType. green and blue samples of the pixel. A. Each pixel value is a 4-bit index into a table of up to 16 colors. Each pixel value defines the red. Each pixel value is a 6-bit index into a table of up to 64 colors. pixel format. It supports 2 distinct colors (for example: black and white) and stores 8 pixels per 1 byte. It supports 4 distinct colors and stores 4 pixels per 1 byte. It supports 128 distinct colors. is either the number of bits used to indicate the color of a single pixel. the pixels can be defined by a varying number of bits. gcdColors_7b: Uses the 7-bit per pixel (7bpp) format. Each pixel value define the Alpha. pcdRGBA_8: Uses the 32-bit per pixel (32bpp) format. pcdIndex_8: Uses the 8-bit per pixel (8bpp) format. Each pixel is an 1-bit index into a table of up to 2 colors. Green and Blue samples of the pixel. pcdRGBA_8). pcdIndex_2. It supports 32 distinct colors. Description: Color depth. Each byte is an index into a table of up to 256 colors. Syntax: 226 . Red. Syntax: type { Defined in the pSave2D_Png unit } TPngColorDepth = (pcdIndex_1. It supports 256 distinct colors and stores 1 pixel per 1 byte. pcdRGB_8. pcdIndex_4: Uses the 4-bit per pixel (4bpp) format. also known as bit depth. It supports 16777216 distinct colors and stores 1 pixel value per 3 bytes. It supports 4294967296 distinct colors and stores 1 pixel per 4 byte. In a Portable Network Graphics (PNG) file. Each pixel value is a 7-bit index into a table of up to 128 colors. It supports 64 distinct colors.6 CompressionLevel (TSave2D_Png) Specifies the compression level of a Portable Network Graphics (PNG) file for the TSave2D_Png component. Each pixel value is a 8-bit index into a table of up to 256 colors.5 ColorDepth (TSave2D_Png) Specifies the color depth of a Portable Network Graphics (PNG) format file for TSave2D_Png component. The property specifies which color depth will be used to save a barcode symbol to a Portable Network Graphics (PNG) file. pcdIndex_8. It can be one of these value (defined in thepSave2D_Png unit): pcdIndex_1: Uses the 1-bit per pixel (1bpp) format.4. Syntax: property DeviceHeightInPixel: DWord.4. It represents a balance between the compression ratio and compression speed. Note.7 DeviceHeightInMM (TSave2D_Emf) Specifies the vertical height of the reference device for an Enhanced Metafile Format (EMF) file was generated by theTSave2D_Emf component. Note. if you set it to zero. property CompressionLevel: TPngCompressionLevel. pclMaximum: Uses the maximum compression. in pixels. Description: The property specifies the vertical height of the reference device. pclDefault. the property cannot be set to zero.8 DeviceHeightInPixel (TSave2D_Emf) Specifies the vertical height of the reference device for an Enhanced Metafile Format (EMF) file was generated by theTSave2D_Emf component. Description: The property specifies the vertical height of the reference device. 227 . pclMaximum). A. A. Description: The Portable Network Graphics (PNG) uses a non-patented lossless data compression method known as DEFLATE. even if the resulting file is not optimally compressed. an ESave2DError exception occurs. in millimetres. in pixels. an ESave2DError exception occurs.4.2D Barcode VCL Components User Manual type { Defined in the pSave2D_Png unit } TPngCompressionLevel = (pclFastest. The compression operation should complete as quickly as possible. Syntax: property DeviceHeightInMM: DWord. the property cannot be set to zero. if you set it to zero. even if the operation takes a longer time to complete. It can be one of these value (defined in the pSave2D_Png unit): pclFastest: Uses the fastest compression. when use the TSave2D_Emf component to save a barcode symbol to an Enhanced Metafile Format (EMF) file. The property specifies what level of compression should be used to save a barcode symbol to a Portable Network Graphics (PNG) file. The compression operation should be optimally compressed. when use the TSave2D_Emf component to save a barcode symbol to an Enhanced Metafile Format (EMF) file. pclDefault: Uses the default compression level. in millimetres. Syntax: property DeviceWidthInPixel: DWord. in pixels. when use the TSave2D_Emf component to save a barcode symbol to an Enhanced Metafile Format (EMF) file.4. Note. the property cannot be set to zero. in micrometres. in micrometres. 228 .4. an ESave2DError exception occurs. If one of them is set to zero. which enhances the resolution and scalability of Enhanced Metafile Format (EMF) files. A. T h e DeviceHeightInUM and the DeviceWidthInUm properties add the ability to measure device surfaces in micrometers. Syntax: property DeviceHeightInUM: DWord. in pixels. A.4. Syntax: property DeviceWidthInMM: DWord. if you set it to zero. in millimetres. Note. when use the TSave2D_Emf component to save a barcode symbol to an Enhanced Metafile Format (EMF) file. an ESave2DError exception occurs. Description: The property specifies the horizontal width of the reference device.11 DeviceWidthInPixel (TSave2D_Emf) Specifies the horizontal width of the reference device for an Enhanced Metafile Format (EMF) file was generated by theTSave2D_Emf component. when use the TSave2D_Emf component to save a barcode symbol to an Enhanced Metafile Format (EMF) file. Description: The property specifies the horizontal width of the reference device. the property cannot be set to zero.10 DeviceWidthInMM (TSave2D_Emf) Specifies the horizontal width of the reference device for an Enhanced Metafile Format (EMF) file was generated by theTSave2D_Emf component.2D Barcode VCL Components User Manual A. if you set it to zero. they will be ignored.9 DeviceHeightInUM (TSave2D_Emf) Specifies the vertical height of the reference device for an Enhanced Metafile Format (EMF) file was generated by theTSave2D_Emf component. Description: The property specifies the vertical height of the reference device. in millimetres. TSave2D_Svg) Specifies whether to embed the barcode text to a picture file. pebCompressedText).14 EmbedBarcodeText (TSave2D_Png) Specifies whether to embed the barcode text to a Portable Network Graphics (PNG) picture file for TSave2D_Png component. Note.4.12 DeviceWidthInUM (TSave2D_Emf) Specifies the horizontal width of the reference device for an Enhanced Metafile Format (EMF) file was generated by theTSave2D_Emf component. Syntax: property EmbedBarcodeText: Boolean. 229 . Description: The property specifies whether to embed the barcode text to a picture file. Note. Encapsulated PostScript (EPS). Scalable Vector Graphics (SVG).13 EmbedBarcodeText (TSave2D_Emf. Syntax: property DeviceWidthInUM: DWord. TSave2D_Gif. Graphics Interchange Format (GIF) version 89a. if the Version property is set to gv87a. which enhances the resolution and scalability of Enhanced Metafile Format (EMF) files. property EmbedBarcodeText: TPngEmbedBarcodeText. Description: The property specifies the horizontal width of the reference device. so for the TSave2D_Gif component. pebText. T h e DeviceWidthInUm and the DeviceHeightInUm properties add the ability to measure device surfaces in micrometers. Only the Portable Network Graphics (PNG). TSave2D_Eps. A.2D Barcode VCL Components User Manual A.4. and Enhanced Metafile (EMF) formats support to embed the barcode text. the Graphics Interchange Format (GIF) version 87a doesn't support to embed the other data into the picture file. in micrometres.4. when use the TSave2D_Emf component to save a barcode symbol to an Enhanced Metafile Format (EMF) file. Syntax: type { Defined in the pSave2D_Png unit } TPngEmbedBarcodeText = (pebNone. the value of this property will be ignored. in micrometres. If one of them is set to zero. only the encoded barcode text will be embed to the picture file. they will be ignored. A. Thus.. pebText: Embed the barcode text to the picture file directly. and a value of 2880 specifies that the image SHOULD be rendered at half its normal size. i. pebCompressedText: Compress the barcode text then embed it to the picture file. 230 . this property must be set if this Placeable property is set to true. in order to represent the image. a value of 720 specifies that the image SHOULD be rendered at twice its normal size.15 Interlaced (TSave2D_Png. Note. The property specifies whether to generate the interlaced images file.e.4. Syntax: property Interlaced: Boolean. TSave2D_Gif) Specifies whether to generate the interlaced picture file when use the TSave2D_Gif or TSave2D_Png component to save a barcode symbol. that the order of the raster lines in its data block is not sequential.4. Syntax: property LogicUnitsPerInch: Word. only the encoded barcode text will be embed to the picture file. This allows a partial display of the image that can be recognized before the full image is painted.16 LogicUnitsPerInch (TSave2D_Wmf) Specifies the number of logical units per inch when use the TSave2D_Wmf component to save a barcode symbol in placeable Windows Metafile Format (WMF). This property can be one of these values (defined in the pSave2D_Png unit): pebNone: Don't embed the barcode text to the picture file. Description: The Graphics Interchange Format (GIF) and Portable Network Graphics (PNG) allow the images is interlaced. By convention. If this Placeable property is set to false. A.2D Barcode VCL Components User Manual Description: The property specifies whether to embed the barcode text to a Portable Network Graphics (PNG) picture file. the value of this property will be ignored. Note. an image is considered to be recorded at 1440 logical units (twips) per inch. Description: Specifies the number of logical units per inch for a placeable Windows Metafile Format (WMF) file. This value can be used to scale a placeable image. A. the value of LogicUnitsPerInch property will be ignored.17 OriginalLogo (TSave2D_Svg) Determines how to save the logo picture in the target SVG file.4.2D Barcode VCL Components User Manual A.18 Placeable (TSave2D_Wmf) Specifies whether to generate a placeable Windows Metafile Format (WMF) file when use theTSave2D_Wmf component to save a barcode symbol. Description: Original Windows Metafile Format (WMF) were device-specific.19 Progressive (TSave2D_Jpg) Determines whether a JPEG image can be progressively displayed when it is decompressed. Syntax: property Placeable: Boolean. If this property is set to false. the logo picture will be saved using the BMP format and using the size which speified by the Width and Height properties of the TLogo2D component. Description: If a TLogo2D component is linked to the TBarcode2D component which the TSave2D_Svg component is linked to. A. the property LogicUnitsPerInch must be set if this property is set to true. A. so that it can be progressively displayed when it is decompressed.4. the logo picture can be saved in the target SVG file. 231 . "placeable" Windows Metafile Format (WMF) were developed. Syntax: property OriginalLogo: Boolean default True. The property determines how to save the logo picture in the target SVG file. To overcome this limitation. If the property is set true. otherwise. Description: Use Progressive to compress an image when saving barcode symbol in JPEG format. when you use the TSave2D_Jpg component to save a barcode symbol in JPEG format. Syntax: property Progressive: Boolean. The property specifies whether to generate a placeable Windows Metafile Format (WMF) file. the graphical images they contained would only be rendered correctly if played back on the output device for which they were recorded. the logo picture will be saved in the target SVG file using original format and size.4. Note. that is. it specifies the transparency-level of foreground color (bars or dark modules). when save a barcode symbol to a picture file.4. property Quality: TJPEGQuality default 100. gv89a). Description: 232 . Description: Use the Quality property to set the compression quality of the JPEG image when saving barcode symbol to a jpeg image.20 Quality (TSave2D_Jpg) Indicates the trade-off ratio between the image quality and the file size when use the TSave2D_Jpg component to save a barcode symbol. A. The property defaults to 1. Syntax: property SpaceOpacity: Single.. The higher the property value (up to a maximum of 100). the better the image quality. Description: For the TSave2D_Png and TSave2D_Svg components. Syntax: type { Defined in the pSave2D_Gif unit } TGifVersion = (gv87a. meaning not transparant at all.4. otherwise. but a smaller file size.21 SpaceOpacity (TSave2D_Png.5 is 50% see-through. 0.22 Version (TSave2D_Gif) Specifies the version of a Graphics Interchange Format (GIF) file for the TSave2D_Gif component. Syntax: type { Defined in the pSave2DJpg unit } TJPEGQuality = 1. and quiet zones) if the Inversed property is set to false. but at the expense of picture quality. The lower the property value (to a minimum of 1). the smaller the resulting file size. Where 1 is not transparant at all.100. Higher compression results in a poorer picture quality. A. the property specifies the transparency-level of bakcground color (spaces or light modules. property Version: TGifVersion. and 0 is completely transparent.4.2D Barcode VCL Components User Manual A. TSave2D_Svg) Specifies the transparency-level of entire barcode symbol. but the larger the file size. in pixels per meter. The value is used to help a bitmap image (BMP) file reader choose a proper horizontal resolution when printing or displaying the Bitmap image (BMP) file. 233 . in pixels per meter.2D Barcode VCL Components User Manual There are two versions of the Graphics Interchange Format (GIF): versions 87a and 89a. A. the original version of the Graphics Interchange Format (GIF). Description: The property specifies the horizontal resolution of the bitmap in pixels per meter.4. gv89a: Uses the version 89a. so the value of EmbedBarcodeText property will be ignored if you use the version. It doesn't support to embed the other data into the picture file. Description: The property specifies the vertical resolution of the bitmap in pixels per meter. you can set the EmbedBarcodeText property to true to embed the encoded barcode text into the Graphics Interchange Format (GIF) picture file. Syntax: property YPPM: Integer. the enhanced version of the Graphics Interchange Format (GIF). It can be one of these values (defined in thepSave2D_Gif unit): gv87a: Uses the version 87a. A. If you use the version.4. The value is used to help a bitmap image (BMP) file reader choose a proper vertical resolution when printing or displaying the Bitmap image (BMP) file.24 YPPM (TSave2D_Bmp) Specifies the vertical resolution of a Bitmap image (BMP) file for TSave2D_Bmp component.23 XPPM (TSave2D_Bmp) Specifies the horizontal resolution of a Bitmap image (BMP) file for TSave2D_Bmp component. Syntax: property XPPM: Integer. The property specifies which version will be used to save a barcode symbol to a Graphics Interchange Format (GIF) file. an EBarcode2DError exception occurs. the leading quiet zone and trailing quiet zone are included always.2 Clear Erases current barcode symbol in the TImage. or TQRGzImage control that's specified by the Image property. the return value is true. Description: The method erases the barcode symbol without erasing the background around it from the TImage. If the parameter isn't provided. Syntax: function Clear(UseSpaceColor: Boolean = false): Boolean. they are included in the barcode symbol and will be erased too. even if the ShowQuietZone property is set to false. the current brush color of the TImage.1. Specifies the source object. If Source is any other type of object. if the length of Barcode property value is invalid. If the quiet zones are displayed (the ShowQuietZone property is set to true). B. Specifies whether the space color that's specified by SpaceColor property is used to erase the barcode symbol. or TQRGzImage control that's specified by the Image property. virtual. For the Delphi/C++ Builder 2007 or early.1 Assign Copies a barcode component from another barcode component.1. Assign copies all property values and event handles except the Locked and the Image properties from the source barcode component to current one. Description: If the Source parameter is an object created from a subclass of TBarcode2D component class. For the TBarcode2D_Code16K barcode components. override.2D Barcode VCL Components User Manual Annex B. TQRImage. or there is any invalid character in the 234 . Syntax: procedure Assign(Source: TPresistent). and the class is same to current barcode component class.1 TBarcode2D B. TQRImage. Return: If the method succeeds. If it's set to false. or TQRGzImage control will be used. Parameters: UseSpaceColor: Boolean. it's default to false. Parameters: Source: TPersistent. TQRImage. Methods B. If you use the Data property to specify the barcode text. please convert it in theOnEncode event. if you use the Barcode property to specify the barcode text. Both of them will be copied to the system clipboard. if the Linear property is set. corresponding to the OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. B. If you want to encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early.UCC composite barcode symbol. If you want to encode a block of binary (bytes) data. By default.3. and TBarcode2D_CCC barcode components. or there is any invalid character in the Barcode property value. or specify the converted string in the Barcode parameter. Syntax 2: Copies the barcode symbol that is specified by the parameters of this method to the system clipboard. the 2D symbol and the linear symbol are assembled to generate an EAN. the return value is false too. TBarcode2D_CCB. UTF-16). please convert it in theOnEncode event. It is of type string. corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur.1 CopyToClipboard . the unicode string will be converted to an ANSI encoding string. the return value is false. then be encoded into the barcode symbol. TBarcode2D_CCB. Corresponding to the OnInvalidLength event or the OnInvalidChar event will occur. when the length of Data property value is invalid. The barcode symbol is specified by the properties of this barcode component. For the TBarcode2D_CCA. please use the CopyToClipboard (Syntax 2) overloading method. The method is available only for the Delphi/C++ Builder 2009 or later. the return value is false too. and the length of its Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value is invalid. Syntax 2.Syntax 1 Copies a barcode symbol to the system clipboard. if the Linear property is set. Corresponding to the OnInvalidLength event or the OnInvalidChar event will occur. the return value is false. if you want to use other encoding scheme (for example the UTF-8.2D Barcode VCL Components User Manual Barcode property value. For the Delphi/C++ Builder 2009 or later. If there is any invalid character in the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value.1. For Delphi/C++ Builder 2007 or early. and Syntax 3 (only for Delphi/C++Builder 2009 or later): Syntax 1: Copies the barcode symbol that is specified by the properties of this barcode component to the system clipboard. B. The barcode text is specified in the Barcode parameter.3 CopyToClipboard Copies a barcode symbol to the system clipboard. By default. or there is any invalid character in the Data property value. the Barcode parameter is in fact an AnsiString. For Delphi/C++ Builder 2009 or later. Syntax 1. you can use the method to encode a block of binary (bytes) data into a barcode symbol. Syntax 3: Copies the barcode symbol that is specified by the parameters of this method to the system clipboard. when the length of Barcode property value is invalid.1. The barcode text is specified in the Data parameter. For Delphi/C++ Builder 2009 or later. If you want to use other encoding scheme (for example the UTF-8. Also you can use the method to encode a block of binary (bytes) data. Or specifies the barcode text in AnsiString format. It is of type AnsiString. Syntax: 235 . For the TBarcode2D_CCA. There are several different overloading methods. or use the CopyToClipboard (Syntax 3) overloading method and specify the converted string in its Data parameter. Corresponding to the OnInvalidDataLength event or the OnInvalidDataChar event will occur. the return value is false. and TBarcode2D_CCC components. it is in fact an UnicodeString instead of AnsiString. it is an ANSI encoding string. please use the CopyToClipboard (Syntax 3) overloading method. UTF-16). You can use the LeadingQuietZone. TBarcode2D_CCB. please read the ShowQuietZone property about whether or not the quiet zones will be represented) anticlockwise. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. the parameter specifies the module width for entire EAN. The parameter specifies the horizonal width of a module. the module is single cell (a suqare shape) used to encode one bit data. The parameter specifies the module width. It defaults to 0 if the Module parameter is not provided. Description: Copies current barcode symbol that is specified by the properties of this barcode component to the system clipboard. TrailingQuietZone. TopQuietZone. Angle: Integer. Specifies the module size in logical dots or pixels in the horizontal direction. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. or TBarcode2D_CCC. TBarcode2D_CCB. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): 236 . See diagram: For the 2D component TBarcode2D_CCA. overload. Parameters: Module: Integer. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). See diagram: For the TBarcode2D_MaxiCode barcode symbology. The parameter specifies the module width and height. the module is single cell (a regular hexagonal shape) used to encode one bit data. the 2D symbol and the linear symbol are assembled to generate an EAN. they are included in the barcode symbol. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). virtual. See diagram: See also the "Module" property. it's the center to center horizontal distance between adjacent modules. and BottomQuietZone properties to specify the size of these quiet zones in modules.UCC composite barcode symbol. Angle: Integer = -1): Integer. and the value of Module property will be used.2D Barcode VCL Components User Manual function CopyToClipboard(Module: Integer = 0. and they will be rotated as an entirety. And use the ShowQuietZone property to specify whether to represent these quiet zones. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology.UCC composite barcode symbol. if its Linear property is set. or TBarcode2D_CCC. if its Linear property is set.UCC composite barcode symbol (including both 2D and linear symbols). Also. the module is the thinest bar (or space) in the barcode symbol. the 2D symbol and the linear symbol are assembled to generate an EAN. For other barcode components. the return valus is 65537. and TBarcode2D_CCC barcode components. ShowQuietZone: Boolean. In general. the return value is zero. Return: If the method succeeds. the return valus is -1 or -65537. The barcode symbol is specified by the parameters of this method. BarColor.2 CopyToClipboard .UCC composite barcode symbol. and the barcode symbol will be rotated based on the value of the Orientation property: boLeftRight: 0 degrees boRightLeft: 180 degrees boTopBottom: 270 degrees boBottomTop: 90 degrees If you want to use the -1 degrees. B. If there is any invalid character in the the barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property. and TBarcode2D_CCC barcode components. the 359 degrees can be used instead.Syntax 2 Copies a barcode symbol to the system clipboard. the index 1 denotes that the first character is invalid character.1. the return valus is -1.3. the return value is the position index of first invalid character. the return value 65537 denotes that the first character is invalid character). Angle: Integer = 0): Integer. TBarcode2D_CCB. overload. For other barcode components. the 2D symbol and the linear symbol are assembled to generate an EAN. For the TBarcode2D_CCA. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character.2D Barcode VCL Components User Manual The parameter defaults to -1 if the Angle is not provided. Description: 237 . If the invalid character is in the 2D symbol. if there is any invalid character in the the barcode text. the return value is greater than zero. Module: Integer. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. Syntax: function CopyToClipboard(Barcode: string. For the TBarcode2D_CCA. If the length of barcode text of the linear symbol is invalid. SpaceColor: TColor. TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN. If the invalid character is in the linear symbol. Corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. if the Linear property is set. the index 1 denotes that the first character is invalid character). If the length of barcode text of the 2D symbol is invalid. it's the position index of first invalid character. the return valus is -1. virtual. Corresponding to the OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. if the Linear property is set.UCC composite barcode symbol. For example. the index 1 denotes that the first character is invalid character. if the length of barcode text is invalid. If the length of barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property is invalid. the parameters specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. Also. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. or use the CopyToClipboard (Syntax 3) overloading method and specify the converted string in its Data parameter. the parameter is in effect for entire EAN. If the Inversed property is set to true. UTF-16). the parameters specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. then be encoded into the barcode symbol. the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. TrailingQuietZone. these quiet zones are represented. if its Linear property is set. BarColor: TColor. trailing. the 2D symbol and the linear symbol are assembled to generate an EAN.2D Barcode VCL Components User Manual Copies a barcode symbol that is specified by the parameters of this method to the system clipboard. please use the CopyToClipboard (Syntax 3) overloading method.UCC composite symbol (including both 2D and linear symbols). otherwise the check digit can be specified by you in the parameter. If the parameter value is set to true. please convert it in theOnEncode event. if the Linear property is set. if you want to use other encoding scheme (for example the UTF-8. it is in fact an UnicodeString instead of AnsiString. Also you can use the method to encode a block of binary (bytes) data. Specifies the barcode text. if the ShowQuietZone parameter value is set to true. UTF-16). top. trailing. trailing. TopQuietZone. In this case. it specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. It is of type string. In this case. and bottom quiet zones are represented using the color. By default. the Inversed property is set to false. the 2D symbol and the linear symbol are assembled to generate an EAN. By default.UCC composite symbol (including both 2D and linear symbols). If the Inversed property is set to true. and TBarcode2D_CCC barcode components. they are included in the barcode symbol. the unicode string will be converted to an ANSI encoding string. the leading. the parameter is in effect for entire EAN. if the property AutoCheckDigit is set to true. See also the "SpaceColor" property. See also the "BarColor" property. it specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. they don't be represented. For the TBarcode2D_CCA. For the 2D component TBarcode2D_CCA.UCC composite barcode symbol. Also. if the ShowQuietZone parameter value is set to true. Otherwise. the Inversed property is set to false. ShowQuietZone: Boolean. or TBarcode2D_CCC. the Barcode parameter is in fact an AnsiString. Specifies whether to represent the leading. and BottomQuietZone properties to specify the size of these quiet zones in modules. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties.UCC composite barcode symbol. or specify the converted string in the Barcode parameter. For the 2D component TBarcode2D_CCA. it is an ANSI encoding string. the check digit doesn't need to be included in the parameter. For Delphi/C++ Builder 2009 or later. If you want to use other encoding scheme (for example the UTF-8. You can use the LeadingQuietZone. the 2D symbol and the linear symbol are assembled to generate an EAN. and bottom quiet zones are represented using the color. SpaceColor: TColor.UCC composite barcode symbol. If you want to encode a block of binary (bytes) data. The parameter only specifies the barcode text for the 2D symbol. In general. if its Linear property is set. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). Parameters: Barcode: String. please convert it in theOnEncode event. the leading. In general. TBarcode2D_CCB. top and bottom quiet zones. TBarcode2D_CCB. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): 238 . For Delphi/C++ Builder 2007 or early. or TBarcode2D_CCC. TBarcode2D_CCB. top. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. TBarcode1D_ENA8. and TBarcode2D_CCC barcode components. In other words. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA. the trailing quiet zone will be represented even if the ShowQuietZone parameter is set to false. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. they are not only for the 2D symbol. regardless of whether the ShowQuietZone parameter is set to true or false. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. if the Linear property is set. and BottomQuietZone properties specify the size of quiet zones for entire EAN. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. the leading quiet zone and the trailing quiet zone will be represented always. or TBarcode1D_EAN13. TBarcode2D_CCB.UCC composite symbol. the ShowQuietZoneMark property is set to true too). TrailingQuietZone. Similarly. And theLeadingQuietZone. and TBarcode2D_CCC barcode components. TBarcode2D_CCB. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. if the linear component is the TBarcode1D_UPCE. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. even if the ShowQuietZone parameter value is set to false. if the linear component is the 239 . TopQuietZone. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_UPCE0. and for the TBarcode1D_ENA8 component. the leading quiet zone will be represented even if the ShowQuietZone parameter is set to false.UCC composite barcode symbol. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode component. the ShowQuietZoneMark property is set to true too). TBarcode1D_UPCE1. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. TBarcode1D_UPCA. The parameter specifies the horizonal width of a module. TBarcode1D_EAN13. See also the "ShowQuietZone" property. if its Linear property is set. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. it's the center to center horizontal distance between adjacent modules. See diagram: For the 2D component TBarcode2D_CCA. the parameter specifies the module width for entire EAN. If the Inversed property is set to true. these quiet zones are represented using the color specified by BarColor parameter. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology.UCC composite barcode symbol (including both 2D and linear symbols). TBarcode1D_UPCE1. the Inversed property is set to false.UCC composite barcode symbol.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true). the module is single cell (a regular hexagonal shape) used to encode one bit data. In this case. or TBarcode2D_CCC. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). The parameter specifies the module width and height. o r TBarcode1D_EAN128. Angle: Integer. regardless of whether the ShowQuietZone parameter is set to true or false. Also. TBarcode1D_UPCA. TBarcode1D_ENA8. Module: Integer. See diagram: For the TBarcode2D_MaxiCode barcode symbology. these quiet zones are represented using the color specified by SpaceColor parameter. TBarcode1D_UPCE0. please 240 . the module is the thinest bar (or space) in the barcode symbol.2D Barcode VCL Components User Manual TBarcode1D_UPCE. See diagram: See also the "Module" property. the 2D symbol and the linear symbol are assembled to generate an EAN. Specifies the module size in logical dots or pixels in the horizontal direction. and its human readable text is represented and exceeds the beginning or end of entire EAN. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): In general. The parameter specifies the module width. TBarcode2D_CCB. the module is single cell (a suqare shape) used to encode one bit data. or TBarcode2D_CCC. if there is any invalid character in the the barcode text. Module: Integer. If the length of barcode text of the 2D symbol is invalid. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character.1. the return valus is 65537.3. For the TBarcode2D_CCA. For the TBarcode2D_CCA. Angle: Integer = 0): Integer.2D Barcode VCL Components User Manual read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise.Syntax 3 Copies a barcode symbol to the system clipboard. TBarcode2D_CCB. And use the ShowQuietZone parameter to specify whether to represent these quiet zones. TBarcode2D_CCB. if its Linear property is set. the 2D symbol and the linear symbol are assembled to generate an EAN. For other barcode components. the return valus is -1. TBarcode2D_CCB. and TBarcode2D_CCC barcode components. In general. the index 1 denotes that the first character is invalid character. The barcode symbol is specified by the parameters of this method. the return value is greater than zero. B. If the length of barcode text is invalid. and TBarcode2D_CCC barcode components. ShowQuietZone: Boolean. Return: If the method succeeds. BarColor. the index 1 denotes that the first character is invalid character. virtual. the 2D symbol and the linear symbol are assembled to generate an EAN. If the invalid character is in the linear symbol. if the Linear property is set.UCC composite barcode symbol. the return value is zero. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): The parameter defaults to 0 if the Angle is not provided.UCC composite barcode symbol. the 2D symbol and the linear symbol are assembled to generate an EAN. it's the position index of first invalid character. For other barcode components. If there is any invalid character in the the barcode text. the return valus is -1 or -65537. If the invalid character is in the 2D symbol. the index 1 denotes that the first character is invalid character). the return valus is -1. meaning left to right horizontal direction. the return value 65537 denotes that the first character is invalid character). if the length of barcode text is invalid. You can use the LeadingQuietZone. If the length of barcode text of the linear symbol is invalid. and BottomQuietZone properties to specify the size of these quiet zones in modules. Description: 241 . and they will be rotated as an entirety. SpaceColor: TColor.UCC composite barcode symbol. Syntax: function CopyToClipboard(Data: AnsiString. TrailingQuietZone. if the Linear property is set. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. the return value is the position index of first invalid character. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. For example. TopQuietZone. overload.3 CopyToClipboard . the leading. Also. Also. trailing. they are included in the barcode symbol.2D Barcode VCL Components User Manual Copies a barcode symbol that is specified by the parameters of this method to the system clipboard. Parameters: Data: AnsiString. trailing. and BottomQuietZone properties to specify the size of these quiet zones in modules. In this case. TrailingQuietZone.UCC composite symbol (including both 2D and linear symbols).UCC composite barcode symbol. or TBarcode2D_CCC. these quiet zones are represented. the parameters specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. they don't be represented. The parameter only specifies the barcode text for the 2D symbol. please use the CopyToClipboard (Syntax 2) overloading method. In general. top.UCC composite barcode symbol. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties. See also the "BarColor" property. Or specifies the barcode text in AnsiString format. the leading. ShowQuietZone: Boolean. the parameter is in effect for entire EAN. and TBarcode2D_CCC barcode components. if the Linear property is set. top. it specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. if the ShowQuietZone parameter value is set to true. the Inversed property is set to false. If the parameter value is set to true. if its Linear property is set. Specifies the barcode text. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN. If you want to encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early. the parameter is in effect for entire EAN. SpaceColor: TColor. the check digit doesn't need to be included in the parameter. the Inversed property is set to false. In this case. BarColor: TColor. if the ShowQuietZone parameter value is set to true. If the Inversed property is set to true.UCC composite symbol (including both 2D and linear symbols). For the 2D component TBarcode2D_CCA. top and bottom quiet zones. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): 242 . Specifies whether to represent the leading. if the property AutoCheckDigit is set to true. In general. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). It is of type AnsiString. Otherwise. or TBarcode2D_CCC. You can use the LeadingQuietZone.UCC composite barcode symbol. TBarcode2D_CCB. if its Linear property is set. If the Inversed property is set to true. the 2D symbol and the linear symbol are assembled to generate an EAN. For the TBarcode2D_CCA. See also the "SpaceColor" property. otherwise the check digit can be specified by you in the parameter. it specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. you can use the method to encode a block of binary (bytes) data into a barcode symbol. For the 2D component TBarcode2D_CCA. the parameters specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. and bottom quiet zones are represented using the color. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. trailing. For the Delphi/C++ Builder 2009 or later. TopQuietZone. and bottom quiet zones are represented using the color. TBarcode2D_CCB. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. TBarcode1D_UPCE0. or TBarcode1D_EAN13. they are not only for the 2D symbol. TBarcode1D_ENA8.UCC composite barcode symbol. even if the ShowQuietZone parameter value is set to false. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet 243 . the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. the leading quiet zone and the trailing quiet zone will be represented always. TBarcode2D_CCB. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. TBarcode1D_UPCA. TBarcode2D_CCB. TBarcode1D_UPCA. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. and TBarcode2D_CCC barcode components.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true). In other words. regardless of whether the ShowQuietZone parameter is set to true or false. the leading quiet zone will be represented even if the ShowQuietZone parameter is set to false. TBarcode1D_UPCE0. TopQuietZone. TrailingQuietZone. regardless of whether the ShowQuietZone parameter is set to true or false. if the Linear property is set. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. and BottomQuietZone properties specify the size of quiet zones for entire EAN. and TBarcode2D_CCC barcode components. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. TBarcode1D_UPCE1. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. and its human readable text is represented and exceeds the beginning or end of entire EAN. TBarcode1D_EAN13. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA. if the linear component is the TBarcode1D_UPCE.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode component. and for the TBarcode1D_ENA8 component. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. if the linear component is the TBarcode1D_UPCE. the 2D symbol and the linear symbol are assembled to generate an EAN. o r TBarcode1D_EAN128. Similarly. TBarcode1D_ENA8. the ShowQuietZoneMark property is set to true too). the ShowQuietZoneMark property is set to true too).UCC composite symbol. TBarcode1D_UPCE1. the trailing quiet zone will be represented even if the ShowQuietZone parameter is set to false. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. And theLeadingQuietZone. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). the module is single cell (a regular hexagonal shape) used to encode one bit data. TopQuietZone. If the Inversed property is set to true. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology. See also the "ShowQuietZone" property. and BottomQuietZone properties to specify the size of these quiet zones in modules. Module: Integer. Angle: Integer. or TBarcode2D_CCC. the 2D symbol and the linear symbol are assembled to generate an EAN. it's the center to center horizontal distance between adjacent modules. Also. The parameter specifies the module width and height.UCC composite barcode symbol (including both 2D and linear symbols). See diagram: See also the "Module" property. these quiet zones are represented using the color specified by SpaceColor parameter. please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise. You can use the LeadingQuietZone. these quiet zones are represented using the color specified by BarColor parameter. See diagram: For the 2D component TBarcode2D_CCA. the module is single cell (a suqare shape) used to encode one bit data. See diagram: For the TBarcode2D_MaxiCode barcode symbology. In this case.UCC composite barcode symbol. the parameter specifies the module width for entire EAN. the module is the thinest bar (or space) in the barcode symbol. The parameter specifies the module width. The parameter specifies the horizonal width of a module. if its Linear property is set. the Inversed property is set to false. Specifies the module size in logical dots or pixels in the horizontal direction. TrailingQuietZone. And use the ShowQuietZone parameter to specify whether to represent these quiet zones. TBarcode2D_CCB. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 244 . Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented.2D Barcode VCL Components User Manual zones): In general. 2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. TBarcode2D_CCB. if its Linear property is set. If the length of barcode text of the linear symbol is invalid. In general. Note: The overloading method is available only for the Delphi/C++ Builder 2009 or later. 245 . B. if the length of barcode text is invalid. the return valus is -1. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character.UCC composite barcode symbol. TBarcode2D_CCB.1. and TBarcode2D_CCC barcode components. the index 1 denotes that the first character is invalid character. the return valus is -1. the return value is the position index of first invalid character. For the TBarcode2D_CCA. Syntax: constructor Create(Owner: TComponent). the return value is zero. TBarcode2D_CCB. For the TBarcode2D_CCA.4 Create Creates and initializes a barcode component. If the length of barcode text of the 2D symbol is invalid. if there is any invalid character in the the barcode text. override. the return valus is 65537. the return valus is -1 or -65537. the index 1 denotes that the first character is invalid character. If the length of barcode text is invalid. or TBarcode2D_CCC. If the invalid character is in the linear symbol. and TBarcode2D_CCC barcode components. it's the position index of first invalid character. the 2D symbol and the linear symbol are assembled to generate an EAN. meaning left to right horizontal direction. the return value is greater than zero. Description: Call Create to instantiate a barcode object at runtime. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): The parameter defaults to 0 if the Angle is not provided. if the Linear property is set. If there is any invalid character in the the barcode text. For example. the 2D symbol and the linear symbol are assembled to generate an EAN. the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. the return value 65537 denotes that the first character is invalid character). Barcode components added at design time are created automatically. and they will be rotated as an entirety. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. If the invalid character is in the 2D symbol. For other barcode components. For other barcode components. Return: If the method succeeds.UCC composite barcode symbol. if the Linear property is set. the index 1 denotes that the first character is invalid character). if the length of Barcode property value is invalid. Both of them will be drawn in the TImage. Do not call the destructor directly in an application. B. Typically. TQRImage. Corresponding to 246 . It is the component that is responsible for freeing the barcode component instance.UCC composite barcode symbol. It defaults to false if the parameter is not provided. B. TQRImage. the barcode text will be encoded again before present the barcode symbol. when the length of Barcode property value is invalid. or TQRGzImage control that's specified by the Image property. or there is any invalid character in the Barcode property value. if you use the Barcode property to specify the barcode text. Syntax: function Draw(ReEncode: Boolean = False): Boolean. Instead. TBarcode2D_CCB. and TBarcode2D_CCC barcode components. Return: If the method succeeds. the 2D symbol and the linear symbol are assembled to generate an EAN. please call the method and set the parameter to true (please call the Clear method firstly).6 Draw Redraws current barcode symbol in the TImage.2D Barcode VCL Components User Manual Parameters: Owner: TComponent.1. this is the form. For the TBarcode2D_CCA. or there is any invalid character in the Barcode property value. the return value is true. TQRImage. For the Delphi/C++ Builder 2007 or early. Corresponding to the OnInvalidLength event or the OnInvalidChar event will occur. If the parameter is set to true. The Free verifies that the barcode object is not nil before it calls Destroy. For Delphi/C++ Builder 2009 or later.5 Destroy Disposes of the instance of the barcode object. Parameter: ReEncode: Boolean. Normally. If you changed the OnEncode event handle. call Free.1. Description: Destroy is the destructor for a barcode object. Description: The method redraws the barcode symbol to the TImage. or TQRGzImage control. the return value is false. Syntax: destructor Destroy. the previous encoded data will be used to present the barcode symbol. override. the barcode text will not be encoded again when call the method. the return value is false. if the Linear property is set. or TQRGzImage control that's specified by the Image property. virtual. It becomes the value of the Owner property. The barcode symbol is specified in the properties of this barcode component. draws current barcode symbol that is specified by the properties of this barcode component. It is of type string. For the TBarcode2D_CCA. 247 . the return value is false too. For Delphi/C++ Builder 2007 or early. UTF-16). By default. There are several different overloading methods. please convert it in theOnEncode event. Module: Integer = 0. then be encoded into the barcode symbol. the Barcode parameter is in fact an AnsiString. For the TBarcode2D_CCA. TBarcode2D_CCB. and TBarcode2D_CCC components. Corresponding to the OnInvalidDataLength event or the OnInvalidDataChar event will occur. it is an ANSI encoding string. If you want to use other encoding scheme (for example the UTF-8. Or specifies the barcode text in AnsiString format. and the length of its Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value is invalid. please convert it in theOnEncode event. TBarcode2D_CCB. overload. if the Linear property is set. Also you can use the method to encode a block of binary (bytes) data. B. If there is any invalid character in the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value. when the length of Data property value is invalid. Syntax 3: Draws the barcode symbol that is specified by the parameters of this method.UCC composite barcode symbol. The method is available only for the Delphi/C++ Builder 2009 or later.Syntax 1 Draws a barcode symbol on the specified canvas. or use the DrawTo (Syntax 3) overloading method and specify the converted string in its Data parameter. please use the DrawTo (Syntax 2) overloading method.2D Barcode VCL Components User Manual the OnInvalidLength event or the OnInvalidChar event will occur. The barcode symbol is specified by the properties of this barcode component. corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. B. the 2D symbol and the linear symbol are assembled to generate an EAN. Angle: Integer = -1. you can use the method to encode a block of binary (bytes) data into a barcode symbol. For the Delphi/C++ Builder 2009 or later. Syntax 1. By default. Both of them will be drawn on the specified canvas. Syntax: function DrawTo(Canvas: TCanvas. The barcode text is specified in the Barcode parameter. Syntax 2. or specify the converted string in the Barcode parameter. Syntax 2: Draws the barcode symbol that is specified by the parameters of this method. For Delphi/C++ Builder 2009 or later.1. It is of type AnsiString. If you want to encode a block of binary (bytes) data. if the Linear property is set.1 DrawTo .1. and TBarcode2D_CCC barcode components. Description: On the specified canvas. virtual. UTF-16). the unicode string will be converted to an ANSI encoding string. HDPI: Integer = 0. The barcode text is specified in the Data parameter. Left. it is in fact an UnicodeString instead of AnsiString. if you want to use other encoding scheme (for example the UTF-8. corresponding to the OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. and Syntax 3 (only for Delphi/C++Builder 2009 or later): Syntax 1: Draws the barcode symbol that is specified by the properties of this barcode component. If you use the Data property to specify the barcode text. the return value is false.7 DrawTo Draws a barcode symbol on the specified canvas. Top: Integer.7. the return value is false too. please use the DrawTo (Syntax 3) overloading method. If you want to encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early. VDPI: Integer = 0): Integer. or there is any invalid character in the Data property value. and TBarcode2D_CCC barcode components. and TBarcode2D_CCC components. if the Linear property is set. TBarcode1D_UPCE0. if the Linear property is set. TBarcode1D_UPCE. they are included in the barcode symbol. TBarcode1D_UPCE1. the leading quiet zone and the trailing quiet zone are included always. The linear symbol is included in the composite barcode symbol. Specifies target canvas to represent the barcode symbol on it. and its human readable text is represented. the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol not for the 2D symbol. the 2D symbol and the linear symbol are assembled to generate an EAN. Left: Integer.UCC composite barcode symbol. TBarcode1D_EAN13. TBarcode2D_CCB. and the parameter specifies the left margin for entire rotated EAN. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. Both of them will be drawn on the specified canvas. or TBarcode2D_CCC component is TBarcode1D_UPCA. even if the ShowQuietZone property is set to false. TBarcode2D_CCB. For the TBarcode2D_CCA. The human readable text and the vertical spacing between the 248 .2D Barcode VCL Components User Manual Parameters: Canvas: TCanvas. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). TBarcode1D_EAN8. TBarcode2D_CCB.UCC composite barcode symbol. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. Specifies the margin between the rotated barcode symbol and the left side of the canvas in logical dots or pixels in the horizontal direction. or TBarcode1D_EAN128. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. If the TextAlignment property is set to taCustom. The parameter always specifies the left margin for entire rotated EAN. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. Top: Integer. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). Specifies the margin between the rotated barcode symbol and the top side of the canvas in logical dots or pixels in the vertical direction. If the TextAlignment property isn't set to taCustom. even if the ShowQuietZone property is set to false. See diagram (theSpaceColor property is set to clSilver in order to accentuate the quiet zones): See also the "LeftMargin" property. they are included in the barcode symbol. the excess is included in the symbol.UCC composite barcode symbol in horizontal direction. and the human readable text exceeds entire EAN. the leading quiet zone and the trailing quiet zone are included always. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): 249 .2D Barcode VCL Components User Manual text and linear symbol are included in the symbol.UCC composite symbol. this does not apply to TBarcode1D_EAN128). the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. 2D Barcode VCL Components User Manual For the TBarcode2D_CCA. TBarcode2D_CCB. Also. The parameter always specifies the top margin for entire rotated EAN. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology).UCC composite barcode symbol. See diagram: For the TBarcode2D_MaxiCode barcode symbology. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. or TBarcode2D_CCC component is TBarcode1D_UPCA. the 2D symbol and the linear symbol are assembled to generate an EAN. The linear symbol is included in the composite barcode symbol. Module: Integer. if the Linear property is set. and TBarcode2D_CCC components. The parameter specifies the module width and height. the excess is included in the symbol. Specifies the module size in logical dots or pixels in the horizontal direction. TBarcode1D_UPCE1. TBarcode1D_UPCE0. or TBarcode1D_EAN128. If the TextAlignment property is set to taCustom. TBarcode2D_CCB. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. TBarcode1D_EAN8. and the value of Module property will be used. See diagram: 250 . this does not apply to TBarcode1D_EAN128). See diagram (theSpaceColor property is set to clSilver in order to accentuate the quiet zones): See also the "TopMargin" property. The parameter specifies the horizonal width of a module. it's the center to center horizontal distance between adjacent modules. TBarcode1D_UPCE. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. the module is single cell (a suqare shape) used to encode one bit data. and the parameter specifies the top margin for entire rotated EAN.UCC composite symbol. If the TextAlignment property isn't set to taCustom. and its human readable text is represented.UCC composite barcode symbol not for the 2D symbol. It defaults to 0 if the Module parameter is not provided. the module is single cell (a regular hexagonal shape) used to encode one bit data. and the human readable text exceeds entire EAN. TBarcode1D_EAN13.UCC composite barcode symbol in horizontal direction. the 359 degrees can be used instead. the parameter specifies the module width for entire EAN. if its Linear property is set. and the physical horizontal resolution obtained from the Canvas parameter will be used. It defaults to 0 if the VDPI is not provided. You can use the LeadingQuietZone. the parameter is required in order to represent the correct barcode symbol when the symbol is rotated. the 2D symbol and the linear symbol are assembled to generate an EAN. or TBarcode2D_CCC. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. and they will be rotated as an entirety. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. VDPI: Integer. and the vertical units or scaling is changed. TBarcode2D_CCB. the parameter is required in order to represent the correct barcode symbol when the symbol is 251 .UCC composite barcode symbol. HDPI: Integer. TrailingQuietZone. It defaults to 0 if the HDPI is not provided. Specifies the vertical resolution of canvas in logical DPI. and the horizontal units or scaling is changed. if its Linear property is set. Angle: Integer. TopQuietZone. you can specify it to 0. So if you use the MM_TEXT map mode. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. you can specify it to 0. the module is the thinest bar (or space) in the barcode symbol. and the barcode symbol will be rotated based on the value of the Orientation property: boLeftRight: 0 degrees boRightLeft: 180 degrees boTopBottom: 270 degrees boBottomTop: 90 degrees If you want to use the -1 degrees. So if you use the MM_TEXT map mode. See diagram: For the 2D component TBarcode2D_CCA. It's the number of logical dots or pixels per inch. Specifies the horizontal resolution of canvas in logical DPI.UCC composite barcode symbol (including both 2D and linear symbols). please read the ShowQuietZone property about whether or not the quiet zones will be represented) anticlockwise. or TBarcode2D_CCC. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented.UCC composite barcode symbol. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): The parameter defaults to -1 if the Angle is not provided. TBarcode2D_CCB.2D Barcode VCL Components User Manual For the Stacked 2D barcode symbology and Linear 1D barcode symbology. and BottomQuietZone properties to specify the size of these quiet zones in modules. The parameter specifies the module width. And use the ShowQuietZone property to specify whether to represent these quiet zones. See diagram: See also the "Module" property. the 2D symbol and the linear symbol are assembled to generate an EAN. and the physical vertical resolution obtained from the Canvas parameter will be used. It's the number of logical dots or pixels per inch. 1. BarColor. the 2D symbol and the linear symbol are assembled to generate an EAN. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. the 2D symbol and the linear symbol are assembled to generate an EAN. Return: If the method succeeds. VDPI: Integer = 0): Integer. Both of them will be drawn on the specified canvas. If the invalid character is in the 2D symbol. it's the position index of first invalid character. For other barcode components. If the length of barcode text of the linear symbol is invalid. the return valus is -1. and TBarcode2D_CCC barcode components. Barcode: String. UTF-16). virtual. ShowQuietZone: Boolean. In general. Module: Integer. if you want to use other encoding scheme (for example the UTF-8. it is an ANSI encoding string.Syntax 2 Draws a barcode symbol on the specified canvas. and TBarcode2D_CCC barcode components. the return value is greater than zero. For example. the return value 65537 denotes that the first character is invalid character). if the Linear property is set. It is of type string. please convert it in theOnEncode event.7. the return valus is -1. For the TBarcode2D_CCA. Also you can use the method to encode a block of binary (bytes) data. TBarcode2D_CCB. Left. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. the return value is the position index of first invalid character. the return valus is 65537. the return valus is -1 or -65537. If the length of barcode text of the 2D symbol is invalid. Description: On the specified canvas.2D Barcode VCL Components User Manual rotated. or specify the converted string in the Barcode parameter. Syntax: function DrawTo(Canvas: TCanvas. HDPI: Integer = 0. Barcode: string.UCC composite barcode symbol. Angle: Integer = 0. For other barcode components. Corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. B. the index 1 denotes that the first character is invalid character.UCC composite barcode symbol. the index 1 denotes that the first character is invalid character. Corresponding to the OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. The barcode symbol is specified by the parameters of this method. overload. For the TBarcode2D_CCA. TBarcode2D_CCB. and TBarcode2D_CCC barcode components. Specifies target canvas to represent the barcode symbol on it. If the invalid character is in the linear symbol. If there is any invalid character in the the barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property. if the length of barcode text is invalid. the return value is zero. if the Linear property is set.2 DrawTo . if the Linear property is set. if there is any invalid character in the the barcode text. draws a barcode symbol that is specified by the parameters of this method. For the TBarcode2D_CCA. TBarcode2D_CCB. the index 1 denotes that the first character is invalid character). Top. 252 . If the length of barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property is invalid. the Barcode parameter is in fact an AnsiString. By default.UCC composite barcode symbol. Parameters: Canvas: TCanvas. the 2D symbol and the linear symbol are assembled to generate an EAN. For Delphi/C++ Builder 2007 or early. Specifies the barcode text. SpaceColor: TColor. For the 2D component TBarcode2D_CCA.UCC composite barcode symbol. or use the DrawTo (Syntax 3) overloading method and specify the converted string in its Data parameter. TrailingQuietZone. it is in fact an UnicodeString instead of AnsiString.UCC composite barcode symbol. or TBarcode2D_CCC. See also the "SpaceColor" property. TopQuietZone. top and bottom quiet zones. ShowQuietZone: Boolean.UCC composite barcode symbol. If the Inversed property is set to true. the 2D symbol and the linear symbol are assembled to generate an EAN. if its Linear property is set. UTF-16). In this case. the leading. the 2D symbol and the linear symbol are assembled to generate an EAN.2D Barcode VCL Components User Manual For Delphi/C++ Builder 2009 or later. Otherwise. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties.UCC composite symbol (including both 2D and linear symbols). if the ShowQuietZone parameter value is set to true. top. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): 253 . TBarcode2D_CCB. the parameters specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. it specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. it specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. By default. or TBarcode2D_CCC. Specifies whether to represent the leading. if its Linear property is set. trailing. the Inversed property is set to false. trailing. the parameters specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. the leading quiet zone and the trailing quiet zone will be represented always. top. the parameter is in effect for entire EAN. If the Inversed property is set to true. In general. and bottom quiet zones are represented using the color. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. See also the "BarColor" property. the 2D symbol and the linear symbol are assembled to generate an EAN. and TBarcode2D_CCC barcode components. the parameter is in effect for entire EAN. You can use the LeadingQuietZone. the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. TBarcode2D_CCB. if the property AutoCheckDigit is set to true. SpaceColor: TColor. For the 2D component TBarcode2D_CCA. Also. they don't be represented. if the ShowQuietZone parameter value is set to true. trailing. these quiet zones are represented. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. please convert it in theOnEncode event. In this case. if the Linear property is set. For the TBarcode2D_CCA. If you want to encode a block of binary (bytes) data. Also. the check digit doesn't need to be included in the parameter. then be encoded into the barcode symbol. The parameter only specifies the barcode text for the 2D symbol. the unicode string will be converted to an ANSI encoding string. In general. the leading. and BottomQuietZone properties to specify the size of these quiet zones in modules.UCC composite symbol (including both 2D and linear symbols). If you want to use other encoding scheme (for example the UTF-8. and bottom quiet zones are represented using the color. please use the DrawTo (Syntax 3) overloading method. BarColor: TColor. TBarcode2D_CCB. If the parameter value is set to true. otherwise the check digit can be specified by you in the parameter. the Inversed property is set to false. even if the ShowQuietZone parameter value is set to false. TBarcode1D_UPCA.UCC composite barcode symbol. Similarly. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. if the Linear property is set. and TBarcode2D_CCC barcode components. TBarcode1D_UPCE0. regardless of whether the ShowQuietZone parameter is set to true or false. TBarcode2D_CCB. o r TBarcode1D_EAN128. TBarcode1D_ENA8. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. TBarcode1D_EAN13. the ShowQuietZoneMark property is set to true too).UCC composite symbol. and for the TBarcode1D_ENA8 component.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true). TBarcode1D_UPCA. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. and its human readable text is represented and exceeds the beginning or end of entire EAN. if the linear component is the TBarcode1D_UPCE. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. regardless of whether the ShowQuietZone parameter is set to true or false. TopQuietZone. TrailingQuietZone. the leading quiet zone will be represented even if the ShowQuietZone parameter is set to false. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 254 . TBarcode2D_CCB. or TBarcode1D_EAN13. In other words. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. TBarcode1D_UPCE1. and BottomQuietZone properties specify the size of quiet zones for entire EAN. and TBarcode2D_CCC barcode components. TBarcode1D_UPCE0. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. TBarcode1D_UPCE1. TBarcode1D_ENA8. the 2D symbol and the linear symbol are assembled to generate an EAN. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA. the trailing quiet zone will be represented even if the ShowQuietZone parameter is set to false. if the linear component is the TBarcode1D_UPCE.2D Barcode VCL Components User Manual For the TBarcode2D_CCA. And theLeadingQuietZone. the ShowQuietZoneMark property is set to true too). and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. they are not only for the 2D symbol. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. the 2D symbol and the linear symbol are assembled to generate an EAN. even if t h e ShowQuietZone parameter is set to false. the leading quiet zone and the trailing quiet zone are included always. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). the Inversed property is set to false.UCC composite barcode symbol.UCC composite barcode symbol not for the 2D symbol. In this case. and TBarcode2D_CCC components. Specifies the margin between the rotated barcode symbol and the left side of the canvas in logical dots or pixels in the horizontal direction. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 255 . these quiet zones are represented using the color specified by SpaceColor parameter. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. these quiet zones are represented using the color specified by BarColor parameter.2D Barcode VCL Components User Manual In general. and the parameter specifies the left margin for entire rotated EAN. TBarcode2D_CCB. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. if the Linear property is set. The linear symbol is included in the composite barcode symbol. If the Inversed property is set to true. they are included in the barcode symbol. Left: Integer. See also the "ShowQuietZone" property. UCC composite barcode symbol in horizontal direction. If the TextAlignment property isn't set to taCustom. and the human readable text exceeds entire EAN. they are included in the barcode symbol. Specifies the margin between the rotated barcode symbol and the top side of the canvas in logical dots or pixels in the vertical direction. The parameter always specifies the left margin for entire rotated EAN.UCC composite symbol. TBarcode1D_UPCE. or TBarcode1D_EAN128. TBarcode1D_EAN13. See diagram (theSpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): See also the "LeftMargin" property. TBarcode2D_CCB. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 256 . TBarcode1D_UPCE0. Top: Integer. this does not apply to TBarcode1D_EAN128). TBarcode1D_EAN8. and its human readable text is represented. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode1D_UPCE1. If the TextAlignment property is set to taCustom. the excess is included in the symbol. or TBarcode2D_CCC component is TBarcode1D_UPCA.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). TBarcode2D_CCB. 257 . and the human readable text exceeds entire EAN. the excess is included in the symbol.UCC composite symbol. if the Linear property is set.UCC composite barcode symbol in horizontal direction. TBarcode2D_CCB. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode1D_EAN13. TBarcode1D_UPCE1. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. and its human readable text is represented. the leading quiet zone and the trailing quiet zone are included always. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. See diagram (theSpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): See also the "TopMargin" property. and TBarcode2D_CCC components. and the parameter specifies the top margin for entire rotated EAN. If the TextAlignment property is set to taCustom. this does not apply to TBarcode1D_EAN128). The parameter always specifies the top margin for entire rotated EAN. The linear symbol is included in the composite barcode symbol.UCC composite barcode symbol. TBarcode1D_UPCE0. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. even if t h e ShowQuietZone parameter is set to false. If the TextAlignment property isn't set to taCustom. TBarcode1D_UPCE. or TBarcode1D_EAN128. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented.UCC composite barcode symbol not for the 2D symbol. the 2D symbol and the linear symbol are assembled to generate an EAN.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode component. TBarcode1D_EAN8. HDPI: Integer. You can use the LeadingQuietZone. TrailingQuietZone. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. the module is single cell (a suqare shape) used to encode one bit data. the 2D symbol and the linear symbol are assembled to generate an EAN. Also. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. TopQuietZone. Angle: Integer. It 258 . and BottomQuietZone properties to specify the size of these quiet zones in modules. if its Linear property is set. Specifies the horizontal resolution of canvas in logical DPI. please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise.UCC composite barcode symbol (including both 2D and linear symbols). See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology. TBarcode2D_CCB. See diagram: See also the "Module" property. the module is the thinest bar (or space) in the barcode symbol. the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): The parameter defaults to 0 if the Angle is not provided.2D Barcode VCL Components User Manual Module: Integer. Specifies the module size in logical dots or pixels in the horizontal direction. the parameter specifies the module width for entire EAN. TBarcode2D_CCB. And use the ShowQuietZone parameter to specify whether to represent these quiet zones. The parameter specifies the horizonal width of a module.UCC composite barcode symbol. it's the center to center horizontal distance between adjacent modules. See diagram: For the 2D component TBarcode2D_CCA. It's the number of logical dots or pixels per inch. and they will be rotated as an entirety. or TBarcode2D_CCC. See diagram: For the TBarcode2D_MaxiCode barcode symbology. meaning left to right horizontal direction. or TBarcode2D_CCC. The parameter specifies the module width. if its Linear property is set. the module is single cell (a regular hexagonal shape) used to encode one bit data. The parameter specifies the module width and height. Specifies the vertical resolution of canvas in logical DPI. For example. draws a barcode symbol that is specified by the parameters of this method. and TBarcode2D_CCC barcode components. For other barcode components. TBarcode2D_CCB. the index 1 denotes that the first character is invalid character. if the Linear property is set. the index 1 denotes that the first character is invalid character. Both of them will be drawn on the specified canvas. virtual. VDPI: Integer = 0): Integer. if the Linear property is set. ShowQuietZone: Boolean. if the length of barcode text is invalid. 259 . the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol.7. If the length of barcode text of the 2D symbol is invalid. In general. the parameter is required in order to represent the correct barcode symbol when the symbol is rotated. the return valus is -1. you can specify it to 0. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. Module: Integer. if the Linear property is set. SpaceColor: TColor. Data: AnsiString. So if you use the MM_TEXT map mode. If the length of barcode text is invalid. It is of type AnsiString. Angle: Integer = 0. B. the return value 65537 denotes that the first character is invalid character). the return value is greater than zero. So if you use the MM_TEXT map mode. the 2D symbol and the linear symbol are assembled to generate an EAN. For the TBarcode2D_CCA. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode.2D Barcode VCL Components User Manual defaults to 0 if the HDPI is not provided. you can specify it to 0. it's the position index of first invalid character. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. Parameters: Canvas: TCanvas. VDPI: Integer. If the length of barcode text of the linear symbol is invalid. the parameter is required in order to represent the correct barcode symbol when the symbol is rotated. if there is any invalid character in the the barcode text. the return valus is -1 or -65537. TBarcode2D_CCB. and the physical horizontal resolution obtained from the Canvas parameter will be used. the return value is zero. TBarcode2D_CCB. the return value is the position index of first invalid character.UCC composite barcode symbol. and TBarcode2D_CCC barcode components. If the invalid character is in the linear symbol. the index 1 denotes that the first character is invalid character). overload. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. Specifies target canvas to represent the barcode symbol on it. If there is any invalid character in the the barcode text. BarColor. It's the number of logical dots or pixels per inch. the return valus is -1. If the invalid character is in the 2D symbol. and the vertical units or scaling is changed. Data: AnsiString.1.Syntax 3 Draws a barcode symbol on the specified canvas. It defaults to 0 if the VDPI is not provided.UCC composite barcode symbol. For other barcode components.3 DrawTo . and the horizontal units or scaling is changed. the 2D symbol and the linear symbol are assembled to generate an EAN. and the physical vertical resolution obtained from the Canvas parameter will be used. the return valus is 65537. Top. For the TBarcode2D_CCA. HDPI: Integer = 0. and TBarcode2D_CCC barcode components. Specifies the barcode text. Description: On the specified canvas. For the TBarcode2D_CCA. Syntax: function DrawTo(Canvas: TCanvas. Left. Return: If the method succeeds. The barcode symbol is specified by the parameters of this method. if its Linear property is set. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. the check digit doesn't need to be included in the parameter. You can use the LeadingQuietZone. they don't be represented. top.UCC composite barcode symbol. the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. trailing. the leading. these quiet zones are represented. For the TBarcode2D_CCA. top. it specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. See also the "SpaceColor" property. trailing. the parameters specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. The parameter only specifies the barcode text for the 2D symbol. See also the "BarColor" property. if the ShowQuietZone parameter value is set to true. if the ShowQuietZone parameter value is set to true. ShowQuietZone: Boolean. or TBarcode2D_CCC. if the Linear property is set. Specifies whether to represent the leading. the 2D symbol and the linear symbol are assembled to generate an EAN. For the 2D component TBarcode2D_CCA.UCC composite barcode symbol. if its Linear property is set.UCC composite barcode symbol. the parameter is in effect for entire EAN. For the 2D component TBarcode2D_CCA. or TBarcode2D_CCC. even if the ShowQuietZone parameter value is set to false. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): 260 . and bottom quiet zones are represented using the color. BarColor: TColor. the leading. the parameters specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. TrailingQuietZone. you can use the method to encode a block of binary (bytes) data into a barcode symbol.2D Barcode VCL Components User Manual For the Delphi/C++ Builder 2009 or later. In general. SpaceColor: TColor. If the Inversed property is set to true. the 2D symbol and the linear symbol are assembled to generate an EAN. If you want to encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties.UCC composite symbol (including both 2D and linear symbols). the leading quiet zone and the trailing quiet zone will be represented always. Otherwise. If the parameter value is set to true. In this case. Also. and BottomQuietZone properties to specify the size of these quiet zones in modules. If the Inversed property is set to true. In this case. the 2D symbol and the linear symbol are assembled to generate an EAN. In general. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components.UCC composite symbol (including both 2D and linear symbols). TBarcode2D_CCB. and bottom quiet zones are represented using the color. otherwise the check digit can be specified by you in the parameter. Also. the Inversed property is set to false. and TBarcode2D_CCC barcode components. TBarcode2D_CCB. if the property AutoCheckDigit is set to true. the parameter is in effect for entire EAN. TopQuietZone. please use the DrawTo (Syntax 2) overloading method. trailing. the Inversed property is set to false. TBarcode2D_CCB. top and bottom quiet zones. Or specifies the barcode text in AnsiString format. it specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. the ShowQuietZoneMark property is set to true too). regardless of whether the ShowQuietZone parameter is set to true or false. TBarcode2D_CCB. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 261 . the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. and its human readable text is represented and exceeds the beginning or end of entire EAN. and BottomQuietZone properties specify the size of quiet zones for entire EAN. o r TBarcode1D_EAN128. Similarly. regardless of whether the ShowQuietZone parameter is set to true or false.UCC composite symbol. TBarcode1D_UPCE1. if the linear component is the TBarcode1D_UPCE. TBarcode1D_UPCE0. TBarcode1D_UPCE0. and TBarcode2D_CCC barcode components. if the Linear property is set. the ShowQuietZoneMark property is set to true too).2D Barcode VCL Components User Manual For the TBarcode2D_CCA. In other words. and TBarcode2D_CCC barcode components.UCC composite barcode symbol. TBarcode1D_ENA8. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_UPCE1. TrailingQuietZone. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. And theLeadingQuietZone. the leading quiet zone will be represented even if the ShowQuietZone parameter is set to false. they are not only for the 2D symbol. TBarcode1D_UPCA. TBarcode1D_UPCA.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true). TBarcode1D_ENA8. TBarcode1D_EAN13. and for the TBarcode1D_ENA8 component. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. the trailing quiet zone will be represented even if the ShowQuietZone parameter is set to false. if the linear component is the TBarcode1D_UPCE. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. TBarcode2D_CCB. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. or TBarcode1D_EAN13. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA. TopQuietZone. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. TBarcode2D_CCB. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). and the parameter specifies the left margin for entire rotated EAN. the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. If the Inversed property is set to true.2D Barcode VCL Components User Manual In general. the Inversed property is set to false. In this case. the leading quiet zone and the trailing quiet zone are included always. The linear symbol is included in the composite barcode symbol. Specifies the margin between the rotated barcode symbol and the left side of the canvas in logical dots or pixels in the horizontal direction. these quiet zones are represented using the color specified by SpaceColor parameter. and TBarcode2D_CCC components. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 262 . See also the "ShowQuietZone" property.UCC composite barcode symbol not for the 2D symbol. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. if the Linear property is set. these quiet zones are represented using the color specified by BarColor parameter. even if t h e ShowQuietZone parameter is set to false. Left: Integer. they are included in the barcode symbol. this does not apply to TBarcode1D_EAN128). See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 263 . If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. they are included in the barcode symbol. the excess is included in the symbol. If the TextAlignment property isn't set to taCustom. or TBarcode2D_CCC component is TBarcode1D_UPCA.UCC composite symbol. See diagram (theSpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): See also the "LeftMargin" property.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. If the TextAlignment property is set to taCustom. The parameter always specifies the left margin for entire rotated EAN. Specifies the margin between the rotated barcode symbol and the top side of the canvas in logical dots or pixels in the vertical direction. TBarcode1D_EAN8. and its human readable text is represented. and the human readable text exceeds entire EAN. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode1D_UPCE0. Top: Integer. TBarcode1D_UPCE.UCC composite barcode symbol in horizontal direction. TBarcode1D_EAN13. TBarcode2D_CCB. TBarcode1D_UPCE1. or TBarcode1D_EAN128. 264 . TBarcode1D_UPCE. TBarcode1D_EAN8.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode component. the excess is included in the symbol. and TBarcode2D_CCC components. or TBarcode2D_CCC component is TBarcode1D_UPCA. If the TextAlignment property is set to taCustom. and the parameter specifies the top margin for entire rotated EAN. even if t h e ShowQuietZone parameter is set to false. this does not apply to TBarcode1D_EAN128). TBarcode1D_EAN13. See diagram (theSpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): See also the "TopMargin" property. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. and its human readable text is represented. The parameter always specifies the top margin for entire rotated EAN. TBarcode2D_CCB. The linear symbol is included in the composite barcode symbol. and the human readable text exceeds entire EAN. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. TBarcode2D_CCB.UCC composite symbol.UCC composite barcode symbol not for the 2D symbol. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode1D_UPCE0. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA.UCC composite barcode symbol.UCC composite barcode symbol in horizontal direction. if the Linear property is set. or TBarcode1D_EAN128. the leading quiet zone and the trailing quiet zone are included always. If the TextAlignment property isn't set to taCustom. TBarcode1D_UPCE1. the 2D symbol and the linear symbol are assembled to generate an EAN. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology. the module is single cell (a suqare shape) used to encode one bit data. Angle: Integer. See diagram: For the 2D component TBarcode2D_CCA. Also. See diagram: For the TBarcode2D_MaxiCode barcode symbology. and they will be rotated as an entirety. TBarcode2D_CCB. if its Linear property is set. it's the center to center horizontal distance between adjacent modules. please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise. It 265 . See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. if its Linear property is set. or TBarcode2D_CCC. Specifies the horizontal resolution of canvas in logical DPI. The parameter specifies the module width and height. HDPI: Integer. the module is single cell (a regular hexagonal shape) used to encode one bit data. Specifies the module size in logical dots or pixels in the horizontal direction.UCC composite barcode symbol. It's the number of logical dots or pixels per inch. TrailingQuietZone. the 2D symbol and the linear symbol are assembled to generate an EAN. and BottomQuietZone properties to specify the size of these quiet zones in modules. or TBarcode2D_CCC.UCC composite barcode symbol (including both 2D and linear symbols). For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). meaning left to right horizontal direction. TBarcode2D_CCB. You can use the LeadingQuietZone.UCC composite barcode symbol. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. the 2D symbol and the linear symbol are assembled to generate an EAN. TopQuietZone. The parameter specifies the module width. the module is the thinest bar (or space) in the barcode symbol. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): The parameter defaults to 0 if the Angle is not provided.2D Barcode VCL Components User Manual Module: Integer. The parameter specifies the horizonal width of a module. the parameter specifies the module width for entire EAN. And use the ShowQuietZone parameter to specify whether to represent these quiet zones. See diagram: See also the "Module" property. the index 1 denotes that the first character is invalid character). the return value is greater than zero. or use the DrawToSize (Syntax 3) overloading method and 266 . VDPI: Integer. Syntax 2. it is an ANSI encoding string. and the vertical units or scaling is changed. TBarcode2D_CCB. please convert it in theOnEncode event. please convert it in theOnEncode event. you can specify it to 0. and TBarcode2D_CCC barcode components. If the invalid character is in the linear symbol. For other barcode components. the return valus is 65537. The barcode text is specified in the Barcode parameter. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. For other barcode components.2D Barcode VCL Components User Manual defaults to 0 if the HDPI is not provided. For Delphi/C++ Builder 2009 or later. It's the number of logical dots or pixels per inch. It is of type string. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. UTF-16).UCC composite barcode symbol. Also you can use the method if you encode a block of binary (bytes) data. If you want to use other encoding scheme (for example the UTF-8. if the Linear property is set. and the physical horizontal resolution obtained from the Canvas parameter will be used. you can specify it to 0. If the invalid character is in the 2D symbol. For example. if the Linear property is set. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. TBarcode2D_CCB. then be encoded into the barcode symbol. the return valus is -1. So if you use the MM_TEXT map mode. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. it is in fact an UnicodeString instead of AnsiString. There are several different overloading methods. or specify the converted string in the Barcode parameter. For the TBarcode2D_CCA. the index 1 denotes that the first character is invalid character. For Delphi/C++ Builder 2007 or early. If the length of barcode text is invalid. the parameter is required in order to represent the correct barcode symbol when the symbol is rotated. UTF-16).8 DrawToSize Returns the horizontal width and vertical height of a rotated barcode symbol in pixels. By default. Syntax 2: Returns the horizontal width and vertical height of the rotated barcode symbol that is specified by the parameters of this method. it's the position index of first invalid character.1. So if you use the MM_TEXT map mode. and the physical vertical resolution obtained from the Canvas parameter will be used. If the length of barcode text of the linear symbol is invalid. the return value 65537 denotes that the first character is invalid character). the Barcode parameter is in fact an AnsiString. If there is any invalid character in the the barcode text. Syntax 1. If the length of barcode text of the 2D symbol is invalid. and the horizontal units or scaling is changed. the index 1 denotes that the first character is invalid character. the 2D symbol and the linear symbol are assembled to generate an EAN. the return value is the position index of first invalid character. the 2D symbol and the linear symbol are assembled to generate an EAN. if there is any invalid character in the the barcode text. if the length of barcode text is invalid. Note: The overloading method is available only for the Delphi/C++ Builder 2009 or later. the return valus is -1. if you want to use other encoding scheme (for example the UTF-8. Return: If the method succeeds. By default. the parameter is required in order to represent the correct barcode symbol when the symbol is rotated. the return valus is -1 or -65537. It defaults to 0 if the VDPI is not provided. and TBarcode2D_CCC barcode components. and Syntax 3 (only for Delphi/C++Builder 2009 or later): Syntax 1: Returns the horizontal width and vertical height of the rotated barcode symbol that is specified by the properties of this barcode component. the unicode string will be converted to an ANSI encoding string. For the TBarcode2D_CCA. the return value is zero. Specifies the vertical resolution of canvas in logical DPI. B. In general.UCC composite barcode symbol. If you encode a block of binary (bytes) data. Height. and TBarcode2D_CCC components. SymbolWidth. For the TBarcode2D_CCA. you can use the method if you encode a block of binary (bytes) data into a barcode symbol. if the Linear property is set. Or specifies the barcode text in AnsiString format. VDPI: Integer = 0): Integer. the linear symbol is included in the composite barcode symbol. Module: Integer = 0. virtual. please use the DrawToSize (Syntax 3) overloading method.Syntax 1 Returns the horizontal width and vertical height of a rotated barcode symbol in pixels. the leading quiet zone and the trailing quiet zone are included always.1. they are included in the barcode symbol. Angle: Integer = -1. please use the DrawToSize (Syntax 2) overloading method.8. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 267 .UCC composite barcode symbol. The method is available only for the Delphi/C++ Builder 2009 or later. Syntax 3: Returns the horizontal width and vertical height of the rotated barcode symbol that is specified by the parameters of this method. The barcode symbol is specified by the properties of this barcode component. Returns the horizontal width of the rotated barcode symbol in logical dots or pixels in the horizontal direction. even if the ShowQuietZone property is set to false. For the Delphi/C++ Builder 2009 or later. in pixels. B. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). SymbolHeight: Integer.2D Barcode VCL Components User Manual specify the converted string in its Data parameter. TBarcode2D_CCB. It is of type AnsiString. Description: The method returns the horizontal width and vertical height of a rotated barcode symbol that is specified by properties of this barcode component. Parameters: Width: Integer. Canvas: TCanvas = nil.1 DrawToSize . If you encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. HDPI: Integer = 0. The barcode text is specified in the Data parameter. the 2D symbol and the linear symbol are assembled to generate an EAN. overload. Syntax: function DrawToSize(var Width. this does not apply to TBarcode1D_EAN128). or TBarcode2D_CCC. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. the linear symbol is included in the composite barcode symbol. the 2D symbol and the linear symbol are assembled to generate an EAN. they are included in the barcode symbol. the excess is included in the symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Height: Integer.UCC composite barcode symbol. and the human readable text exceeds entire EAN. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). and its human readable text is represented. or TBarcode1D_EAN128. TBarcode1D_EAN13. not the width of the 2D symbol. if its Linear property is set. TBarcode1D_UPCE0. TBarcode2D_CCB.UCC composite barcode symbol in horizontal direction. If the human readable text exceeds the linear barcode symbol in vertical direction. Returns the vertical height of the rotated barcode symbol in logical dots or pixels in the vertical direction.UCC composite barcode symbol. the excess is included too. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 268 . If the TextAlignment property is set to taCustom. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. and the parameter returns the width of entire EAN. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode1D_EAN8. If the TextAlignment property isn't set to taCustom. TBarcode1D_UPCE. TBarcode1D_UPCE1. TBarcode2D_CCB. TBarcode1D_EAN8. If the human readable text exceeds the linear barcode symbol in vertical direction.UCC composite barcode symbol. and its human readable text is represented. the leading quiet zone and the trailing quiet zone are included always. TBarcode1D_UPCE1. or TBarcode2D_CCC. TBarcode2D_CCB. if its Linear property is set. TBarcode1D_EAN13. or TBarcode1D_EAN128. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode2D_CCB. TBarcode1D_UPCE. even if the ShowQuietZone property is set to false.UCC composite barcode symbol in horizontal direction. the linear symbol is included in the composite barcode symbol. the 2D symbol and the linear symbol are assembled to generate an EAN. this does not apply to TBarcode1D_EAN128). If the TextAlignment property isn't set to taCustom. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 269 . not the height of the 2D symbol. TBarcode1D_UPCE0.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode components. the excess is included in the symbol.UCC composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. and the parameter returns the height of entire EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. the excess is included too. and the human readable text exceeds entire EAN. If the TextAlignment property is set to taCustom. 2D Barcode VCL Components User Manual SymbolWidth: Integer. TBarcode2D_CCB. this does not apply to TBarcode1D_EAN128). and its human readable text is represented.UCC composite barcode symbol. TBarcode2D_CCB. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). or TBarcode2D_CCC. and the parameter returns the width of entire rotated EAN. TBarcode1D_UPCE1. they are included in the barcode symbol. TBarcode1D_UPCE. TBarcode1D_EAN8. the 2D symbol and the linear symbol are assembled to generate an EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. or TBarcode2D_CCC component is TBarcode1D_UPCA. Returns the distance between the leading and trailing of the rotated barcode symbol in logical dots or pixels in the horizontal direction. even if the ShowQuietZone property is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA.UCC composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 270 . See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. If the TextAlignment property is set to taCustom. If the TextAlignment property isn't set to taCustom. if its Linear property is set.UCC composite barcode symbol in horizontal direction. and the human readable text exceeds entire EAN. the linear symbol is included in the composite barcode symbol. or TBarcode1D_EAN128. TBarcode1D_EAN13. TBarcode1D_UPCE0. not the width of the 2D symbol. the leading quiet zone and the trailing quiet zone are included always. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. the excess is included in the symbol. and the parameter returns the height of entire rotated EAN.UCC composite barcode symbol. or TBarcode2D_CCC. TBarcode2D_CCB.UCC composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. if its Linear property is set. SymbolHeight: Integer.2D Barcode VCL Components User Manual See also the "BarcodeWidth" property. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 271 . not the height of the 2D symbol. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). Returns the distance between the top and bottom of the rotated barcode symbol in logical dots or pixels in the vertical direction. the 2D symbol and the linear symbol are assembled to generate an EAN. the linear symbol is included in the composite barcode symbol. they are included in the barcode symbol. and its human readable text is represented. TBarcode1D_UPCE. Module: Integer. it's the center to center horizontal distance between adjacent modules.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. TBarcode2D_CCB. See diagram: For the TBarcode2D_MaxiCode barcode symbology. TBarcode1D_EAN8. the excess is included too. and the value of Module property will be used. Specifies the module size in logical dots or pixels in the horizontal direction. See diagram: 272 . TBarcode1D_EAN13. or TBarcode1D_EAN128. TBarcode1D_UPCE1. It defaults to 0 if the Module parameter is not provided. the module is single cell (a regular hexagonal shape) used to encode one bit data. Also. the module is single cell (a suqare shape) used to encode one bit data. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "BarcodeHeight" property. If the human readable text exceeds the linear barcode symbol in vertical direction. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). The parameter specifies the horizonal width of a module. The parameter specifies the module width and height. or TBarcode2D_CCC component is TBarcode1D_UPCA. the human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode1D_UPCE0. If its Linear property is set to the TBarcode1D_UPCE. The parameter specifies the module width. or TBarcode2D_CCC. and BottomQuietZone properties to specify the size of these quiet zones in modules. TopQuietZone. Canvas: TCanvas. You can use the LeadingQuietZone. please read the ShowQuietZone property about whether or not the quiet zones will be represented) anticlockwise. if its Linear property is set. the 2D symbol and the linear symbol are assembled to generate an EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. Otherwise. TBarcode2D_CCB. Specifies target canvas to represent the barcode symbol on it. See diagram: For the 2D component TBarcode2D_CCA. so you can set it to nil. the 359 degrees can be used instead. the parameter specifies the module width for entire EAN. it will be ignored. TBarcode1D_UPCE0. if its Linear property is set. TBarcode1D_UPCA. The parameter is useful only for the 2D component TBarcode2D_CCA.UCC composite barcode symbol. And use the ShowQuietZone property to specify whether to represent these quiet zones. or TBarcode1D_EAN128. and they will be rotated as an entirety. TBarcode2D_CCB. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): The parameter defaults to -1 if the Angle is not provided.2D Barcode VCL Components User Manual For the Stacked 2D barcode symbology and Linear 1D barcode symbology. See diagram: See also the "Module" property. and the linear component's DisplayText property isn't set to dtNone. the module is the thinest bar (or space) in the barcode symbol. 273 . Angle: Integer. TBarcode2D_CCB. or TBarcode2D_CCC. TBarcode1D_UPCE1. the parameter is required in order to calculate the width of human readable text.UCC composite barcode symbol.UCC composite barcode symbol (including both 2D and linear symbols). Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. TrailingQuietZone. TBarcode1D_ENA8. and the barcode symbol will be rotated based on the value of the Orientation property: boLeftRight: 0 degrees boRightLeft: 180 degrees boTopBottom: 270 degrees boBottomTop: 90 degrees If you want to use the -1 degrees. or TBarcode2D_CCC. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_EAN13. you can specify it to 0. It defaults to 0 if the HDPI is not provided. SymbolWidth. the parameter is required in order to obtain the correct sizes when the symbol is rotated. TBarcode2D_CCB. if both HDPI and VDPI are set to 0. Module: Integer. If the length of barcode text of the linear symbol is invalid. and TBarcode2D_CCC barcode components. HDPI: Integer = 0. the return value is zero. For example. the index 1 denotes that the first character is invalid character). the 2D symbol and the linear symbol are assembled to generate an EAN. For other barcode components. In general. SymbolHeight: Integer.2 DrawToSize . if the Linear property is set. the return value is the position index of first invalid character. If the invalid character is in the linear symbol. It defaults to 0 if the VDPI is not provided. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. and TBarcode2D_CCC barcode components. and the vertical units or scaling is changed. the return value 65537 denotes that the first character is invalid character).1. It's the number of logical dots or pixels per inch. For other barcode components. Return: If the method succeeds. Height. So if you use the MM_TEXT map mode. ShowQuietZone: Boolean. the index 1 denotes that the first character is invalid character. the index 1 denotes that the first character is invalid character. overload. If the invalid character is in the 2D symbol. it's the position index of first invalid character. virtual. Corresponding to the OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. it indicates the horizontal resolution is equal to the vertical resolution.UCC composite barcode symbol. If the length of barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property is invalid. VDPI: Integer = 0): Integer. the return valus is -1. If there is any invalid character in the the barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property. VDPI: Integer.Syntax 2 Returns the horizontal width and vertical height of a rotated barcode symbol in pixels. if both HDPI and VDPI are set to 0. the parameter is required in order to obtain the correct sizes when the symbol is rotated. TBarcode2D_CCB. So if you use the MM_TEXT map mode. and the physical horizontal resolution obtained from the Canvas parameter will be used. The barcode symbol is specified by the parameters of this method. if there is any invalid character in the the barcode text. the return valus is -1. For the TBarcode2D_CCA. it indicates the horizontal resolution is equal to the vertical resolution. Barcode: string. Specifies the vertical resolution of canvas in logical DPI.UCC composite barcode symbol. if the Linear property is set. Corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. you can specify it to 0. For the TBarcode2D_CCA. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. and the physical vertical resolution obtained from the Canvas parameter will be used. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. Angle: Integer = 0. It's the number of logical dots or pixels per inch. the 2D symbol and the linear symbol are assembled to generate an EAN. B. the return value is greater than zero.2D Barcode VCL Components User Manual HDPI: Integer. the return valus is -1 or -65537. Specifies the horizontal resolution of canvas in logical DPI. Syntax: function DrawToSize(var Width. the return valus is 65537.8. 274 . If the length of barcode text of the 2D symbol is invalid. if the length of barcode text is invalid. Canvas: TCanvas = nil. When the Canvas parameter is set to nil. When the Canvas parameter is set to nil. and the horizontal units or scaling is changed. not the width of the 2D symbol. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). TBarcode2D_CCB. the excess is included in the symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. the leading quiet zone and the trailing quiet zone are included always. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. or TBarcode2D_CCC component is TBarcode1D_UPCA. Parameters: Width: Integer. and the human readable text exceeds entire EAN. if its Linear property is set. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 275 . See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA.UCC composite barcode symbol. TBarcode1D_EAN8. TBarcode1D_UPCE. the linear symbol is included in the composite barcode symbol. TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN.2D Barcode VCL Components User Manual Description: The method returns the horizontal width and vertical height of a rotated barcode symbol that is specified by parameters of this method. or TBarcode1D_EAN128. this does not apply to TBarcode1D_EAN128).UCC composite barcode symbol in horizontal direction. TBarcode1D_EAN13.UCC composite barcode symbol. TBarcode1D_UPCE1. and the parameter returns the width of entire EAN. or TBarcode2D_CCC. the excess is included too. TBarcode1D_UPCE0. Returns the horizontal width of the rotated barcode symbol in logical dots or pixels in the horizontal direction. and its human readable text is represented. even if the ShowQuietZone parameter is set to false. If the TextAlignment property isn't set to taCustom. they are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. If the TextAlignment property is set to taCustom. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. in pixels. If the human readable text exceeds the linear barcode symbol in vertical direction. if its Linear property is set.UCC composite barcode symbol.UCC composite barcode symbol. the linear symbol is included in the composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. the 2D symbol and the linear symbol are assembled to generate an EAN. even if the ShowQuietZone parameter is set to false. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). they are included in the barcode symbol. Returns the vertical height of the rotated barcode symbol in logical dots or pixels in the vertical direction. TBarcode2D_CCB. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 276 . See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. the leading quiet zone and the trailing quiet zone are included always. and the parameter returns the height of entire EAN. not the height of the 2D symbol. or TBarcode2D_CCC.2D Barcode VCL Components User Manual Height: Integer. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): SymbolWidth: Integer. the excess is included too. If the TextAlignment property isn't set to taCustom.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. TBarcode1D_EAN8. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 277 . Returns the distance between the leading and trailing of the rotated barcode symbol in logical dots or pixels in the horizontal direction. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. TBarcode2D_CCB. the leading quiet zone and the trailing quiet zone are included always. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). TBarcode1D_UPCE0.UCC composite barcode symbol in horizontal direction. and the human readable text exceeds entire EAN. even if the ShowQuietZone parameter is set to false. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode1D_EAN13. and its human readable text is represented. the excess is included in the symbol. If the human readable text exceeds the linear barcode symbol in vertical direction. If the TextAlignment property is set to taCustom. TBarcode1D_UPCE1. this does not apply to TBarcode1D_EAN128). The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. or TBarcode1D_EAN128. they are included in the barcode symbol. TBarcode1D_UPCE. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode2D_CCB. TBarcode1D_UPCE. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. the linear symbol is included in the composite barcode symbol. and its human readable text is represented. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 278 . and the parameter returns the width of entire rotated EAN.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. If the TextAlignment property isn't set to taCustom.UCC composite barcode symbol. the excess is included in the symbol. if its Linear property is set. TBarcode1D_UPCE1. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "BarcodeWidth" property. TBarcode1D_EAN13. and the human readable text exceeds entire EAN. not the width of the 2D symbol.UCC composite barcode symbol. this does not apply to TBarcode1D_EAN128). they are included in the barcode symbol. TBarcode2D_CCB.UCC composite barcode symbol in horizontal direction. If the TextAlignment property is set to taCustom. Returns the distance between the top and bottom of the rotated barcode symbol in logical dots or pixels in the vertical direction. SymbolHeight: Integer. TBarcode1D_EAN8. TBarcode1D_UPCE0. or TBarcode2D_CCC component is TBarcode1D_UPCA. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). or TBarcode2D_CCC. or TBarcode1D_EAN128. TBarcode1D_UPCE1. TBarcode1D_UPCE0. 279 .UCC composite barcode symbol. or TBarcode2D_CCC. not the height of the 2D symbol. If the human readable text exceeds the linear barcode symbol in vertical direction. TBarcode2D_CCB. or TBarcode2D_CCC component is TBarcode1D_UPCA.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_UPCE. TBarcode1D_EAN8. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "BarcodeHeight" property. TBarcode1D_EAN13. if its Linear property is set. or TBarcode1D_EAN128. and the parameter returns the height of entire rotated EAN. the excess is included too. the linear symbol is included in the composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. and its human readable text is represented.UCC composite barcode symbol. the human readable text and the vertical spacing between the text and linear symbol are included in the symbol. 2D Barcode VCL Components User Manual Barcode: String; Specifies the barcode text. It is of type string. For Delphi/C++ Builder 2007 or early, the Barcode parameter is in fact an AnsiString. By default, it is an ANSI encoding string, if you want to use other encoding scheme (for example the UTF-8, UTF-16), please convert it in theOnEncode event, or specify the converted string in the Barcode parameter. Also you can use the method if you encode a block of binary (bytes) data. For Delphi/C++ Builder 2009 or later, it is in fact an UnicodeString instead of AnsiString. By default, the unicode string will be converted to an ANSI encoding string, then be encoded into the barcode symbol. If you want to use other encoding scheme (for example the UTF-8, UTF-16), please convert it in theOnEncode event, or use the DrawToSize (Syntax 3) overloading method and specify the converted string in its Data parameter. If you encode a block of binary (bytes) data, please use the DrawToSize (Syntax 3) overloading method. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components, if the property AutoCheckDigit is set to true, the check digit doesn't need to be included in the parameter, otherwise the check digit can be specified by you in the parameter. For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. The parameter only specifies the barcode text for the 2D symbol, the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties. ShowQuietZone: Boolean; Specifies whether to include the leading, trailing, top and bottom quiet zones in barcode symbol. If the parameter value is set to true, these quiet zones are included in the barcode symbol. Otherwise, they don't be included. You can use the LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties to specify the size of these quiet zones in modules. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode component, the leading quiet zone and the trailing quiet zone will be included always, even if the ShowQuietZone parameter value is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. And theLeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties specify the size of quiet zones for entire EAN.UCC composite symbol, they are not only for the 2D symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components, if the linear component is the TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_UPCA, TBarcode1D_ENA8, or TBarcode1D_EAN13, and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom, and for the TBarcode1D_ENA8 component, the 280 2D Barcode VCL Components User Manual ShowQuietZoneMark property is set to true too), the leading quiet zone will be included even if the ShowQuietZone parameter is set to false, the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol, and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. Similarly, if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom, and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components, the ShowQuietZoneMark property is set to true too), the trailing quiet zone will be included even if the ShowQuietZone parameter is set to false, the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol, and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. In other words, the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks, regardless of whether the ShowQuietZone parameter is set to true or false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For all of the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the linear component is the TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_UPCA, TBarcode1D_ENA8, TBarcode1D_EAN13, o r TBarcode1D_EAN128, and its human readable text is represented and exceeds the beginning or end of entire EAN.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true), the leading and trailing quiet zoens will be automatically extanded to cover the human readable text, regardless of whether the ShowQuietZone parameter is set to true or false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "ShowQuietZone" property. Module: Integer; Specifies the module size in logical dots or pixels in the horizontal direction. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology), the module is single cell (a suqare shape) used to encode one bit data. The parameter specifies the module width and height. See diagram: For the TBarcode2D_MaxiCode barcode symbology, the module is single cell (a regular hexagonal shape) used to encode one bit data. The parameter specifies the horizonal width of a module. Also, it's the center to center horizontal distance between adjacent modules. See diagram: 281 2D Barcode VCL Components User Manual For the Stacked 2D barcode symbology and Linear 1D barcode symbology, the module is the thinest bar (or space) in the barcode symbol. The parameter specifies the module width. See diagram: For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the parameter specifies the module width for entire EAN.UCC composite barcode symbol (including both 2D and linear symbols). See diagram: See also the "Module" property. Angle: Integer; Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented, please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise. You can use the LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties to specify the size of these quiet zones in modules. And use the ShowQuietZone parameter to specify whether to represent these quiet zones. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, and they will be rotated as an entirety. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): The parameter defaults to 0 if the Angle is not provided, meaning left to right horizontal direction. Canvas: TCanvas; Specifies target canvas to represent the barcode symbol on it. The parameter is useful only for the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC. If its Linear property is set to the TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_UPCA, TBarcode1D_ENA8, TBarcode1D_EAN13, or TBarcode1D_EAN128, and the linear component's DisplayText property isn't set to dtNone, the parameter is required in order to calculate the width of human readable text. Otherwise, it will be ignored, so you can set it to nil. HDPI: Integer, Specifies the horizontal resolution of canvas in logical DPI. It's the number of logical dots or pixels per inch. It defaults to 0 if the HDPI is not provided, and the physical horizontal resolution obtained from the Canvas parameter will be used. So if you use the MM_TEXT map mode, you can specify it to 0. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode, and the horizontal units or scaling is changed, the parameter is required in order to obtain the correct sizes when the symbol is rotated. When the Canvas parameter is set to nil, if both HDPI and VDPI are set to 0, it indicates the horizontal resolution is equal to the vertical resolution. 282 2D Barcode VCL Components User Manual VDPI: Integer, Specifies the vertical resolution of canvas in logical DPI. It's the number of logical dots or pixels per inch. It defaults to 0 if the VDPI is not provided, and the physical vertical resolution obtained from the Canvas parameter will be used. So if you use the MM_TEXT map mode, you can specify it to 0. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode, and the vertical units or scaling is changed, the parameter is required in order to obtain the correct sizes when the symbol is rotated. When the Canvas parameter is set to nil, if both HDPI and VDPI are set to 0, it indicates the horizontal resolution is equal to the vertical resolution. Return: If the method succeeds, the return value is zero. If the length of barcode text is invalid, the return valus is -1 or -65537. For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. If the length of barcode text of the 2D symbol is invalid, the return valus is -1. If the length of barcode text of the linear symbol is invalid, the return valus is 65537. For other barcode components, if the length of barcode text is invalid, the return valus is -1. If there is any invalid character in the the barcode text, the return value is greater than zero. In general, it's the position index of first invalid character, the index 1 denotes that the first character is invalid character. For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. If the invalid character is in the 2D symbol, the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character, the index 1 denotes that the first character is invalid character). If the invalid character is in the linear symbol, the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. For example, the return value 65537 denotes that the first character is invalid character). For other barcode components, if there is any invalid character in the the barcode text, the return value is the position index of first invalid character, the index 1 denotes that the first character is invalid character. B.1.8.3 DrawToSize - Syntax 3 Returns the horizontal width and vertical height of a rotated barcode symbol in pixels. The barcode symbol is specified by the parameters of this method. Syntax: function DrawToSize(var Width, Height, SymbolWidth, SymbolHeight: Integer; Data: AnsiString; ShowQuietZone: Boolean; Module: Integer; Angle: Integer = 0; Canvas: TCanvas = nil; HDPI: Integer = 0; VDPI: Integer = 0): Integer; overload; virtual; Description: The method returns the horizontal width and vertical height of a rotated barcode symbol that is specified by parameters of this method, in pixels. Parameters: Width: Integer; Returns the horizontal width of the rotated barcode symbol in logical dots or pixels in the horizontal direction. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented), they are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 283 2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode components, the leading quiet zone and the trailing quiet zone are included always, even if the ShowQuietZone parameter is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the linear symbol is included in the composite barcode symbol, and the parameter returns the width of entire EAN.UCC composite barcode symbol, not the width of the 2D symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC component is TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN8, TBarcode1D_EAN13, or TBarcode1D_EAN128, and its human readable text is represented. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. If the TextAlignment property isn't set to taCustom, and the human readable text exceeds entire EAN.UCC composite barcode symbol in horizontal direction, the excess is included in the symbol. If the TextAlignment property is set to taCustom, the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented, this does not apply to TBarcode1D_EAN128). If the human readable text exceeds the linear barcode symbol in vertical direction, the excess is included too. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 284 2D Barcode VCL Components User Manual Height: Integer; Returns the vertical height of the rotated barcode symbol in logical dots or pixels in the vertical direction. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented), they are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components, the leading quiet zone and the trailing quiet zone are included always, even if the ShowQuietZone parameter is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the linear symbol is included in the composite barcode symbol, and the parameter returns the height of entire EAN.UCC composite barcode symbol, not the height of the 2D symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC component is TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN8, TBarcode1D_EAN13, or TBarcode1D_EAN128, and its human readable text is represented. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. If the TextAlignment property isn't set to taCustom, and the human readable text exceeds entire EAN.UCC composite barcode symbol in horizontal direction, the excess is included in the symbol. If the 285 2D Barcode VCL Components User Manual TextAlignment property is set to taCustom, the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented, this does not apply to TBarcode1D_EAN128). If the human readable text exceeds the linear barcode symbol in vertical direction, the excess is included too. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): SymbolWidth: Integer; Returns the distance between the leading and trailing of the rotated barcode symbol in logical dots or pixels in the horizontal direction. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented), they are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components, the leading quiet zone and the trailing quiet zone are included always, even if the ShowQuietZone parameter is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the linear symbol is included in the composite barcode symbol, and the parameter returns the width of entire rotated EAN.UCC composite barcode symbol, not the width of the 2D symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 286 the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. If the TextAlignment property is set to taCustom. or TBarcode1D_EAN128. TBarcode1D_EAN8. this does not apply to TBarcode1D_EAN128). or TBarcode2D_CCC. the 2D symbol and the linear symbol are assembled to generate an EAN. SymbolHeight: Integer. the linear symbol is included in the composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "BarcodeWidth" property. TBarcode1D_UPCE. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 287 .UCC composite barcode symbol. Returns the distance between the top and bottom of the rotated barcode symbol in logical dots or pixels in the vertical direction. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. If the TextAlignment property isn't set to taCustom.UCC composite barcode symbol in horizontal direction. and the human readable text exceeds entire EAN.UCC composite barcode symbol. TBarcode1D_EAN13.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. if its Linear property is set. TBarcode1D_UPCE1. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode2D_CCB. and the parameter returns the height of entire rotated EAN. TBarcode1D_UPCE0. and its human readable text is represented. not the height of the 2D symbol. TBarcode2D_CCB. they are included in the barcode symbol. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). the excess is included in the symbol. 2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. or TBarcode1D_EAN128. TBarcode2D_CCB. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. Specifies the barcode text. the excess is included too. the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. It is of type AnsiString. you can use the method if you encode a block of binary (bytes) data into a barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "BarcodeHeight" property. if the property AutoCheckDigit is set to true. 288 . TBarcode1D_UPCE0. the 2D symbol and the linear symbol are assembled to generate an EAN. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties. the human readable text and the vertical spacing between the text and linear symbol are included in the symbol. if the Linear property is set. For the TBarcode2D_CCA. If you encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early. TBarcode1D_EAN8. please use the DrawToSize (Syntax 2) overloading method. Or specifies the barcode text in AnsiString format. TBarcode1D_UPCE. otherwise the check digit can be specified by you in the parameter. For the Delphi/C++ Builder 2009 or later. If the human readable text exceeds the linear barcode symbol in vertical direction. The parameter only specifies the barcode text for the 2D symbol. TBarcode2D_CCB. TBarcode1D_UPCE1.UCC composite barcode symbol. or TBarcode2D_CCC component is TBarcode1D_UPCA. Data: AnsiString. and TBarcode2D_CCC barcode components. TBarcode1D_EAN13. and its human readable text is represented. the check digit doesn't need to be included in the parameter. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. they are not only for the 2D symbol.UCC composite barcode symbol. TBarcode2D_CCB. if the linear component is the TBarcode1D_UPCE. these quiet zones are included in the barcode symbol. if the Linear property is set. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. TrailingQuietZone.2D Barcode VCL Components User Manual ShowQuietZone: Boolean. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. Otherwise. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. Similarly. If the parameter value is set to true. the ShowQuietZoneMark property is set to true too). even if the ShowQuietZone parameter value is set to false. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. the leading quiet zone and the trailing quiet zone will be included always. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 289 . TopQuietZone. and BottomQuietZone properties specify the size of quiet zones for entire EAN. and for the TBarcode1D_ENA8 component. Specifies whether to include the leading. TopQuietZone. top and bottom quiet zones in barcode symbol. TBarcode1D_UPCA. TBarcode1D_UPCE0. TBarcode1D_UPCE1. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_CCA. trailing. the ShowQuietZoneMark property is set to true too). regardless of whether the ShowQuietZone parameter is set to true or false. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. the leading quiet zone will be included even if the ShowQuietZone parameter is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode component. and BottomQuietZone properties to specify the size of these quiet zones in modules. the 2D symbol and the linear symbol are assembled to generate an EAN. they don't be included. the trailing quiet zone will be included even if the ShowQuietZone parameter is set to false. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. and TBarcode2D_CCC barcode components. TrailingQuietZone. You can use the LeadingQuietZone. or TBarcode1D_EAN13. And theLeadingQuietZone.UCC composite symbol. TBarcode1D_ENA8. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. In other words. if the linear component is the TBarcode1D_UPCE. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology).2D Barcode VCL Components User Manual For all of the TBarcode2D_CCA. Specifies the module size in logical dots or pixels in the horizontal direction. TBarcode1D_UPCE1. TBarcode1D_EAN13.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true).UCC composite barcode symbol (including both 2D and linear symbols). TBarcode1D_UPCA. See diagram: For the TBarcode2D_MaxiCode barcode symbology. or TBarcode2D_CCC. TBarcode1D_UPCE0. Module: Integer. o r TBarcode1D_EAN128. regardless of whether the ShowQuietZone parameter is set to true or false. TBarcode1D_ENA8. the 2D symbol and the linear symbol are assembled to generate an EAN. See diagram: For the 2D component TBarcode2D_CCA. it's the center to center horizontal distance between adjacent modules. and TBarcode2D_CCC barcode components. Also. the module is the thinest bar (or space) in the barcode symbol. See diagram: 290 . the module is single cell (a suqare shape) used to encode one bit data. the module is single cell (a regular hexagonal shape) used to encode one bit data. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. the parameter specifies the module width for entire EAN. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology. The parameter specifies the module width. TBarcode2D_CCB. The parameter specifies the horizonal width of a module. and its human readable text is represented and exceeds the beginning or end of entire EAN. The parameter specifies the module width and height. if its Linear property is set.UCC composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "ShowQuietZone" property. TBarcode2D_CCB. so you can set it to nil. HDPI: Integer. the parameter is required in order to obtain the correct sizes when the symbol is rotated. it indicates the horizontal resolution is equal to the vertical resolution. and the horizontal units or scaling is changed. When the Canvas parameter is set to nil. or TBarcode2D_CCC. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. Specifies target canvas to represent the barcode symbol on it. the parameter is required in order to obtain the correct sizes when the symbol is rotated. Otherwise. if both HDPI and VDPI are set to 0. TBarcode2D_CCB. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. TopQuietZone. If you use the MM_ISOTROPIC or MM_ANISOTROPIC map mode. It defaults to 0 if the VDPI is not provided. or TBarcode2D_CCC. or TBarcode1D_EAN128. it will be ignored. TBarcode2D_CCB. TrailingQuietZone. When the Canvas parameter is set to nil. TBarcode1D_EAN13. Canvas: TCanvas. If its Linear property is set to the TBarcode1D_UPCE. if its Linear property is set. So if you use the MM_TEXT map mode. and BottomQuietZone properties to specify the size of these quiet zones in modules. It's the number of logical dots or pixels per inch. the return valus is -1 or -65537. it indicates the horizontal resolution is equal to the vertical resolution. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): The parameter defaults to 0 if the Angle is not provided. the 2D symbol and the linear symbol are assembled to generate an EAN. please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. Specifies the horizontal resolution of canvas in logical DPI. and the physical horizontal resolution obtained from the Canvas parameter will be used. If the length of barcode text is invalid. and the physical vertical resolution obtained from the Canvas parameter will be used. And use the ShowQuietZone parameter to specify whether to represent these quiet zones.UCC composite barcode symbol. You can use the LeadingQuietZone. and the vertical units or scaling is changed. you can specify it to 0. the return value is zero. TBarcode1D_UPCE1. Return: If the method succeeds. TBarcode1D_UPCA. So if you use the MM_TEXT map mode. you can specify it to 0. the parameter is required in order to calculate the width of human readable text. Angle: Integer. Specifies the vertical resolution of canvas in logical DPI. The parameter is useful only for the 2D component TBarcode2D_CCA. TBarcode1D_UPCE0.2D Barcode VCL Components User Manual See also the "Module" property. VDPI: Integer. It defaults to 0 if the HDPI is not provided. and the linear component's DisplayText property isn't set to dtNone. It's the number of logical dots or pixels per inch. TBarcode1D_ENA8. meaning left to right horizontal direction. and they will be rotated as an entirety. 291 . if both HDPI and VDPI are set to 0. UCC composite barcode symbol. the Barcode parameter is in fact an AnsiString. it is in fact an UnicodeString instead of AnsiString. Note: The overloading method is available only for the Delphi/C++ Builder 2009 or later. For the TBarcode2D_CCA. TBarcode2D_CCB. It is of type string. If there is any invalid character in the the barcode text. or use the GetCheckSum (Syntax 2) overloading method and specify the converted string in its Data parameter. For Delphi/C++ Builder 2009 or later. For other barcode components. the index 1 denotes that the first character is invalid character. TBarcode2D_CCB. please use the GetCheckSum (Syntax 2) overloading method. If you want to use other encoding scheme (for example the UTF-8. UTF-16). If the length of barcode text of the linear symbol is invalid. If the length of barcode text of the 2D symbol is invalid. For other barcode components.UCC composite barcode symbol.9 GetCheckSum (TBarcode2D_MicroPDF417) Returns the check sum of a barcode text that will be encoded into a series of structured append symbols. if you want to use other encoding scheme (for example the UTF-8. UTF-16). If the invalid character is in the 2D symbol. By default. There are two different overloading methods. the index 1 denotes that the first character is invalid character. the return value is greater than zero. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. Syntax 2: Returns the check sum value of a barcode text. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. you can use the method to caculate the check sum of a block of binary (bytes) data.1. By default. the return value is the position index of first invalid character. In general. See also the "Sturctured append" section in the "TBarcode2D_MicroPDF417" article.2D Barcode VCL Components User Manual For the TBarcode2D_CCA. and TBarcode2D_CCC barcode components. Or specifies the barcode text in AnsiString format. For the Delphi/C++ Builder 2009 or later. The value will be used in the structured append block. If the invalid character is in the linear symbol. if there is any invalid character in the the barcode text. It is of type AnsiString. if the Linear property is set. If you want to caculate the check sum of a block of binary (bytes) data. the 2D symbol and the linear symbol are assembled to generate an EAN. please convert it in theOnEncode event. Also you can use the method to caculate the check sum of a block of binary (bytes) data. the 2D symbol and the linear symbol are assembled to generate an EAN. it's the position index of first invalid character. and Syntax 2 (only for Delphi/C++Builder 2009 or later): Syntax 1: Returns the check sum value of a barcode text. the unicode string will be converted to an ANSI encoding string. The method is available only for the Delphi/C++ Builder 2009 or later. the return valus is -1. For example. then caculate its check sum. If you want to caculate the check sum of a block of binary (bytes) data under Delphi/C++ Builder 2007 or early. The barcode text is specified in the Barcode parameter. B. For Delphi/C++ Builder 2007 or early. it is an ANSI encoding string. The barcode text is specified in the Data parameter. the return valus is 65537. if the length of barcode text is invalid. 292 . please convert it in theOnEncode event. or specify the converted string in the Barcode parameter. and TBarcode2D_CCC barcode components. please use the GetCheckSum (Syntax 1) overloading method. Syntax 1. the index 1 denotes that the first character is invalid character). the return valus is -1. if the Linear property is set. and the structured append block will be used by each symbol in the series of MicroPDF417 structured append symbols. the return value 65537 denotes that the first character is invalid character). Specifies whether to allow users to insert the escape sequences to the Barcode parameter value.Syntax 1 (TBarcode2D_MicroPDF417) Returns the check sum of a barcode text that will be encoded into a series of structured append symbols. InvalidIndex: Integer. po915TextAlphaLatch. then caculate its check sum. { Defined in the pMicroPDF417 unit } TMicroPDF417_Options = TPDF417_Options.2D Barcode VCL Components User Manual B.1.9. the Barcode parameter is in fact an AnsiString. By default. please convert it in theOnEncode event. virtual. po908TextAlphaLatch. UTF-16). UTF-16). See also the "Options" property article. See also the "Escape sequences" section in the "TBarcode2D_MicroPDF417" article. po912TextAlphaLatch. the parameter returns the position index of first invalid character. and the structured append block will be used by each symbol in the series of MicroPDF417 structured append symbols. po914TextAlphaLatch. in order to match the reader. If you want to use other encoding scheme (for example the UTF-8. or use the GetCheckSum (Syntax 2) overloading method and specify the converted string in its Data parameter. Options: TMicroPDF417_Options. Otherwise. po910TextAlphaLatch. Return: If the method succeeds. poFirstFNC1MatchAI01. AllowEscape: Boolean. See also the "Structured append" section in the "TBarcode2D_MicroPDF417" article. And the InvalidIndex parameter returns zero. Parameters: Barcode: string. it returns the check sum value. For Delphi/C++ Builder 2009 or later. The values that can be included in the Options parameter are defined in the pPDF417Com unit. please convert it in theOnEncode event. it is an ANSI encoding string. it's an integer 293 . the unicode string will be converted to an ANSI encoding string. The Options parameter is an advanced feature which allows low level control over data encoding. it's a 16-bit word value. If there is any invalid character in the barcode text that is specified by the Barcode parameter. Options: TMicroPDF417_Options = []): string. please use the GetCheckSum (Syntax 2) overloading method. po906TextAlphaLatch. it is in fact an UnicodeString instead of AnsiString. the index 1 denotes that the first character is invalid character. in order to place the function characters and additional control information. If you want to caculate the check sum of a block of binary (bytes) data. poFirst903TextAlphaLatch. poFirst904TextMixedLatch. var InvalidIndex: Integer. AllowEscape: Boolean. If the method fails. Description: The method returns the check sum of a barcode text that will be encoded into a series of structured append symbols. Syntax: type { Defined in the pPDF417Com unit } TPDF417_Option = (poIgnoreShiftBeforeECI.1 GetCheckSum . it returns the zero. the InvalidIndex parameter returns a position index of first invalid character. By default. po907TextAlphaLatch. For Delphi/C++ Builder 2007 or early. poMicroPDF417Explicit901). The parameter can be used to change the encoding algorithm and meanings of some fucntion codewords. function GetCheckSum(Barcode: string. { Defined in the pPDF417Com unit } TPDF417_Options = set of TPDF417_Option. The value will be used in the structured append block. in decimal string format. if you want to use other encoding scheme (for example the UTF-8. Also you can use the method to caculate the check sum of a block of binary (bytes) data. It's the original input text before division into the each symbol in the series of structured append symbols.It is of type string. or specify the converted string in the Barcode parameter. poFirstFNC1MatchAI01. po906TextAlphaLatch.. check_sum. If you want to caculate the check sum of a block of binary (bytes) data under Delphi/C++ Builder 2007 or early. invalid_index: integer. Options: TMicroPDF417_Options = []): AnsiString. The method is available only for the Delphi/C++ Builder 2009 or later. var InvalidIndex: Integer. poFirst904TextMixedLatch. For the Delphi/C++ Builder 2009 or later.001287023..Syntax 2 (TBarcode2D_MicroPDF417) Returns the check sum of a barcode text that will be encoded into a series of structured append symbols.. See also the "Structured append" section in the "TBarcode2D_MicroPDF417" article. Syntax: type { Defined in the pPDF417Com unit } TPDF417_Option = (poIgnoreShiftBeforeECI. B. The value will be used in the structured append block.5. //.. Specifies whether to allow users to insert the escape sequences to the Data parameter value. poFirst903TextAlphaLatch.2 GetCheckSum . It is of type AnsiString. See also the "Escape sequences" section in the "TBarcode2D_MicroPDF417" article. false.. in order to place the function characters and additional control information. please use the GetCheckSum (Syntax 1) overloading method. and the structured append block will be used by each symbol in the series of MicroPDF417 structured append symbols. po910TextAlphaLatch. Parameters: Data: AnsiString. It's the original input text before division into the each symbol in the series of structured append symbols. you can use the method to caculate the check sum of a block of binary (bytes) data. []).. structuredappend_block := '\s[1. begin full_barcode := '. Description: The method returns the check sum of a barcode text that will be encoded into a series of structured append symbols. See also the "Sturctured append" section in the "TBarcode2D_MicroPDF417" article. AllowEscape: Boolean. structuredappend_block: string. the parameter 294 . po908TextAlphaLatch.'. For example: var full_barcode. function GetCheckSum(Data: AnsiString. InvalidIndex: Integer.' + check_sum + ']'. check_sum := GetCheckSum(full_barcode.. if invalid_index > 0 then exit.2008-12-03 05:30:00. virtual. invalid_index..1. { Defined in the pPDF417Com unit } TPDF417_Options = set of TPDF417_Option.. po915TextAlphaLatch. The result string can be directly used as the check sum in the structured append block. po914TextAlphaLatch. Or specifies the barcode text in AnsiString format. { Defined in the pMicroPDF417 unit } TMicroPDF417_Options = TPDF417_Options. If there is any invalid character in the barcode text that is specified by the Data parameter.2D Barcode VCL Components User Manual value greater than 0. po912TextAlphaLatch. AllowEscape: Boolean... poMicroPDF417Explicit901).USA.9. po907TextAlphaLatch.. '. the InvalidIndex parameter returns a position index of first invalid character. Return: If the method succeeds. please convert it in theOnEncode event. and Syntax 2 (only for Delphi/C++Builder 2009 or later): Syntax 1: Returns the check sum value of a barcode text. it's a 16-bit word value. For example: var full_barcode. If the method fails.10 GetCheckSum (TBarcode2D_PDF417) Returns the check sum of a barcode text that will be encoded into each symbol in a Macro PDF417 set. UTF-16). UTF-16). []). structuredappend_block: string. if you want to use other encoding scheme (for example the UTF-8. If you want to caculate the check sum of a block of binary (bytes) data.. it returns the zero. The parameter can be used to change the encoding algorithm and meanings of some fucntion codewords. By default. Syntax 1. It is of type string. begin full_barcode := '. it is an ANSI encoding string.USA. then caculate its check sum... in order to match the reader. false.001287023. For Delphi/C++ Builder 2009 or later.. For Delphi/C++ Builder 2007 or early. Syntax 2: Returns the check sum value of a barcode text.. you can use the method to caculate the check sum of a block of binary (bytes) data. invalid_index.. The value will be used in the macro PDF417 control information block. See also the "Sturctured append" section in the "TBarcode2D_MicroPDF417" article. and the macro PDF417 control information block will be used by each symbol in the Macro PDF417 set.1.. or specify the converted string in the Barcode parameter. The barcode text is specified in the Data parameter. Otherwise. structuredappend_block := '\s[1. For the Delphi/C++ Builder 2009 or later. //. The Options parameter is an advanced feature which allows low level control over data encoding. please use the GetCheckSum (Syntax 2) overloading method.2D Barcode VCL Components User Manual returns the position index of first invalid character. The values that can be included in the Options parameter are defined in the pPDF417Com unit. Or 295 . in decimal AnsiString format. The barcode text is specified in the Barcode parameter. There are two different overloading methods. Also you can use the method to caculate the check sum of a block of binary (bytes) data. it is in fact a UnicodeString instead of AnsiString. or use the GetCheckSum (Syntax 2) overloading method and specify the converted string in its Data parameter. please convert it in theOnEncode event. check_sum.2008-12-03 05:30:00. It is of type AnsiString. And the InvalidIndex parameter returns zero. check_sum := GetCheckSum(full_barcode. The method is available only for the Delphi/C++ Builder 2009 or later.' + check_sum + ']'. the Barcode parameter is in fact an AnsiString.... the index 1 denotes that the first character is invalid character. Options: TMicroPDF417_Options. The result string can be directly used as the check sum in the structured append block. invalid_index: integer. By default. If you want to use other encoding scheme (for example the UTF-8...5. it returns the check sum value. Note: The overloading method is available only for the Delphi/C++ Builder 2009 or later. B. it's an integer value greater than 0. See also the "Options" property article. if invalid_index > 0 then exit. the unicode string will be converted to an ANSI encoding string. It is of type string. Parameters: Barcode: string. po910TextAlphaLatch. Specifies whether to allow users to insert the escape sequences to the Barcode parameter value. Syntax: type { Defined in the pPDF417Com unit } TPDF417_Option = (poIgnoreShiftBeforeECI. then caculate its check sum. Otherwise. The values that can be included in the Options parameter are defined in the pPDF417Com unit. The parameter can be used to change the encoding algorithm and meanings of some fucntion codewords.1 GetCheckSum . virtual. By default. UTF-16). and the macro PDF417 control information block will be used by each symbol in the Macro PDF417 set. The Options parameter is an advanced feature which allows low level control over data encoding. poMicroPDF417Explicit901). the unicode string will be converted to an ANSI encoding string. For Delphi/C++ Builder 2009 or later.2D Barcode VCL Components User Manual specifies the barcode text in AnsiString format. 296 . InvalidIndex: Integer. it is an ANSI encoding string. If you want to caculate the check sum of a block of binary (bytes) data under Delphi/C++ Builder 2007 or early. po908TextAlphaLatch. please convert it in theOnEncode event. function GetCheckSum(Barcode: string. By default. it is in fact an UnicodeString instead of AnsiString. the Barcode parameter is in fact an AnsiString. po906TextAlphaLatch. See also the "Macro PDF417" section in the "TBarcode2D_PDF417" article. See also the "Macro PDF417" section in the "TBarcode2D_PDF417" article. var InvalidIndex: Integer. poFirstFNC1MatchAI01. po912TextAlphaLatch. AllowEscape: Boolean.Syntax 1 (TBarcode2D_PDF417) Returns the check sum of a barcode text that will be encoded into each symbol in a Macro PDF417 set. poFirst904TextMixedLatch. po907TextAlphaLatch. UTF-16). { Defined in the pPDF417Com unit } TPDF417_Options = set of TPDF417_Option. please convert it in theOnEncode event. the index 1 denotes that the first character is invalid character. po915TextAlphaLatch. please use the GetCheckSum (Syntax 1) overloading method. For Delphi/C++ Builder 2007 or early. If there is any invalid character in the barcode text that is specified by the Barcode parameter. Also you can use the method to caculate the check sum of a block of binary (bytes) data. Options: TPDF417_Options. please use the GetCheckSum (Syntax 2) overloading method. If you want to caculate the check sum of a block of binary (bytes) data. it returns the zero. B. See also the "Options" property article. in order to place the function characters and additional control information. the parameter returns the position index of first invalid character.10. AllowEscape: Boolean. poFirst903TextAlphaLatch. if you want to use other encoding scheme (for example the UTF-8. It's the original input text before division into the each symbol in the Macro PDF417 set. or use the GetCheckSum (Syntax 2) overloading method and specify the converted string in its Data parameter. in order to match the reader. Options: TPDF417_Options = []): string. Description: The method returns the check sum of a barcode text that will be encoded into a Macro PDF417 set. or specify the converted string in the Barcode parameter. See also the "Escape sequences" section in the "TBarcode2D_PDF417" article. If you want to use other encoding scheme (for example the UTF-8. The value will be used in the macro PDF417 control information block.1. po914TextAlphaLatch. begin full_barcode := '.. and the macro PDF417 control information block will be used by each symbol in the Macro PDF417 set.. { Defined in the pPDF417Com unit } TPDF417_Options = set of TPDF417_Option. po907TextAlphaLatch.' + check_sum + ']'. po914TextAlphaLatch. if invalid_index > 0 then exit.'. macro_block := '\s[1. AllowEscape: Boolean. 297 . AllowEscape: Boolean. Options: TPDF417_Options = []): AnsiString. The value will be used in the macro PDF417 control information block.. po912TextAlphaLatch.1.10. []).. po906TextAlphaLatch. it's an integer value greater than 0. For example: var full_barcode. See also the "Escape sequences" section in the "TBarcode2D_PDF417" article. po908TextAlphaLatch. See also the "Macro PDF417" section in the "TBarcode2D_PDF417" article. poFirst903TextAlphaLatch. It is of typeAnsiString. poFirst904TextMixedLatch. And the InvalidIndex parameter returns zero. check_sum. The result string can be directly used as the check sum in the Macro PDF417 control information block.. virtual. check_sum := GetCheckSum(full_barcode. po910TextAlphaLatch.2 GetCheckSum . poFirstFNC1MatchAI01.2D Barcode VCL Components User Manual Return: If the method succeeds. poMicroPDF417Explicit901). See also the "Macro PDF417" section in the "TBarcode2D_PDF417" article. //.. Syntax: type { Defined in the pPDF417Com unit } TPDF417_Option = (poIgnoreShiftBeforeECI.. function GetCheckSum(Data: AnsiString.5. It's the original input text before division into the each symbol in the Macro PDF417 set. invalid_index.2008-12-03 05:30:00.. Parameters: Data: AnsiString.001287023. the InvalidIndex parameter returns a position index of first invalid character. The method is available only for the Delphi/C++ Builder 2009 or later. it's a 16-bit word value.. var InvalidIndex: Integer. Or specifies the barcode text in AnsiString format. false.. Description: The method returns the check sum of a barcode text that will be encoded into a Macro PDF417 set. in decimal string format. If you want to caculate the check sum of a block of binary (bytes) data under Delphi/C++ Builder 2007 or early. Specifies whether to allow users to insert the escape sequences to the Data parameter value.. macro_block: string. If the method fails. you can use the method to caculate the check sum of a block of binary (bytes) data.USA. For the Delphi/C++ Builder 2009 or later. in order to place the function characters and additional control information. B. invalid_index: integer..Syntax 2 (TBarcode2D_PDF417) Returns the check sum of a barcode text that will be encoded into each symbol in a Macro PDF417 set. po915TextAlphaLatch. it returns the check sum value. please use the GetCheckSum (Syntax 1) overloading method. By default. Otherwise. See also the "Options" property article.5. it's a 16-bit word value. if invalid_index > 0 then exit. check_sum := GetCheckSum(full_barcode. begin full_barcode := '. it is an ANSI encoding string. The barcode text is specified in the Barcode parameter. it's an integer value greater than 0. The barcode text is specified in the Data parameter. it returns the check sum value.' + check_sum + ']'. in decimal AnsiString format.2D Barcode VCL Components User Manual InvalidIndex: Integer. invalid_index: integer. check_sum. UTF-16).. Options: TPDF417_Options. The Options parameter is an advanced feature which allows low level control over data encoding. It is of type AnsiString.. For Delphi/C++ Builder 2009 or later. Return: If the method succeeds...2008-12-03 05:30:00. it is in fact an UnicodeString instead of AnsiString. Syntax 2: Returns the parity value of a barcode text.11 GetParity (TBarcode2D_QRCode) Returns the parity value of a barcode text that will be encoded into a series of structured append symbols.. The parameter can be used to change the encoding algorithm and meanings of some fucntion codewords. See also the "Macro PDF417" section in the "TBarcode2D_PDF417" article. it returns the zero. Note: The overloading method is available only for the Delphi/C++ Builder 2009 or later. Syntax 1. For the Delphi/C++ Builder 2009 or later. For Delphi/C++ Builder 2007 or early. please convert it in the OnEncode event. then caculate its parity.. the InvalidIndex parameter returns a position index of first invalid character. If you want to use other encoding scheme (for example the UTF-8. and Syntax 2 (only for Delphi/C++Builder 2009 or later): Syntax 1: Returns the parity value of a barcode text. or specify the converted string in the Barcode parameter. UTF-16). By default. And the InvalidIndex parameter returns zero. The value will be used in the structured append block.'. if you want to use other encoding scheme (for example the UTF-8. the unicode string will be converted to an ANSI encoding string.1. macro_block: string. Also you can use the method to caculate the parity of a block of binary (bytes) data. macro_block := '\s[1. or use the GetParity (Syntax 2) overloading method and specify the converted string in its Data parameter. For example: var full_barcode.. //.001287023. Or 298 . If you want to caculate the parity of a block of binary (bytes) data. There are two different overloading methods. It is of type string. If there is any invalid character in the barcode text that is specified by the Data parameter.. The method is available only for the Delphi/C++ Builder 2009 or later. in order to match the reader.. you can use the method to caculate the parity of a block of binary (bytes) data. the Barcode parameter is in fact an AnsiString. and the structured append block will be used by each symbol in the series of QRCode structured append symbols. The values that can be included in the Options parameter are defined in the pPDF417Com unit. please convert it in theOnEncode event. The result string can be directly used as the check sum in the Macro PDF417 control information block. please use the GetParity (Syntax 2) overloading method. false. If the method fails. invalid_index..USA. []). B. the parameter returns the position index of first invalid character.. the index 1 denotes that the first character is invalid character.. AllowEscape: Boolean.Syntax 1 (TBarcode2D_QRCode) Returns the parity value of a barcode text that will be encoded into a series of structured append symbols. virtual. Syntax: function GetParity(Barcode: string. the index 1 denotes that the first character is invalid character. the unicode string will be converted to an ANSI encoding string. By default. var InvalidIndex: Integer): Byte.1.Syntax 2 (TBarcode2D_QRCode) 299 . See also the "Structured append" section in the "TBarcode2D_QRCode" article. please use the GetParity (Syntax 2) overloading method. If the method fails. For Delphi/C++ Builder 2007 or early. If you want to caculate the parity of a block of binary (bytes) data.1 GetParity .2D Barcode VCL Components User Manual specifies the barcode text in AnsiString format. The value will be used in the structured append block. AllowEscape: Boolean. and the structured append block will be used by each symbol in the series of QRCode structured append symbols. the Barcode parameter is in fact an AnsiString. It's the original input text before division into the each symbol in the series of structured append symbols. If you want to use other encoding scheme (for example the UTF-8. it's an 8-bit byte value.11. Parameters: Barcode: string. if you want to use other encoding scheme (for example the UTF-8. See also the "Structured append" section in the "TBarcode2D_QRCode" article. UTF-16). please convert it in theOnEncode event. Also you can use the method to caculate the parity of a block of binary (bytes) data. UTF-16). See also the "Escape sequences" section in the "TBarcode2D_QRCode" article. please convert it in the OnEncode event. it is in fact a UnicodeString instead of AnsiString. B. the InvalidIndex parameter returns a position index of first invalid character. Specifies whether to allow users to insert the escape sequences to the Barcode parameter value.1.It is of type string. or specify the converted string in the Barcode parameter. it returns the zero. it returns the parity value. the parameter returns the position index of first invalid character. it's an integer value greater than 0. Description: The method returns the parity value of a barcode text that will be encoded into a series of structured append symbols.11. And the InvalidIndex parameter returns zero.2 GetParity . For Delphi/C++ Builder 2009 or later. Return: If the method succeeds. InvalidIndex: Integer. please use the GetParity (Syntax 1) overloading method. If there is any invalid character in the barcode text that is specified by the Barcode parameter. If you want to caculate the parity of a block of binary (bytes) data under Delphi/C++ Builder 2007 or early. in order to place the function characters and additional control information. Otherwise. it is an ANSI encoding string. See also the "Structured append" section in the "TBarcode2D_QRCode" article. then caculate its parity. or use the GetParity (Syntax 2) overloading method and specify the converted string in its Data parameter. By default. B. UTF-16). Otherwise. it returns the parity value. If you want to caculate the parity of a block of binary (bytes) data under Delphi/C++ Builder 2007 or early. the InvalidIndex parameter returns a position index of first invalid character. Syntax 2. The value will be used in the structured append block. Return: If the method succeeds. it's an integer value greater than 0. It is of type AnsiString. See also the "Escape sequences" section in the "TBarcode2D_QRCode" article. and Syntax 3 (only for Delphi/C++Builder 2009 or later): Syntax 1: Prints the barcode symbol that is specified by the properties of this barcode component. If there is any invalid character in the barcode text that is specified by the Data parameter. It is of type string. it's an 8-bit byte value. if you want to use other encoding scheme (for example the UTF-8. and the structured append block will be used by each symbol in the series of QRCode structured append symbols. B. Description: The method returns the parity value of a barcode text that will be encoded into a series of structured append symbols. the parameter returns the position index of first invalid character. Or specifies the barcode text in AnsiString format. AllowEscape: Boolean. It's the original input text before division into the each symbol in the series of structured append symbols. InvalidIndex: Integer. the index 1 denotes that the first character is invalid character. the Barcode parameter is in fact an AnsiString. virtual. If the method fails. you can use the method to caculate the parity of a block of binary (bytes) data.12 Print Prints specified barcode symbol to printer. please use the GetParity (Syntax 1) overloading method. the unicode string will be converted to an ANSI encoding string. it is in fact an UnicodeString instead of AnsiString. it is an ANSI encoding string. Syntax: function GetParity(Data: AnsiString. AllowEscape: Boolean. For Delphi/C++ Builder 2007 or early. The barcode text is specified in the Barcode parameter. Parameters: Data: AnsiString.1. Syntax 2: Prints the barcode symbol that is specified by the parameters of this method. And the InvalidIndex parameter returns zero. in order to place the function characters and additional control information. var InvalidIndex: Integer): Byte. If you want to use other encoding scheme (for example the UTF-8. By default. it returns the zero. please convert it in theOnEncode event. Also you can use the method to encode a block of binary (bytes) data. UTF-16). For Delphi/C++ Builder 2009 or later.2D Barcode VCL Components User Manual Returns the parity value of a barcode text that will be encoded into a series of structured append symbols. or specify the converted string in the Barcode parameter. See also the "Structured append" section in the "TBarcode2D_QRCode" article. The method is available only for the Delphi/C++ Builder 2009 or later. There are several different overloading methods. then be encoded into the barcode symbol. If you want to encode a block of binary (bytes) data. For the Delphi/C++ Builder 2009 or later. See also the "Structured append" section in the "TBarcode2D_QRCode" article. Specifies whether to allow users to insert the escape sequences to the Data parameter value. Syntax 1. By default. Note: The overloading method is available only for the Delphi/C++ Builder 2009 or later. please convert it in theOnEncode event. or use the Print (Syntax 3) overloading method and specify the converted string in its Data parameter. please use the Print (Syntax 3) 300 . For the TBarcode2D_CCA.BeginDoc and Printer. the leading quiet zone and the trailing quiet zone are included always. The method is available only for the Delphi/C++ Builder 2009 or later. Both of them will be printed to the printer. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. Angle: Integer = -1. If you want to encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). Syntax 3: Prints the barcode symbol that is specified by the parameters of this method. Module: Double. Description: Prints current barcode symbol that is specified by the properties of this barcode component to the printer. BarcodeWidth: Double = 0. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): 301 . Parameters: Left: Double. Top. the 2D symbol and the linear symbol are assembled to generate an EAN. For the Delphi/C++ Builder 2009 or later. they are included in the barcode symbol.2D Barcode VCL Components User Manual overloading method. Or specifies the barcode text in AnsiString format. overload. Syntax: function Print(Left. Please use the method between Printer. please use the Print (Syntax 2) overloading method. TBarcode2D_CCB.UCC composite barcode symbol.12. B. even if the ShowQuietZone property is set to false. virtual. It is of type AnsiString. The barcode symbol is specified by the properties of this barcode component.Syntax 1 Prints a barcode symbol to printer. Specifies the margin between the rotated barcode symbol and the left side of the paper in millimeters.1. if the Linear property is set. BarcodeHeight: Double = 0): Integer. and TBarcode2D_CCC barcode components. you can use the method to encode a block of binary (bytes) data into a barcode symbol.EndDoc methods. The barcode text is specified in the Data parameter.1 Print . the 2D symbol and the linear symbol are assembled to generate an EAN. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. this does not apply to TBarcode1D_EAN128). the excess is included in the symbol. TBarcode2D_CCB. and the parameter specifies the left margin for entire rotated EAN. and the human readable text exceeds entire EAN.UCC composite barcode symbol in horizontal direction. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. and its human readable text is represented. TBarcode1D_UPCE0. TBarcode1D_EAN13. and TBarcode2D_CCC components.2D Barcode VCL Components User Manual For the TBarcode2D_CCA. or TBarcode2D_CCC component is TBarcode1D_UPCA. if the Linear property is set. The parameter always specifies the left margin for entire rotated EAN. The linear symbol is included in the composite barcode symbol. or TBarcode1D_EAN128.UCC composite barcode symbol not for the 2D symbol. TBarcode1D_UPCE.UCC composite symbol. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. TBarcode1D_UPCE1. TBarcode1D_EAN8. If the TextAlignment property isn't set to taCustom. If the TextAlignment property is set to taCustom. See diagram (theSpaceColor property is set to clSilver in order to accentuate the quiet zones): 302 .UCC composite barcode symbol. TBarcode2D_CCB. or TBarcode1D_EAN128. If the TextAlignment property is set to taCustom. the excess is included in the symbol. TBarcode2D_CCB. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. Top: Double. if the Linear property is set. and the human readable text exceeds entire EAN. 303 . and TBarcode2D_CCC components. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. Specifies the margin between the rotated barcode symbol and the top side of the paper in millimeters. and its human readable text is represented. this does not apply to TBarcode1D_EAN128). If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). and the parameter specifies the top margin for entire rotated EAN. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode2D_CCB. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. TBarcode1D_EAN13.UCC composite barcode symbol. TBarcode1D_UPCE0. or TBarcode2D_CCC component is TBarcode1D_UPCA.UCC composite barcode symbol in horizontal direction. TBarcode1D_UPCE.2D Barcode VCL Components User Manual See also the "LeftMargin" property. the leading quiet zone and the trailing quiet zone are included always. even if the ShowQuietZone property is set to false. TBarcode1D_UPCE1. TBarcode1D_EAN8. The linear symbol is included in the composite barcode symbol. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented.UCC composite barcode symbol not for the 2D symbol. If the TextAlignment property isn't set to taCustom. they are included in the barcode symbol. the module is single cell (a suqare shape) used to encode one bit data. See diagram: For the 2D component TBarcode2D_CCA. the module is the thinest bar (or space) in the barcode symbol. 304 . See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology. the BarcodeHeight parameter value will be ignored. Also. the parameter specifies the module width for entire EAN.2D Barcode VCL Components User Manual The parameter always specifies the top margin for entire rotated EAN.UCC composite barcode symbol (including both 2D and linear symbols). If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. if its Linear property is set. See diagram (theSpaceColor property is set to clSilver in order to accentuate the quiet zones): See also the "TopMargin" property. it's the center to center horizontal distance between adjacent modules. The parameter specifies the horizonal width of a module.UCC composite barcode symbol. or TBarcode2D_CCC. TBarcode2D_CCB. See diagram: If any one of the BarcodeWidth parameter and BarcodeHeight parameter is provided and it isn't zero. See diagram: For the TBarcode2D_MaxiCode barcode symbology. only the BarcodeWidth parameter value will be used to calculate the module size. the 2D symbol and the linear symbol are assembled to generate an EAN. Specifies the module size in millimeters. The parameter specifies the module width and height. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). See also the "Module" property. the module is single cell (a regular hexagonal shape) used to encode one bit data.UCC composite symbol. Module: Double. the module size will be calculated based on the BarcodeWidth parameter value or the BarcodeHeight parmeter value. The parameter specifies the module width. the value of Module parameter will be ignored. or TBarcode2D_CCC. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). the leading quiet zone and the trailing quiet zone are included always. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. and they will be rotated as an entirety. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): The parameter defaults to -1 if the Angle is not provided. or TBarcode2D_CCC. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. the leading quiet zone and the trailing quiet zone are included in the barcode symbol. if its Linear property is set. TBarcode2D_CCB. TBarcode2D_CCB. You can use the LeadingQuietZone. please read the ShowQuietZone property about whether or not the quiet zones will be represented) anticlockwise. and the parameter specifies the width for entire EAN. and the barcode symbol will be rotated based on the value of the Orientation property: boLeftRight: 0 degrees boRightLeft: 180 degrees boTopBottom: 270 degrees boBottomTop: 90 degrees If you want to use the -1 degrees. and BottomQuietZone properties to specify the size of these quiet zones in modules. in millimeters. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): 305 . the linear symbol is included in the composite barcode symbol.UCC composite barcode symbol not only for the 2D symbol. the 359 degrees can be used instead. even if the ShowQuietZone property is set to false. Specifies the barcode symbol width (the distance between the beginning and end of the barcode symbol). See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet azones): For the 2D component TBarcode2D_CCA. the 2D symbol and the linear symbol are assembled to generate an EAN. TopQuietZone. BarcodeWidth: Double. if its Linear property is set. TrailingQuietZone.UCC composite barcode symbol. And use the ShowQuietZone property to specify whether to represent these quiet zones.UCC composite barcode symbol.2D Barcode VCL Components User Manual Angle: Integer. the 2D symbol and the linear symbol are assembled to generate an EAN. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. or TBarcode1D_EAN128.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. this does not apply to TBarcode1D_EAN128). TBarcode2D_CCB.UCC composite barcode symbol in horizontal direction. if the parameter is provided and it isn't zero. See also the "BarcodeWidth" property. Specifies the barcode symbol height (the distance between the top and bottom of the barcode symbol). If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero. TBarcode1D_UPCE0. in millimeters. the excess isn't included in the width value. TBarcode1D_EAN8. and the human readable text exceeds entire EAN. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). TBarcode1D_EAN13. TBarcode1D_UPCE1. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included (if they are represented. the barcode symbol width will be determined by the Module parameter value. the top quiet zone and the bottom quiet zone are included in the barcode symbol. If the TextAlignment property isn't set to taCustom. or TBarcode2D_CCC component is TBarcode1D_UPCA. the BarcodeHeight parameter value will be ignored. TBarcode1D_UPCE. the values in Module and BarcodeHeight parameters will be ignored. BarcodeHeight: Double. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): 306 . the module size will be calculated based on the BarcodeWidth value. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): Note. and its human readable text is represented. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. If the TextAlignment property is set to taCustom. only the BarcodeWidth parameter value will be used to calculate the module size. See diagram (the SpaceColor property is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. if the parameter is provided and it isn't zero. the linear symbol is included in the composite barcode symbol. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): Note. only the BarcodeWidth parameter value will be used to calculate the module size. the human readable text and the vertical spacing between the text and linear symbol are included in the height value. TBarcode1D_UPCE. TBarcode1D_EAN13. and the parameter specifies the height for entire EAN. the BarcodeHeight parameter value will be ignored. 307 . if its Linear property is set. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero. and its human readable text is represented.UCC composite barcode symbol. or TBarcode2D_CCC. and the BarcodeWidth parameter isn't provided or it's zero. TBarcode2D_CCB. TBarcode1D_UPCE0.UCC composite barcode symbol not only for the 2D symbol. or TBarcode1D_EAN128. or TBarcode2D_CCC component is TBarcode1D_UPCA.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. the module size will be calculated based on the BarcodeHeight value. the value in Module parameter will be ignored. the barcode symbol height will be determined by the Module parameter value. TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_UPCE1. TBarcode1D_EAN8. BeginDoc. and TBarcode2D_CCC barcode components. Return: If the method succeeds. Corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. the return value is zero. For the TBarcode2D_CCA. If the invalid character is in the linear symbol. if there is any invalid character in the the barcode text. Corresponding to the OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. Please use the method between the Printer.Print(.BeginDoc and Printer. { Print other content } Printer. the index 1 denotes that the first character is invalid character. it's the position index of first invalid character. the index 1 denotes that the first character is invalid character). TBarcode2D_CCB.1. In general. the 2D symbol and the linear symbol are assembled to generate an EAN. For other barcode components.. TBarcode2D_CCB. For the TBarcode2D_CCA.12. Module: Double.EndDoc methods. the 2D symbol and the linear symbol are assembled to generate an EAN. and TBarcode2D_CCC barcode components.Syntax 2 Prints a barcode symbol to printer. ShowQuietZone: Boolean.EndDoc methods. the return value is greater than zero. B.. For example..2 Print . overload. the index 1 denotes that the first character is invalid character. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. If the invalid character is in the 2D symbol. { Print the barcode symbol } . the return valus is -1. virtual. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character.UCC composite barcode symbol.. Description: Prints a barcode symbol that is specified by the parameters of this method to the printer. BarColor. If the length of barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property is invalid. the return valus is -1. the return valus is -1 or -65537. BarcodeHeight: Double = 0): Integer. Parameters: 308 . the return valus is 65537. If the length of barcode text of the 2D symbol is invalid. { Print other content } Barcode_QRCode1...).EndDoc. If the length of barcode text of the linear symbol is invalid. If there is any invalid character in the the barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property. the return value 65537 denotes that the first character is invalid character). The barcode symbol is specified by the parameters of this method.UCC composite barcode symbol. . Syntax: function Print(Barcode: string. the return value is the position index of first invalid character.BeginDoc and Printer. if the length of barcode text is invalid. For other barcode components. SpaceColor: TColor. if the Linear property is set. BarcodeWidth: Double = 0. Top. if the Linear property is set. Angle: Integer = 0. Note: Pelase use the method between Printer. For example: Printer. Left.2D Barcode VCL Components User Manual See also the "BarcodeHeight" property. the parameters specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol.UCC composite symbol (including both 2D and linear symbols). For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. If the Inversed property is set to true. or TBarcode2D_CCC. For the 2D component TBarcode2D_CCA. please convert it in theOnEncode event. SpaceColor: TColor. if the property AutoCheckDigit is set to true.UCC composite symbol (including both 2D and linear symbols). For the TBarcode2D_CCA. Specifies whether to represent the leading. If you want to encode a block of binary (bytes) data. See diagram (the SpaceColor parameter is set to clSilver in order to 309 . Specifies the barcode text. please convert it in theOnEncode event. You can use the LeadingQuietZone. the parameter is in effect for entire EAN. or specify the converted string in the Barcode parameter. if its Linear property is set. Also you can use the method to encode a block of binary (bytes) data. and bottom quiet zones are represented using the color. the Barcode parameter is in fact an AnsiString. the 2D symbol and the linear symbol are assembled to generate an EAN. In this case. and BottomQuietZone properties to specify the size of these quiet zones in modules. if the ShowQuietZone parameter value is set to true. In general. the leading quiet zone and the trailing quiet zone will be represented always. then be encoded into the barcode symbol. ShowQuietZone: Boolean. if its Linear property is set. TrailingQuietZone. For the 2D component TBarcode2D_CCA.UCC composite barcode symbol. UTF-16). or use the Print (Syntax 3) overloading method and specify the converted string in its Data parameter. the parameters specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. even if the ShowQuietZone parameter value is set to false. Otherwise. If the parameter value is set to true. It is of type string. For Delphi/C++ Builder 2007 or early. if you want to use other encoding scheme (for example the UTF-8. if the ShowQuietZone parameter value is set to true. top. trailing. Also. and bottom quiet zones are represented using the color. If you want to use other encoding scheme (for example the UTF-8.UCC composite barcode symbol. it specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. the unicode string will be converted to an ANSI encoding string. the 2D symbol and the linear symbol are assembled to generate an EAN. top and bottom quiet zones. the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. TopQuietZone. it is an ANSI encoding string. the leading. they don't be represented. BarColor: TColor. In general. By default. By default. UTF-16). See also the "BarColor" property. the parameter is in effect for entire EAN. otherwise the check digit can be specified by you in the parameter. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. For Delphi/C++ Builder 2009 or later. the Inversed property is set to false. If the Inversed property is set to true. please use the Print (Syntax 3) overloading method. the 2D symbol and the linear symbol are assembled to generate an EAN. Also. and TBarcode2D_CCC barcode components.UCC composite barcode symbol. In this case. it specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. trailing. top. trailing. TBarcode2D_CCB. the check digit doesn't need to be included in the parameter. or TBarcode2D_CCC. TBarcode2D_CCB. these quiet zones are represented. it is in fact an UnicodeString instead of AnsiString. if the Linear property is set. TBarcode2D_CCB. See also the "SpaceColor" property. the Inversed property is set to false. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties. the leading. The parameter only specifies the barcode text for the 2D symbol.2D Barcode VCL Components User Manual Barcode: String. TBarcode1D_ENA8. and its human readable text is represented and exceeds the beginning or end of entire EAN. or TBarcode1D_EAN13. TBarcode2D_CCB. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol.UCC composite barcode symbol. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. Similarly. if the linear component is the TBarcode1D_UPCE. and for the TBarcode1D_ENA8 component. And theLeadingQuietZone. regardless of whether the ShowQuietZone parameter is set to true or false. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. the 2D symbol and the linear symbol are assembled to generate an EAN. the leading quiet zone will be represented even if the ShowQuietZone parameter is set to false. and TBarcode2D_CCC barcode components. o r TBarcode1D_EAN128. they are not only for the 2D symbol. the ShowQuietZoneMark property is set to true too). TBarcode1D_UPCE1. In other words. the trailing quiet zone will be represented even if the ShowQuietZone parameter is set to false. the ShowQuietZoneMark property is set to true too). See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA. TopQuietZone. TBarcode1D_UPCA. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. and BottomQuietZone properties specify the size of quiet zones for entire EAN. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 310 . TBarcode1D_UPCE0. and TBarcode2D_CCC barcode components. TBarcode1D_UPCE0. TBarcode1D_ENA8. TBarcode1D_UPCE1. if the Linear property is set. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. TBarcode2D_CCB. TBarcode1D_UPCA. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. TrailingQuietZone. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. regardless of whether the ShowQuietZone parameter is set to true or false.2D Barcode VCL Components User Manual accentuate the quiet zones): For the TBarcode2D_CCA. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. TBarcode1D_EAN13.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true).UCC composite symbol. if the linear component is the TBarcode1D_UPCE. UCC composite barcode symbol. even if t h e ShowQuietZone parameter is set to false. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. the leading quiet zone and the trailing quiet zone are included always. the 2D symbol and the linear symbol are assembled to generate an EAN. Left: Double. the Inversed property is set to false. they are included in the barcode symbol. these quiet zones are represented using the color specified by BarColor parameter.2D Barcode VCL Components User Manual In general. these quiet zones are represented using the color specified by SpaceColor parameter. In this case. The linear symbol is included in the composite barcode symbol. and TBarcode2D_CCC components.UCC composite barcode symbol not for the 2D symbol. and the parameter specifies the left margin for entire rotated EAN. TBarcode2D_CCB. If the Inversed property is set to true. Specifies the margin between the rotated barcode symbol and the left side of the paper in millimeters. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 311 . See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. if the Linear property is set. See also the "ShowQuietZone" property. TBarcode2D_CCB. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. TBarcode1D_UPCE. TBarcode1D_EAN13. See diagram (theSpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): See also the "LeftMargin" property. the excess is included in the symbol. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 312 . TBarcode1D_UPCE1. TBarcode1D_UPCE0. If the TextAlignment property isn't set to taCustom. If the TextAlignment property is set to taCustom. and its human readable text is represented.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. Top: Double. or TBarcode1D_EAN128. The parameter always specifies the left margin for entire rotated EAN. Specifies the margin between the rotated barcode symbol and the top side of the paper in millimeters.UCC composite symbol. and the human readable text exceeds entire EAN. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). they are included in the barcode symbol. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. or TBarcode2D_CCC component is TBarcode1D_UPCA.UCC composite barcode symbol in horizontal direction. this does not apply to TBarcode1D_EAN128). TBarcode1D_EAN8. 2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode component, the leading quiet zone and the trailing quiet zone are included always, even if t h e ShowQuietZone parameter is set to false. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. The linear symbol is included in the composite barcode symbol, and the parameter specifies the top margin for entire rotated EAN.UCC composite barcode symbol not for the 2D symbol. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC component is TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN8, TBarcode1D_EAN13, or TBarcode1D_EAN128, and its human readable text is represented. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. If the TextAlignment property isn't set to taCustom, and the human readable text exceeds entire EAN.UCC composite barcode symbol in horizontal direction, the excess is included in the symbol. If the TextAlignment property is set to taCustom, the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented, this does not apply to TBarcode1D_EAN128). The parameter always specifies the top margin for entire rotated EAN.UCC composite symbol. See diagram (theSpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): See also the "TopMargin" property. 313 2D Barcode VCL Components User Manual Module: Double; Specifies the module size in millimeters. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology), the module is single cell (a suqare shape) used to encode one bit data. The parameter specifies the module width and height. See diagram: For the TBarcode2D_MaxiCode barcode symbology, the module is single cell (a regular hexagonal shape) used to encode one bit data. The parameter specifies the horizonal width of a module. Also, it's the center to center horizontal distance between adjacent modules. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology, the module is the thinest bar (or space) in the barcode symbol. The parameter specifies the module width. See diagram: For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the parameter specifies the module width for entire EAN.UCC composite barcode symbol (including both 2D and linear symbols). See diagram: If any one of the BarcodeWidth parameter and BarcodeHeight parameter is provided and it isn't zero, the value of Module parameter will be ignored, the module size will be calculated based on the BarcodeWidth parameter value or the BarcodeHeight parmeter value. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero, only the BarcodeWidth parameter value will be used to calculate the module size, the BarcodeHeight parameter value will be ignored. See also the "Module" property. Angle: Integer; Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented, please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise. You can use the LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties to specify the size of these quiet zones in modules. And use the ShowQuietZone parameter to specify whether to represent these quiet zones. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, and they will be rotated as an entirety. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 314 2D Barcode VCL Components User Manual The parameter defaults to 0 if the Angle is not provided, meaning left to right horizontal direction. BarcodeWidth: Double, Specifies the barcode symbol width (the distance between the beginning and end of the barcode symbol), in millimeters. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented), the leading quiet zone and the trailing quiet zone are included in the barcode symbol. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component, the leading quiet zone and the trailing quiet zone are included always, even if the ShowQuietZone parameter is set to false. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the linear symbol is included in the composite barcode symbol, and the parameter specifies the width for entire EAN.UCC composite barcode symbol not only for the 2D symbol. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC component is TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN8, TBarcode1D_EAN13, or TBarcode1D_EAN128, and its human readable text is represented. If the TextAlignment property isn't set to taCustom, and the human readable text exceeds entire EAN.UCC composite barcode symbol in horizontal direction, the excess isn't included in the width value. If the TextAlignment property is set to taCustom, the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included (if they are represented, this does not apply to TBarcode1D_EAN128). See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): 315 2D Barcode VCL Components User Manual Note, if the parameter is provided and it isn't zero, the values in Module and BarcodeHeight parameters will be ignored, the module size will be calculated based on the BarcodeWidth value. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero, the barcode symbol width will be determined by the Module parameter value. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero, only the BarcodeWidth parameter value will be used to calculate the module size, the BarcodeHeight parameter value will be ignored. See also the "BarcodeWidth" property. BarcodeHeight: Double, Specifies the barcode symbol height (the distance between the top and bottom of the barcode symbol), in millimeters. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented), the top quiet zone and the bottom quiet zone are included in the barcode symbol. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the linear symbol is included in the composite barcode symbol, and the parameter specifies the height for entire EAN.UCC composite barcode symbol not only for the 2D symbol. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): 316 2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC component is TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN8, TBarcode1D_EAN13, or TBarcode1D_EAN128, and its human readable text is represented. the human readable text and the vertical spacing between the text and linear symbol are included in the height value. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): Note, if the parameter is provided and it isn't zero, and the BarcodeWidth parameter isn't provided or it's zero, the value in Module parameter will be ignored, the module size will be calculated based on the BarcodeHeight value. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero, the barcode symbol height will be determined by the Module parameter value. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero, only the BarcodeWidth parameter value will be used to calculate the module size, the BarcodeHeight parameter value will be ignored. See also the "BarcodeHeight" property. Return: If the method succeeds, the return value is zero. If the length of barcode text is invalid, the return valus is -1 or -65537. For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. If the length of barcode text of the 2D symbol is invalid, the return valus is -1. If the length of barcode text of the linear symbol is invalid, the return valus is 65537. For other barcode components, if the length of barcode text is invalid, the return valus is -1. If there is any invalid character in the the barcode text, the return value is greater than zero. In general, it's the position index of first invalid character, the index 1 denotes that the first character is invalid character. For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. If the invalid character is in the 317 2D Barcode VCL Components User Manual 2D symbol, the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character, the index 1 denotes that the first character is invalid character). If the invalid character is in the linear symbol, the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. For example, the return value 65537 denotes that the first character is invalid character). For other barcode components, if there is any invalid character in the the barcode text, the return value is the position index of first invalid character, the index 1 denotes that the first character is invalid character. Note: Pelase use the method between Printer.BeginDoc and Printer.EndDoc methods. For example: Printer.BeginDoc; ... { Print other content } Barcode_QRCode1.Print(...); { Print the barcode symbol } ... { Print other content } Printer.EndDoc; B.1.12.3 Print - Syntax 3 Prints a barcode symbol to printer. The barcode symbol is specified by the parameters of this method. Please use the method between the Printer.BeginDoc and Printer.EndDoc methods. Syntax: function Print(Data: AnsiString; BarColor, SpaceColor: TColor; ShowQuietZone: Boolean; Left, Top, Module: Double; Angle: Integer = 0; BarcodeWidth: Double = 0; BarcodeHeight: Double = 0): Integer; overload; virtual; Description: Prints a barcode symbol that is specified by the parameters of this method to the printer. Parameters: Data: AnsiString; Specifies the barcode text. It is of type AnsiString. For the Delphi/C++ Builder 2009 or later, you can use the method to encode a block of binary (bytes) data into a barcode symbol. Or specifies the barcode text in AnsiString format. If you want to encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early, please use the Print (Syntax 2) overloading method. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components, if the property AutoCheckDigit is set to true, the check digit doesn't need to be included in the parameter, otherwise the check digit can be specified by you in the parameter. For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. The parameter only specifies the barcode text for the 2D symbol, the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties. BarColor: TColor; In general, the Inversed property is set to false. In this case, the parameters specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. If the Inversed property is set to true, it specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode 318 2D Barcode VCL Components User Manual symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. Also, if the ShowQuietZone parameter value is set to true, the leading, trailing, top, and bottom quiet zones are represented using the color. For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the parameter is in effect for entire EAN.UCC composite symbol (including both 2D and linear symbols). See also the "BarColor" property. SpaceColor: TColor; In general, the Inversed property is set to false. In this case, the parameters specifies the color for all spaces (Stacked 2D barcode symbology and Linear 1D barcode symbology) or light modules (Matrix 2D barcode symbology) in the barcode symbol. Also, if the ShowQuietZone parameter value is set to true, the leading, trailing, top, and bottom quiet zones are represented using the color. If the Inversed property is set to true, it specifies the color for all bars (Stacked 2D barcode symbology and Linear 1D barcode symbology) or dark modules (Matrix 2D barcode symbology) in the barcode symbol. For the 2D component TBarcode2D_CCA, TBarcode2D_CCB, or TBarcode2D_CCC, if its Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol, the parameter is in effect for entire EAN.UCC composite symbol (including both 2D and linear symbols). See also the "SpaceColor" property. ShowQuietZone: Boolean; Specifies whether to represent the leading, trailing, top and bottom quiet zones. If the parameter value is set to true, these quiet zones are represented. Otherwise, they don't be represented. You can use the LeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties to specify the size of these quiet zones in modules. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component, the leading quiet zone and the trailing quiet zone will be represented always, even if the ShowQuietZone parameter value is set to false. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA, TBarcode2D_CCB, and TBarcode2D_CCC barcode components, if the Linear property is set, the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. And theLeadingQuietZone, TrailingQuietZone, TopQuietZone, and BottomQuietZone properties specify the size of quiet zones for entire EAN.UCC composite symbol, they are not only for the 2D symbol. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components, if the linear component is the TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_UPCA, TBarcode1D_ENA8, or TBarcode1D_EAN13, and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom, and for the TBarcode1D_ENA8 component, the 319 and TBarcode2D_CCC barcode components. In this case. If the Inversed property is set to true. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. these quiet zones are represented using the color specified by SpaceColor parameter. and its human readable text is represented and exceeds the beginning or end of entire EAN. TBarcode1D_UPCA. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. the Inversed property is set to false. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. the trailing quiet zone will be represented even if the ShowQuietZone parameter is set to false. regardless of whether the ShowQuietZone parameter is set to true or false. In other words. TBarcode1D_ENA8. TBarcode1D_UPCE1. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. Left: Double. See also the "ShowQuietZone" property. Similarly. the leading quiet zone will be represented even if the ShowQuietZone parameter is set to false. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): In general. these quiet zones are represented using the color specified by BarColor parameter. TBarcode1D_EAN13. Specifies the margin between the rotated barcode symbol and the left side of the paper in millimeters. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. they are included in the barcode symbol. TBarcode1D_UPCE0. TBarcode2D_CCB. regardless of whether the ShowQuietZone parameter is set to true or false. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For all of the TBarcode2D_CCA.2D Barcode VCL Components User Manual ShowQuietZoneMark property is set to true too). if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. if the linear component is the TBarcode1D_UPCE. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. the ShowQuietZoneMark property is set to true too).UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true). If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). o r TBarcode1D_EAN128. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 320 . even if t h e ShowQuietZone parameter is set to false. TBarcode2D_CCB. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. or TBarcode1D_EAN128. and the parameter specifies the left margin for entire rotated EAN. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_EAN8. The parameter always specifies the left margin for entire rotated EAN.UCC composite barcode symbol in horizontal direction. TBarcode1D_UPCE1. TBarcode2D_CCB. the excess is included in the symbol. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. and TBarcode2D_CCC components. If the TextAlignment property is set to taCustom.UCC composite barcode symbol not for the 2D symbol. If the TextAlignment property isn't set to taCustom. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. TBarcode1D_UPCE0. See diagram (theSpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 321 . and its human readable text is represented. The linear symbol is included in the composite barcode symbol.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode component.UCC composite barcode symbol. or TBarcode2D_CCC component is TBarcode1D_UPCA. if the Linear property is set.UCC composite symbol. this does not apply to TBarcode1D_EAN128). TBarcode1D_EAN13. and the human readable text exceeds entire EAN. TBarcode1D_UPCE. the leading quiet zone and the trailing quiet zone are included always. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. UCC composite barcode symbol not for the 2D symbol. if the Linear property is set. Specifies the margin between the rotated barcode symbol and the top side of the paper in millimeters. Top: Double. they are included in the barcode symbol. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): 322 .2D Barcode VCL Components User Manual See also the "LeftMargin" property. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. The linear symbol is included in the composite barcode symbol.UCC composite barcode symbol. the leading quiet zone and the trailing quiet zone are included always. TBarcode2D_CCB. and the parameter specifies the top margin for entire rotated EAN. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). even if t h e ShowQuietZone parameter is set to false. the 2D symbol and the linear symbol are assembled to generate an EAN. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_CCA. and TBarcode2D_CCC components. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. or TBarcode1D_EAN128. TBarcode1D_UPCE. TBarcode1D_UPCE0. The parameter always specifies the top margin for entire rotated EAN. TBarcode1D_UPCE1. The parameter specifies the module width. Also.UCC composite symbol. See diagram: 323 . this does not apply to TBarcode1D_EAN128). TBarcode2D_CCB. or TBarcode2D_CCC component is TBarcode1D_UPCA. See diagram: For the TBarcode2D_MaxiCode barcode symbology. Module: Double. the module is single cell (a regular hexagonal shape) used to encode one bit data.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. If the TextAlignment property isn't set to taCustom. it's the center to center horizontal distance between adjacent modules. If the TextAlignment property is set to taCustom. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology. The parameter specifies the horizonal width of a module. TBarcode1D_EAN13. and the human readable text exceeds entire EAN. See diagram (theSpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): See also the "TopMargin" property. TBarcode1D_EAN8.UCC composite barcode symbol in horizontal direction. the module is single cell (a suqare shape) used to encode one bit data. the excess is included in the symbol. The parameter specifies the module width and height. Specifies the module size in millimeters. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included in the symbol too (if they are represented. the module is the thinest bar (or space) in the barcode symbol. and its human readable text is represented. the BarcodeHeight parameter value will be ignored. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): The parameter defaults to 0 if the Angle is not provided. Angle: Integer. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode component. TopQuietZone. Specifies the barcode symbol width (the distance between the beginning and end of the barcode symbol). please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. TBarcode2D_CCB. if its Linear property is set. You can use the LeadingQuietZone.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. in millimeters. the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. TBarcode2D_CCB. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. or TBarcode2D_CCC. TrailingQuietZone. if its Linear property is set. the module size will be calculated based on the BarcodeWidth parameter value or the BarcodeHeight parmeter value. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): 324 . And use the ShowQuietZone parameter to specify whether to represent these quiet zones. or TBarcode2D_CCC. even if the ShowQuietZone parameter is set to false. and BottomQuietZone properties to specify the size of these quiet zones in modules. the parameter specifies the module width for entire EAN. the value of Module parameter will be ignored.UCC composite barcode symbol (including both 2D and linear symbols). the 2D symbol and the linear symbol are assembled to generate an EAN. meaning left to right horizontal direction. and they will be rotated as an entirety. See diagram: If any one of the BarcodeWidth parameter and BarcodeHeight parameter is provided and it isn't zero. only the BarcodeWidth parameter value will be used to calculate the module size. See diagram (the SpaceColor parameter value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. the leading quiet zone and the trailing quiet zone are included in the barcode symbol. the leading quiet zone and the trailing quiet zone are included always. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). See also the "Module" property.UCC composite barcode symbol. BarcodeWidth: Double. the linear symbol is included in the composite barcode symbol. TBarcode2D_CCB. Specifies the barcode symbol height (the distance between the top and bottom of the barcode symbol). the BarcodeHeight parameter value will be ignored. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). the top quiet zone and the bottom quiet zone are included in the barcode symbol. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero.UCC composite barcode symbol. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): 325 . if the parameter is provided and it isn't zero.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero. See also the "BarcodeWidth" property. or TBarcode2D_CCC component is TBarcode1D_UPCA. the 2D symbol and the linear symbol are assembled to generate an EAN. the excess isn't included in the width value. TBarcode2D_CCB.UCC composite barcode symbol not only for the 2D symbol. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. If the TextAlignment property isn't set to taCustom. TBarcode1D_EAN13. only the BarcodeWidth parameter value will be used to calculate the module size. TBarcode1D_EAN8. TBarcode1D_UPCE1. BarcodeHeight: Double. TBarcode1D_UPCE0. or TBarcode2D_CCC. this does not apply to TBarcode1D_EAN128). the module size will be calculated based on the BarcodeWidth value. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): Note. and the parameter specifies the width for entire EAN. if its Linear property is set. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included (if they are represented. TBarcode1D_UPCE. the barcode symbol width will be determined by the Module parameter value. and its human readable text is represented. If the TextAlignment property is set to taCustom. in millimeters. and the human readable text exceeds entire EAN.UCC composite barcode symbol in horizontal direction. the values in Module and BarcodeHeight parameters will be ignored. or TBarcode1D_EAN128. TBarcode1D_UPCE. TBarcode1D_UPCE0. and the parameter specifies the height for entire EAN. TBarcode2D_CCB. 326 . the 2D symbol and the linear symbol are assembled to generate an EAN. or TBarcode2D_CCC. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero. the barcode symbol height will be determined by the Module parameter value. TBarcode1D_EAN8. the BarcodeHeight parameter value will be ignored. and its human readable text is represented. if its Linear property is set. or TBarcode2D_CCC component is TBarcode1D_UPCA. the human readable text and the vertical spacing between the text and linear symbol are included in the height value. TBarcode2D_CCB. the value in Module parameter will be ignored. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. or TBarcode1D_EAN128.UCC composite barcode symbol.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA.UCC composite barcode symbol not only for the 2D symbol. and the BarcodeWidth parameter isn't provided or it's zero. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. the module size will be calculated based on the BarcodeHeight value. if the parameter is provided and it isn't zero. TBarcode1D_UPCE1. the linear symbol is included in the composite barcode symbol. TBarcode1D_EAN13. See diagram (the SpaceColor parameter is set to clSilver in order to accentuate the quiet zones): Note. only the BarcodeWidth parameter value will be used to calculate the module size. The barcode text is specified in the Barcode parameter. the index 1 denotes that the first character is invalid character.BeginDoc. the 2D symbol and the linear symbol are assembled to generate an EAN. If there is any invalid character in the the barcode text. if the Linear property is set. There are several different overloading methods.EndDoc methods. Syntax 2: Returns the actual print horizontal width and vertical height of the rotated barcode symbol that is specified by the parameters of this method. . the return value is the position index of first invalid character. if the Linear property is set. please convert it in theOnEncode event.1. if you want to use other encoding scheme (for example the UTF-8. For Delphi/C++ Builder 2007 or early. the return valus is -1 or -65537. the index 1 denotes that the first character is invalid character. If you want to use other encoding scheme (for example the UTF-8. then be encoded into the barcode symbol. UTF-16). Syntax 1. For the TBarcode2D_CCA.2D Barcode VCL Components User Manual See also the "BarcodeHeight" property. UTF-16). the return value is greater than zero. It is of type string. By default. For example. B. if the length of barcode text is invalid. the 2D symbol and the linear symbol are assembled to generate an EAN. If the invalid character is in the 2D symbol. Note: The overloading method is available only for the Delphi/C++ Builder 2009 or later. the return valus is -1.. the return value 65537 denotes that the first character is invalid character). If the length of barcode text of the linear symbol is invalid. For other barcode components. and TBarcode2D_CCC barcode components. it's the position index of first invalid character.. { Print other content } Barcode_QRCode1.. Pelase use the method between Printer.Print(. For Delphi/C++ Builder 2009 or later. In general. TBarcode2D_CCB.. if there is any invalid character in the the barcode text.. If the length of barcode text is invalid. For other barcode components. { Print other content } Printer.UCC composite barcode symbol. or use the PrintSize (Syntax 3) overloading method and 327 . Also you can use the method if you encode a block of binary (bytes) data. the return value is zero. { Print the barcode symbol } . the Barcode parameter is in fact an AnsiString. Syntax 2. TBarcode2D_CCB. If the invalid character is in the linear symbol.BeginDoc and Printer. or specify the converted string in the Barcode parameter. it is an ANSI encoding string. the return valus is -1.EndDoc. the unicode string will be converted to an ANSI encoding string. If the length of barcode text of the 2D symbol is invalid. and TBarcode2D_CCC barcode components. the return valus is 65537. Return: If the method succeeds.13 PrintSize Returns actual horizontal width and vertical height of a rotated barcode symbol in millimeters. the index 1 denotes that the first character is invalid character).. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. For example: Printer. and Syntax 3 (only for Delphi/C++Builder 2009 or later): Syntax 1: Returns the actual print horizontal width and vertical height of the rotated barcode symbol that is specified by the properties of this barcode component.).UCC composite barcode symbol. By default. For the TBarcode2D_CCA. it is in fact an UnicodeString instead of AnsiString. please convert it in theOnEncode event. even if the ShowQuietZone property is set to false. and the linear component's DisplayText property isn't set to dtNone.2D Barcode VCL Components User Manual specify the converted string in its Data parameter.1. VDPI: Integer = 0): Integer. TBarcode2D_CCB. virtual. you can use the method if you encode a block of binary (bytes) data into a barcode symbol. Syntax: function PrintSize(var Width. The barcode symbol is specified by the properties of this barcode component. Height. Description: The method returns the actual horizontal width and vertical height of a rotated barcode symbol that is specified by properties of this barcode component. the linear symbol is included in the composite barcode symbol. SymbolWidth. Parameters: Width: Double. or TBarcode1D_EAN128. TBarcode1D_ENA8. please use the PrintSize (Syntax 3) overloading method.UCC composite barcode symbol. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). The method is available only for the Delphi/C++ Builder 2009 or later. B. and TBarcode2D_CCC components. For the Delphi/C++ Builder 2009 or later. or TBarcode2D_CCC.1 PrintSize . TBarcode2D_CCB. If you encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early.BeginDoc and Printer. You can use one of the Module. BarcodeHeight: Double = 0. Angle: Integer = -1. BarcodeWidth: Double = 0. For the 2D component TBarcode2D_CCA. SymbolHeight: Double. It is of type AnsiString.Syntax 1 Returns actual horizontal width and vertical height of a rotated barcode symbol in millimeters. For the TBarcode2D_CCA. they are included in the barcode symbol. Syntax 3: Returns the actual print horizontal width and vertical height of the rotated barcode symbol that is specified by the parameters of this method. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 328 . If you encode a block of binary (bytes) data.EndDoc methods. The barcode text is specified in the Data parameter. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. Please use the method between the Printer. BarcodeWidth and BarcodeHeight parameters to specify the module size. if the Linear property is set. the 2D symbol and the linear symbol are assembled to generate an EAN. Module: Double. HDPI: Integer = 0. Returns the horizontal width of the rotated barcode symbol in millimeters. TBarcode1D_UPCE0. in millimeters.13. Or specifies the barcode text in AnsiString format. TBarcode1D_UPCA. The value is calculated based on the module size. If its Linear property is set to the TBarcode1D_UPCE. the leading quiet zone and the trailing quiet zone are included always. TBarcode1D_EAN13. TBarcode1D_UPCE1. please use the PrintSize (Syntax 2) overloading method. overload. they are included in the barcode symbol. not the width of the 2D symbol. If the TextAlignment property is set to taCustom. or TBarcode1D_EAN128. The value is calculated based on the module size.UCC composite barcode symbol. Returns the vertical height of the rotated barcode symbol in millimeters.UCC composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA.UCC composite barcode symbol in horizontal direction. the excess is included too. and the human readable text exceeds entire EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Height: Double. if its Linear property is set. If the human readable text exceeds the linear barcode symbol in vertical direction. the excess is included in the symbol. TBarcode1D_UPCE0. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode2D_CCB. TBarcode1D_EAN8. TBarcode1D_EAN13. You can use one of the Module. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 329 . If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). the linear symbol is included in the composite barcode symbol. If the TextAlignment property isn't set to taCustom. TBarcode1D_UPCE1. and its human readable text is represented. or TBarcode2D_CCC.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. or TBarcode2D_CCC component is TBarcode1D_UPCA. BarcodeWidth and BarcodeHeight parameters to specify the module size. and the parameter returns the width of entire EAN. the 2D symbol and the linear symbol are assembled to generate an EAN. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. TBarcode2D_CCB. TBarcode1D_UPCE. this does not apply to TBarcode1D_EAN128). or TBarcode2D_CCC. the excess is included too. TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN. and its human readable text is represented. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. TBarcode1D_UPCE1.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode components. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. or TBarcode2D_CCC component is TBarcode1D_UPCA. even if the ShowQuietZone property is set to false. the linear symbol is included in the composite barcode symbol. TBarcode1D_EAN8.UCC composite barcode symbol in horizontal direction. and the parameter returns the height of entire EAN. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. or TBarcode1D_EAN128. and the human readable text exceeds entire EAN. TBarcode1D_UPCE. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. If the TextAlignment property isn't set to taCustom. not the height of the 2D symbol. TBarcode1D_EAN13. the excess is included in the symbol. If the TextAlignment property is set to taCustom. this does not apply to TBarcode1D_EAN128). if its Linear property is set. TBarcode1D_UPCE0. TBarcode2D_CCB. If the human readable text exceeds the linear barcode symbol in vertical direction. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 330 .UCC composite barcode symbol. the leading quiet zone and the trailing quiet zone are included always.UCC composite barcode symbol. or TBarcode2D_CCC.UCC composite barcode symbol.2D Barcode VCL Components User Manual SymbolWidth: Double. if its Linear property is set. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). You can use one of the Module.UCC composite barcode symbol in horizontal direction. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. even if the ShowQuietZone property is set to false. The value is calculated based on the module size. TBarcode1D_UPCE1. the 2D symbol and the linear symbol are assembled to generate an EAN. and the parameter returns the width of entire rotated EAN. or TBarcode1D_EAN128. Returns the distance between the leading and trailing of the rotated barcode symbol in millimeter. this does not apply to TBarcode1D_EAN128). TBarcode1D_UPCE. If the TextAlignment property isn't set to taCustom. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. TBarcode1D_UPCE0. the leading quiet zone and the trailing quiet zone are included always. the linear symbol is included in the composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA.UCC composite barcode symbol. TBarcode2D_CCB. If the TextAlignment property is set to taCustom. the excess is included in the symbol. TBarcode2D_CCB. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 331 . not the width of the 2D symbol. TBarcode1D_EAN8. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. BarcodeWidth and BarcodeHeight parameters to specify the module size. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode1D_EAN13. and the human readable text exceeds entire EAN. they are included in the barcode symbol. and its human readable text is represented. if its Linear property is set. The value is calculated based on the module size. they are included in the barcode symbol. or TBarcode2D_CCC. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). SymbolHeight: Double. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 332 . BarcodeWidth and BarcodeHeight parameters to specify the module size.UCC composite barcode symbol. Returns the distance between the top and bottom of the rotated barcode symbol in millimeter. not the height of the 2D symbol. TBarcode2D_CCB. You can use one of the Module. and the parameter returns the height of entire rotated EAN. the 2D symbol and the linear symbol are assembled to generate an EAN. the linear symbol is included in the composite barcode symbol.UCC composite barcode symbol.2D Barcode VCL Components User Manual See also the "BarcodeWidth" property. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. the human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode1D_EAN13. The parameter specifies the module width and height. the module is single cell (a suqare shape) used to encode one bit data.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. The parameter specifies the horizonal width of a module. TBarcode1D_UPCE1. Specifies the module size in millimeters. If the human readable text exceeds the linear barcode symbol in vertical direction. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). See diagram: 333 . See diagram: For the TBarcode2D_MaxiCode barcode symbology. or TBarcode1D_EAN128. Also. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "BarcodeHeight" property. or TBarcode2D_CCC component is TBarcode1D_UPCA. and its human readable text is represented. TBarcode1D_UPCE0. TBarcode1D_EAN8. the excess is included too. TBarcode1D_UPCE. the module is single cell (a regular hexagonal shape) used to encode one bit data. it's the center to center horizontal distance between adjacent modules. Module: Double. TBarcode2D_CCB. The parameter specifies the module width.UCC composite barcode symbol. and the barcode symbol will be rotated based on the value of the Orientation property: boLeftRight: 0 degrees boRightLeft: 180 degrees boTopBottom: 270 degrees boBottomTop: 90 degrees If you want to use the -1 degrees. only the BarcodeWidth parameter value will be used to calculate the module size. See also the "Module" property. or TBarcode2D_CCC. Specifies the barcode symbol width (the distance between the beginning and end of the barcode symbol). TrailingQuietZone. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 334 . and they will be rotated as an entirety. TBarcode2D_CCB. if its Linear property is set. TopQuietZone. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): The parameter defaults to -1 if the Angle is not provided. the module is the thinest bar (or space) in the barcode symbol. or TBarcode2D_CCC. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. See diagram: If any one of the BarcodeWidth parameter and BarcodeHeight parameter is provided and it isn't zero. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. Angle: Integer.UCC composite barcode symbol. And use the ShowQuietZone property to specify whether to represent these quiet zones. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). See diagram: For the 2D component TBarcode2D_CCA. the BarcodeHeight parameter value will be ignored. in millimeters. the value of Module parameter will be ignored. BarcodeWidth: Double. please read the ShowQuietZone property about whether or not the quiet zones will be represented) anticlockwise. the module size will be calculated based on the BarcodeWidth parameter value or the BarcodeHeight parmeter value. You can use the LeadingQuietZone. the parameter specifies the module width for entire EAN. TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. the 2D symbol and the linear symbol are assembled to generate an EAN. and BottomQuietZone properties to specify the size of these quiet zones in modules. the 359 degrees can be used instead.UCC composite barcode symbol (including both 2D and linear symbols). if its Linear property is set.2D Barcode VCL Components User Manual For the Stacked 2D barcode symbology and Linear 1D barcode symbology. the leading quiet zone and the trailing quiet zone are included in the barcode symbol. UCC composite barcode symbol not only for the 2D symbol. TBarcode2D_CCB. TBarcode1D_UPCE. TBarcode1D_EAN13. the leading quiet zone and the trailing quiet zone are included always. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Note. If the TextAlignment property is set to taCustom. If the TextAlignment property isn't set to taCustom. and the parameter specifies the width for entire EAN. if the parameter is provided and it isn't zero. this does not apply to TBarcode1D_EAN128).UCC composite barcode symbol in horizontal direction. TBarcode1D_UPCE1. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA.UCC composite barcode symbol. even if the ShowQuietZone property is set to false.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode component. if its Linear property is set. or TBarcode2D_CCC component is TBarcode1D_UPCA. and its human readable text is represented. and the human readable text exceeds entire EAN. the 2D symbol and the linear symbol are assembled to generate an EAN. or TBarcode1D_EAN128. the values in Module and BarcodeHeight parameters will be ignored. the linear symbol is included in the composite barcode symbol. or TBarcode2D_CCC. TBarcode1D_UPCE0. TBarcode1D_EAN8. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included (if they are represented. the module size will be calculated based on the BarcodeWidth value. TBarcode2D_CCB. If both BarcodeHeight and BarcodeWidth parameters aren't 335 . the excess isn't included in the width value. TBarcode1D_UPCE1. BarcodeHeight: Double.2D Barcode VCL Components User Manual provided or they are all zero. the BarcodeHeight parameter value will be ignored. TBarcode2D_CCB. TBarcode2D_CCB. TBarcode1D_EAN8.UCC composite barcode symbol. TBarcode1D_UPCE. or TBarcode2D_CCC component is TBarcode1D_UPCA. or TBarcode2D_CCC. TBarcode1D_UPCE0. and its human readable text is represented. See also the "BarcodeWidth" property. the linear symbol is included in the composite barcode symbol. or TBarcode1D_EAN128. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. TBarcode1D_EAN13. and the parameter specifies the height for entire EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. the barcode symbol width will be determined by the Module parameter value. Specifies the barcode symbol height (the distance between the top and bottom of the barcode symbol). the top quiet zone and the bottom quiet zone are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 336 . the 2D symbol and the linear symbol are assembled to generate an EAN. if its Linear property is set. only the BarcodeWidth parameter value will be used to calculate the module size.UCC composite barcode symbol not only for the 2D symbol. the human readable text and the vertical spacing between the text and linear symbol are included in the height value. in millimeters. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). the return value is the position index of first invalid character. and the vertical resolution will be obtained from your printer. Corresponding to the OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. It defaults to 0 if the VDPI is not provided. If there is any invalid character in the the barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property. Corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur.2D Barcode VCL Components User Manual Note. It defaults to 0 if the HDPI is not provided. only the BarcodeWidth parameter value will be used to calculate the module size.UCC composite barcode symbol. For the TBarcode2D_CCA. For example. If the length of barcode text of the linear symbol is invalid. the return value is zero. the return value 65537 denotes that the first character is invalid character). and the BarcodeWidth parameter isn't provided or it's zero. and TBarcode2D_CCC barcode components. For other barcode components. the BarcodeHeight parameter value will be ignored. and the horizontal resolution will be obtained from your printer. Specifies the horizontal resolution of printer in DPI (dots per inch). it's the position index of first invalid character. if the Linear property is set. if the length of barcode text is invalid.UCC composite barcode symbol. See also the "BarcodeHeight" property. TBarcode2D_CCB. Specifies the vertical resolution of printer in DPI (dots per inch). 337 . If the invalid character is in the linear symbol. the value in Module parameter will be ignored. the return valus is -1. the barcode symbol height will be determined by the Module parameter value. the index 1 denotes that the first character is invalid character. and TBarcode2D_CCC barcode components. TBarcode2D_CCB. if there is any invalid character in the the barcode text. VDPI: Integer. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. the return value is greater than zero. the module size will be calculated based on the BarcodeHeight value. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero. the index 1 denotes that the first character is invalid character). If the invalid character is in the 2D symbol. If the length of barcode text specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property is invalid. the return valus is -1. the 2D symbol and the linear symbol are assembled to generate an EAN. HDPI: Integer. the return valus is 65537. if the parameter is provided and it isn't zero. For other barcode components. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. In general. the index 1 denotes that the first character is invalid character. if the Linear property is set. If the length of barcode text of the 2D symbol is invalid. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. For the TBarcode2D_CCA. Return: If the method succeeds. the return valus is -1 or -65537. the 2D symbol and the linear symbol are assembled to generate an EAN. UCC composite barcode symbol. Angle: Integer = 0. Returns the horizontal width of the rotated barcode symbol in millimeters. they are included in the barcode symbol. virtual. and the linear component's DisplayText property isn't set to dtNone. The value is calculated based on the module size. Module: Double. the 2D symbol and the linear symbol are assembled to generate an EAN. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented).1. VDPI: Integer = 0): Integer. Description: The method returns the actual horizontal width and vertical height of a rotated barcode symbol that is specified by parameters of this method. SymbolWidth. Height. ShowQuietZone: Boolean. TBarcode1D_ENA8. TBarcode1D_UPCA. Parameters: Width: Double. Please use the method between the Printer. overload. even if the ShowQuietZone parameter is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. For the 2D component TBarcode2D_CCA. TBarcode1D_UPCE1.Syntax 2 Returns the actual horizontal width and vertical height of a rotated barcode symbol in millimeters.2 PrintSize . See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 338 . TBarcode2D_CCB. HDPI: Integer = 0. if its Linear property is set. BarcodeWidth and BarcodeHeight parameters to specify the module size. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components.EndDoc methods. TBarcode1D_UPCE0. If its Linear property is set to the TBarcode1D_UPCE. TBarcode1D_EAN13. BarcodeWidth: Double = 0. Syntax: function PrintSize(var Width. SymbolHeight: Double. TBarcode2D_CCB. and the parameter returns the width of entire EAN. or TBarcode1D_EAN128.UCC composite barcode symbol. or TBarcode2D_CCC. The barcode symbol is specified by the parameters of this method. in millimeters. Barcode: string. or TBarcode2D_CCC.13.BeginDoc and Printer.2D Barcode VCL Components User Manual B. You can use one of the Module. the linear symbol is included in the composite barcode symbol. not the width of the 2D symbol. BarcodeHeight: Double = 0. the leading quiet zone and the trailing quiet zone are included always. If the TextAlignment property is set to taCustom. TBarcode1D_UPCE0. this does not apply to TBarcode1D_EAN128). TBarcode1D_EAN13. TBarcode2D_CCB. and the human readable text exceeds entire EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Height: Double. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. Returns the vertical height of the rotated barcode symbol in millimeters. You can use one of the Module. TBarcode1D_UPCE1. or TBarcode2D_CCC component is TBarcode1D_UPCA. If the human readable text exceeds the linear barcode symbol in vertical direction. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 339 . and its human readable text is represented.UCC composite barcode symbol in horizontal direction. TBarcode1D_UPCE. TBarcode1D_EAN8. the excess is included in the symbol. the excess is included too. If the TextAlignment property isn't set to taCustom. The value is calculated based on the module size. they are included in the barcode symbol. or TBarcode1D_EAN128. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). BarcodeWidth and BarcodeHeight parameters to specify the module size.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. the excess is included too. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones 340 . TBarcode2D_CCB. and the parameter returns the height of entire EAN. or TBarcode2D_CCC component is TBarcode1D_UPCA. If the TextAlignment property is set to taCustom. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. or TBarcode2D_CCC. and the human readable text exceeds entire EAN.UCC composite barcode symbol in horizontal direction.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode components. if its Linear property is set. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_UPCE. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): SymbolWidth: Double. BarcodeWidth and BarcodeHeight parameters to specify the module size. The value is calculated based on the module size. If the human readable text exceeds the linear barcode symbol in vertical direction. the leading quiet zone and the trailing quiet zone are included always. TBarcode1D_UPCE0. TBarcode1D_UPCE1. TBarcode2D_CCB. even if the ShowQuietZone parameter is set to false. Returns the distance between the leading and trailing of the rotated barcode symbol in millimeter. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. You can use one of the Module. this does not apply to TBarcode1D_EAN128).UCC composite barcode symbol. TBarcode1D_EAN13. TBarcode1D_EAN8.UCC composite barcode symbol. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. or TBarcode1D_EAN128. and its human readable text is represented. the excess is included in the symbol. the linear symbol is included in the composite barcode symbol. not the height of the 2D symbol. If the TextAlignment property isn't set to taCustom. or TBarcode1D_EAN128. If the TextAlignment property isn't set to taCustom. or TBarcode2D_CCC component is TBarcode1D_UPCA. the excess is included in the symbol. TBarcode2D_CCB. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 341 .UCC composite barcode symbol.UCC composite barcode symbol in horizontal direction. the leading quiet zone and the trailing quiet zone are included always. TBarcode1D_UPCE1. not the width of the 2D symbol. TBarcode1D_UPCE0. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. If the TextAlignment property is set to taCustom.2D Barcode VCL Components User Manual will be represented). the 2D symbol and the linear symbol are assembled to generate an EAN. or TBarcode2D_CCC. if its Linear property is set. TBarcode1D_UPCE. even if the ShowQuietZone parameter is set to false. TBarcode2D_CCB.UCC composite barcode symbol. TBarcode1D_EAN13. they are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. TBarcode1D_EAN8. and its human readable text is represented. the linear symbol is included in the composite barcode symbol. this does not apply to TBarcode1D_EAN128). and the parameter returns the width of entire rotated EAN. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. and the human readable text exceeds entire EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. the 2D symbol and the linear symbol are assembled to generate an EAN. the human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode1D_EAN13. or TBarcode2D_CCC. TBarcode2D_CCB. BarcodeWidth and BarcodeHeight parameters to specify the module size. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode1D_UPCE1. they are included in the barcode symbol. SymbolHeight: Double. TBarcode2D_CCB. if its Linear property is set. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 342 . and the parameter returns the height of entire rotated EAN. or TBarcode1D_EAN128. TBarcode1D_EAN8. the excess is included too.UCC composite barcode symbol. TBarcode1D_UPCE.2D Barcode VCL Components User Manual See also the "BarcodeWidth" property. TBarcode1D_UPCE0. the linear symbol is included in the composite barcode symbol. Returns the distance between the top and bottom of the rotated barcode symbol in millimeter. and its human readable text is represented. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. not the height of the 2D symbol. The value is calculated based on the module size. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). If the human readable text exceeds the linear barcode symbol in vertical direction. You can use one of the Module.UCC composite barcode symbol. and TBarcode2D_CCC barcode components. then be encoded into the barcode symbol. Otherwise. The parameter only specifies the barcode text for the 2D symbol. Specifies whether to include the leading. or use the PrintSize (Syntax 3) overloading method and specify the converted string in its Data parameter. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties. the Barcode parameter is in fact an AnsiString. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. the 2D symbol and the linear symbol are assembled to generate an EAN. if the Linear property is set.UCC composite barcode symbol. even if the ShowQuietZone parameter value is set to false. TrailingQuietZone. By default. if the property AutoCheckDigit is set to true. For the TBarcode2D_CCA. the unicode string will be converted to an ANSI encoding string. TBarcode2D_CCB. UTF-16). If you encode a block of binary (bytes) data. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 343 . Specifies the barcode text. By default. the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component.2D Barcode VCL Components User Manual See also the "BarcodeHeight" property. it is in fact an UnicodeString instead of AnsiString. If you want to use other encoding scheme (for example the UTF-8. trailing. otherwise the check digit can be specified by you in the parameter. please use the PrintSize (Syntax 3) overloading method. the check digit doesn't need to be included in the parameter. Barcode: String. TopQuietZone. it is an ANSI encoding string. or specify the converted string in the Barcode parameter. and BottomQuietZone properties to specify the size of these quiet zones in modules. If the parameter value is set to true. please convert it in theOnEncode event. UTF-16). You can use the LeadingQuietZone. they don't be included. please convert it in theOnEncode event. For Delphi/C++ Builder 2007 or early. the leading quiet zone and the trailing quiet zone will be included always. For Delphi/C++ Builder 2009 or later. these quiet zones are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode component. ShowQuietZone: Boolean. Also you can use the method if you encode a block of binary (bytes) data. It is of type string. if you want to use other encoding scheme (for example the UTF-8. top and bottom quiet zones in barcode symbol. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. TBarcode1D_UPCE1. o r TBarcode1D_EAN128. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. In other words. TBarcode1D_UPCA.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true). the ShowQuietZoneMark property is set to true too). TrailingQuietZone. TBarcode2D_CCB. if the linear component is the TBarcode1D_UPCE. regardless of whether the ShowQuietZone parameter is set to true or false. the 2D symbol and the linear symbol are assembled to generate an EAN.UCC composite barcode symbol. and TBarcode2D_CCC barcode components. and its human readable text is represented and exceeds the beginning or end of entire EAN. the ShowQuietZoneMark property is set to true too). Similarly. TopQuietZone. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. TBarcode1D_UPCE0. TBarcode2D_CCB. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. TBarcode1D_ENA8. or TBarcode1D_EAN13. and BottomQuietZone properties specify the size of quiet zones for entire EAN. TBarcode1D_ENA8. if the linear component is the TBarcode1D_UPCE. TBarcode1D_UPCE0. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. TBarcode1D_UPCE1. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 344 . and for the TBarcode1D_ENA8 component. the leading quiet zone will be included even if the ShowQuietZone parameter is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For all of the TBarcode2D_CCA.2D Barcode VCL Components User Manual For the TBarcode2D_CCA. they are not only for the 2D symbol.UCC composite symbol. if the Linear property is set. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text. the trailing quiet zone will be included even if the ShowQuietZone parameter is set to false. TBarcode1D_EAN13. TBarcode1D_UPCA. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. and TBarcode2D_CCC barcode components. And theLeadingQuietZone. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. regardless of whether the ShowQuietZone parameter is set to true or false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 345 . the parameter specifies the module width for entire EAN. TopQuietZone. the 2D symbol and the linear symbol are assembled to generate an EAN. and BottomQuietZone properties to specify the size of these quiet zones in modules. The parameter specifies the module width and height. You can use the LeadingQuietZone.UCC composite barcode symbol.2D Barcode VCL Components User Manual See also the "ShowQuietZone" property. See diagram: For the TBarcode2D_MaxiCode barcode symbology. the module is single cell (a suqare shape) used to encode one bit data. Module: Double. the module size will be calculated based on the BarcodeWidth parameter value or the BarcodeHeight parmeter value. please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise. the value of Module parameter will be ignored. See also the "Module" property. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. if its Linear property is set. TBarcode2D_CCB. See diagram: If any one of the BarcodeWidth parameter and BarcodeHeight parameter is provided and it isn't zero. the module is single cell (a regular hexagonal shape) used to encode one bit data. For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). Angle: Integer. or TBarcode2D_CCC. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology. the BarcodeHeight parameter value will be ignored. Specifies the module size in millimeters. only the BarcodeWidth parameter value will be used to calculate the module size.UCC composite barcode symbol (including both 2D and linear symbols). The parameter specifies the horizonal width of a module. See diagram: For the 2D component TBarcode2D_CCA. TrailingQuietZone. it's the center to center horizontal distance between adjacent modules. The parameter specifies the module width. Also. And use the ShowQuietZone parameter to specify whether to represent these quiet zones. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. the module is the thinest bar (or space) in the barcode symbol. BarcodeWidth: Double. and they will be rotated as an entirety. or TBarcode1D_EAN128. in millimeters. TBarcode1D_EAN13. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. TBarcode2D_CCB. If the TextAlignment property is set to taCustom. TBarcode1D_UPCE. TBarcode1D_EAN8. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode2D_CCB. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). the linear symbol is included in the composite barcode symbol. and its human readable text is represented. Specifies the barcode symbol width (the distance between the beginning and end of the barcode symbol). If the TextAlignment property isn't set to taCustom. TBarcode1D_UPCE1.UCC composite barcode symbol. and the parameter specifies the width for entire EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode component. even if the ShowQuietZone parameter is set to false.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included (if they are represented.UCC composite barcode symbol. if its Linear property is set. TBarcode1D_UPCE0. this does not apply to 346 . or TBarcode2D_CCC. the 2D symbol and the linear symbol are assembled to generate an EAN. and the human readable text exceeds entire EAN. the excess isn't included in the width value.UCC composite barcode symbol not only for the 2D symbol. TBarcode2D_CCB. the leading quiet zone and the trailing quiet zone are included always. meaning left to right horizontal direction. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. if its Linear property is set. or TBarcode2D_CCC component is TBarcode1D_UPCA. or TBarcode2D_CCC. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): The parameter defaults to 0 if the Angle is not provided.UCC composite barcode symbol in horizontal direction. the leading quiet zone and the trailing quiet zone are included in the barcode symbol. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. if its Linear property is set. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. BarcodeHeight: Double. and the parameter specifies the height for entire EAN.UCC composite barcode symbol not only for the 2D symbol.2D Barcode VCL Components User Manual TBarcode1D_EAN128). the barcode symbol width will be determined by the Module parameter value. See also the "BarcodeWidth" property. if the parameter is provided and it isn't zero. the values in Module and BarcodeHeight parameters will be ignored. the 2D symbol and the linear symbol are assembled to generate an EAN. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). Specifies the barcode symbol height (the distance between the top and bottom of the barcode symbol). the top quiet zone and the bottom quiet zone are included in the barcode symbol. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero.UCC composite barcode symbol. the module size will be calculated based on the BarcodeWidth value. or TBarcode2D_CCC. the BarcodeHeight parameter value will be ignored. the linear symbol is included in the composite barcode symbol. TBarcode2D_CCB. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Note. only the BarcodeWidth parameter value will be used to calculate the module size. in millimeters. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 347 . VDPI: Integer. the return valus is -1. If the length of barcode text of the linear symbol is invalid. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. TBarcode1D_EAN8. TBarcode1D_EAN13. If the length of barcode text of the 2D symbol is invalid. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Note. the value in Module parameter will be ignored. TBarcode1D_UPCE1. 348 .UCC composite barcode symbol. See also the "BarcodeHeight" property. or TBarcode1D_EAN128. TBarcode1D_UPCE. and the BarcodeWidth parameter isn't provided or it's zero. TBarcode1D_UPCE0. the BarcodeHeight parameter value will be ignored. HDPI: Integer. TBarcode2D_CCB. the return valus is 65537. and its human readable text is represented. and the vertical resolution will be obtained from your printer. if the Linear property is set. only the BarcodeWidth parameter value will be used to calculate the module size. or TBarcode2D_CCC component is TBarcode1D_UPCA.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. the return value is zero. the 2D symbol and the linear symbol are assembled to generate an EAN. and the horizontal resolution will be obtained from your printer. if the parameter is provided and it isn't zero. Return: If the method succeeds. and TBarcode2D_CCC barcode components. If the length of barcode text is invalid. TBarcode2D_CCB. the return valus is -1 or -65537. It defaults to 0 if the VDPI is not provided. Specifies the physical horizontal resolution of printer in DPI (dots per inch). For the TBarcode2D_CCA. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero. Specifies the physical vertical resolution of printer in DPI (dots per inch). the human readable text and the vertical spacing between the text and linear symbol are included in the height value. the module size will be calculated based on the BarcodeHeight value. It defaults to 0 if the HDPI is not provided. the barcode symbol height will be determined by the Module parameter value. In general. or TBarcode2D_CCC. Please use the method between the Printer. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character. the 2D symbol and the linear symbol are assembled to generate an EAN. overload.UCC composite barcode symbol. SymbolHeight: Double. TBarcode2D_CCB. or TBarcode1D_EAN128. and the linear component's DisplayText property isn't set to dtNone. ShowQuietZone: Boolean. if there is any invalid character in the the barcode text. they are included in the barcode symbol. virtual. the index 1 denotes that the first character is invalid character. If there is any invalid character in the the barcode text. Data: AnsiString.EndDoc methods. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. If the invalid character is in the 2D symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components.13. Returns the horizontal width of the rotated barcode symbol in millimeters. For the 2D component TBarcode2D_CCA. if the Linear property is set. Height. If the invalid character is in the linear symbol. the index 1 denotes that the first character is invalid character. BarcodeWidth: Double = 0. The value is calculated based on the module size. even if the ShowQuietZone parameter is set to false. BarcodeWidth and BarcodeHeight parameters to specify the module size. TBarcode1D_EAN13. B.2D Barcode VCL Components User Manual For other barcode components. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). the index 1 denotes that the first character is invalid character). the leading quiet zone and the trailing quiet zone are included always. the return value is the position index of first invalid character. For other barcode components.1. and TBarcode2D_CCC barcode components. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 349 . SymbolWidth.BeginDoc and Printer. TBarcode2D_CCB. For the TBarcode2D_CCA. the return value is greater than zero. Parameters: Width: Double. For example. the return valus is -1. HDPI: Integer = 0. VDPI: Integer = 0): Integer. TBarcode1D_ENA8. Syntax: function PrintSize(var Width. Description: The method returns the actual horizontal width and vertical height of a rotated barcode symbol that is specified by parameters of this method. the return value 65537 denotes that the first character is invalid character). You can use one of the Module. BarcodeHeight: Double = 0. TBarcode1D_UPCE1. TBarcode1D_UPCA. Angle: Integer = 0. Module: Double.Syntax 3 Returns the actual horizontal width and vertical height of a rotated barcode symbol in millimeters. it's the position index of first invalid character. If its Linear property is set to the TBarcode1D_UPCE.3 PrintSize . TBarcode1D_UPCE0. in millimeters. The barcode symbol is specified by the parameters of this method. if the length of barcode text is invalid. TBarcode2D_CCB. Returns the vertical height of the rotated barcode symbol in millimeters.UCC composite barcode symbol in horizontal direction. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. TBarcode1D_UPCE0. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). the 2D symbol and the linear symbol are assembled to generate an EAN. or TBarcode1D_EAN128. they are included in the barcode symbol. If the TextAlignment property isn't set to taCustom. You can use one of the Module.UCC composite barcode symbol. or TBarcode2D_CCC component is TBarcode1D_UPCA. The value is calculated based on the module size. If the human readable text exceeds the linear barcode symbol in vertical direction. and its human readable text is represented. the linear symbol is included in the composite barcode symbol. TBarcode2D_CCB. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 350 . TBarcode1D_UPCE1.UCC composite barcode symbol. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. the excess is included too. if its Linear property is set. the excess is included in the symbol. TBarcode1D_EAN8. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. If the TextAlignment property is set to taCustom. TBarcode1D_EAN13. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Height: Double. and the parameter returns the width of entire EAN. not the width of the 2D symbol. BarcodeWidth and BarcodeHeight parameters to specify the module size.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. TBarcode1D_UPCE. or TBarcode2D_CCC. and the human readable text exceeds entire EAN. this does not apply to TBarcode1D_EAN128). and its human readable text is represented.UCC composite barcode symbol in horizontal direction. TBarcode1D_UPCE0. TBarcode1D_EAN13. If the TextAlignment property is set to taCustom. the excess is included too. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 351 . or TBarcode1D_EAN128.UCC composite barcode symbol. the leading quiet zone and the trailing quiet zone are included always. If the human readable text exceeds the linear barcode symbol in vertical direction. TBarcode1D_UPCE1.UCC composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. or TBarcode2D_CCC component is TBarcode1D_UPCA. even if the ShowQuietZone parameter is set to false. If the TextAlignment property isn't set to taCustom. or TBarcode2D_CCC. if its Linear property is set. and the parameter returns the height of entire EAN. The human readable text and the vertical spacing between the text and linear symbol are included in the symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. the excess is included in the symbol. TBarcode1D_UPCE. this does not apply to TBarcode1D_EAN128). TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode2D_CCB. the linear symbol is included in the composite barcode symbol.2D Barcode VCL Components User Manual For the TBarcode2D_Code16K barcode components. and the human readable text exceeds entire EAN. not the height of the 2D symbol. TBarcode1D_EAN8. and the human readable text exceeds entire EAN. You can use one of the Module. the 2D symbol and the linear symbol are assembled to generate an EAN. or TBarcode1D_EAN128. not the width of the 2D symbol. The value is calculated based on the module size. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). TBarcode1D_UPCE1. TBarcode1D_EAN13. and the parameter returns the width of entire rotated EAN. TBarcode2D_CCB. or TBarcode2D_CCC component is TBarcode1D_UPCA. TBarcode1D_UPCE. the linear symbol is included in the composite barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 352 . if its Linear property is set.UCC composite barcode symbol. or TBarcode2D_CCC. Returns the distance between the leading and trailing of the rotated barcode symbol in millimeter. this does not apply to TBarcode1D_EAN128). If the TextAlignment property isn't set to taCustom. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. the excess is included in the symbol.2D Barcode VCL Components User Manual SymbolWidth: Double. If the TextAlignment property is set to taCustom. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. BarcodeWidth and BarcodeHeight parameters to specify the module size. TBarcode2D_CCB. TBarcode1D_EAN8.UCC composite barcode symbol in horizontal direction. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode components. they are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. and its human readable text is represented. even if the ShowQuietZone parameter is set to false. the leading quiet zone and the trailing quiet zone are included always. TBarcode1D_UPCE0.UCC composite barcode symbol. 2D Barcode VCL Components User Manual See also the "BarcodeWidth" property. the linear symbol is included in the composite barcode symbol. or TBarcode2D_CCC. BarcodeWidth and BarcodeHeight parameters to specify the module size. the 2D symbol and the linear symbol are assembled to generate an EAN. they are included in the barcode symbol. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. not the height of the 2D symbol. if its Linear property is set.UCC composite barcode symbol.UCC composite barcode symbol. You can use one of the Module. TBarcode2D_CCB. If the quiet zones are represented (please read the ShowQuietZone parameter section below about whether or not the quiet zones will be represented). Returns the distance between the top and bottom of the rotated barcode symbol in millimeter. The value is calculated based on the module size. and the parameter returns the height of entire rotated EAN. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 353 . SymbolHeight: Double. For the TBarcode2D_RSS14 and TBarcode2D_RSSLimited components. please use the PrintSize (Syntax 2) overloading method. TBarcode2D_CCB. 354 . TBarcode1D_UPCE1. For the Delphi/C++ Builder 2009 or later. otherwise the check digit can be specified by you in the parameter. For the TBarcode2D_CCA.UCC composite barcode symbol. The parameter only specifies the barcode text for the 2D symbol. If you encode a block of binary (bytes) data into a barcode symbol under Delphi/C++ Builder 2007 or early. and TBarcode2D_CCC barcode components. the excess is included too. Data: AnsiString.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. the barcode text of linear symbol is specified by the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property of the linear component. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "BarcodeHeight" property. if the Linear property is set. the 2D symbol and the linear symbol are assembled to generate an EAN. or TBarcode1D_EAN128. See also the "Barcode" and "Data" (only for Delphi/C++ Builder 2009 or later) properties. TBarcode2D_CCB. Specifies the barcode text. if the property AutoCheckDigit is set to true. Or specifies the barcode text in AnsiString format. TBarcode1D_UPCE. TBarcode1D_EAN13. you can use the method if you encode a block of binary (bytes) data into a barcode symbol. It is of type AnsiString. the human readable text and the vertical spacing between the text and linear symbol are included in the symbol. TBarcode1D_EAN8. the check digit doesn't need to be included in the parameter. TBarcode1D_UPCE0. and its human readable text is represented. If the human readable text exceeds the linear barcode symbol in vertical direction. or TBarcode2D_CCC component is TBarcode1D_UPCA. If the parameter value is set to true. if its right quiet zone mark is represented (the TextAlignment property's value is set to taCustom. top and bottom quiet zones in barcode symbol. You can use the LeadingQuietZone. the leading quiet zone and the trailing quiet zone will be included always. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_CCA and TBarcode2D_CCB barcode components. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode component.2D Barcode VCL Components User Manual ShowQuietZone: Boolean.UCC composite barcode symbol.UCC composite symbol. the leading quiet zone will be included even if the ShowQuietZone parameter is set to false. these quiet zones are included in the barcode symbol. and for the TBarcode1D_ENA8 component. even if the ShowQuietZone parameter value is set to false. TBarcode1D_ENA8. they don't be included. if the Linear property is set. TBarcode1D_UPCE0. Specifies whether to include the leading. and the minimum width of trailing quiet zone will be used if the value of TrailingQuietZone property is less than it. the ShowQuietZoneMark property is set to true too). TBarcode2D_CCB. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_UPCE1. the minimum width of leading quiet zone is the distance between the left side of the left quiet zone mark of the linear symbol and the first bar of the 2D symbol. In other words. and BottomQuietZone properties to specify the size of these quiet zones in modules. the leading and trailing quiet zoens will be automatically extanded to cover the left and right quiet zone marks. TopQuietZone. regardless of whether the ShowQuietZone parameter is set to true or false. the minimum width of trailing quiet zone is the distance between the last bar of the 2D symbol and the right side of the right quiet zone mark of the linear symbol. TBarcode1D_UPCA. and TBarcode2D_CCC barcode components. and its left quiet zone mark is represented (the TextAlignment property's value is set to taCustom. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_CCA. or TBarcode1D_EAN13. TopQuietZone. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 355 . TrailingQuietZone. And theLeadingQuietZone. Otherwise. they are not only for the 2D symbol. the trailing quiet zone will be included even if the ShowQuietZone parameter is set to false. and the minimum width of leading quiet zone will be used if the value of LeadingQuietZone property is less than it. Similarly. TrailingQuietZone. and for the TBarcode1D_ENA8 and TBarcode1D_EAN13 components. and BottomQuietZone properties specify the size of quiet zones for entire EAN. if the linear component is the TBarcode1D_UPCE. the ShowQuietZoneMark property is set to true too). trailing. Specifies the module size in millimeters. it's the center to center horizontal distance between adjacent modules. TBarcode1D_ENA8. See diagram: 356 . and TBarcode2D_CCC barcode components. or TBarcode2D_CCC. the module is single cell (a regular hexagonal shape) used to encode one bit data. The parameter specifies the module width. TBarcode1D_UPCA. The parameter specifies the module width and height. and its human readable text is represented and exceeds the beginning or end of entire EAN. See diagram: For the TBarcode2D_MaxiCode barcode symbology. the module is the thinest bar (or space) in the barcode symbol. TBarcode2D_CCB. Also. TBarcode1D_UPCE1.UCC composite barcode symbol. TBarcode2D_CCB. TBarcode1D_UPCE0. o r TBarcode1D_EAN128. the 2D symbol and the linear symbol are assembled to generate an EAN. if the linear component is the TBarcode1D_UPCE.2D Barcode VCL Components User Manual For all of the TBarcode2D_CCA. the module is single cell (a suqare shape) used to encode one bit data. the leading and trailing quiet zoens will be automatically extanded to cover the human readable text.UCC barcode symbol (the leading and trailing quiet zones are included if the ShowQuietZone parameter is set to true). For the Matrix 2D barcode symbology (excluding the TBarcode2D_MaxiCode barcode symbology). Module: Double. the parameter specifies the module width for entire EAN. TBarcode1D_EAN13. See diagram: For the Stacked 2D barcode symbology and Linear 1D barcode symbology. if its Linear property is set. regardless of whether the ShowQuietZone parameter is set to true or false. The parameter specifies the horizonal width of a module.UCC composite barcode symbol (including both 2D and linear symbols). See diagram: For the 2D component TBarcode2D_CCA. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): See also the "ShowQuietZone" property. and the parameter specifies the width for entire EAN.UCC composite barcode symbol.2D Barcode VCL Components User Manual If any one of the BarcodeWidth parameter and BarcodeHeight parameter is provided and it isn't zero. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the TBarcode2D_Code16K barcode component. please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented) anticlockwise. And use the ShowQuietZone parameter to specify whether to represent these quiet zones. meaning left to right horizontal direction. only the BarcodeWidth parameter value will be used to calculate the module size. the 2D symbol and the linear symbol are assembled to generate an EAN. the linear symbol is included in the composite barcode symbol. or TBarcode2D_CCC. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. See also the "Module" property. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. and BottomQuietZone properties to specify the size of these quiet zones in modules.UCC composite barcode symbol. the leading quiet zone and the trailing quiet zone are included always. in millimeters. BarcodeWidth: Double. or TBarcode2D_CCC. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): For the 2D component TBarcode2D_CCA. TopQuietZone. TBarcode2D_CCB. and they will be rotated as an entirety. the leading quiet zone and the trailing quiet zone are included in the barcode symbol.UCC composite barcode symbol not only for the 357 . TBarcode2D_CCB. the module size will be calculated based on the BarcodeWidth parameter value or the BarcodeHeight parmeter value. Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are represented. You can use the LeadingQuietZone. the value of Module parameter will be ignored. Angle: Integer. even if the ShowQuietZone parameter is set to false. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): The parameter defaults to 0 if the Angle is not provided. if its Linear property is set. the 2D symbol and the linear symbol are assembled to generate an EAN. Specifies the barcode symbol width (the distance between the beginning and end of the barcode symbol). if its Linear property is set. TrailingQuietZone. the BarcodeHeight parameter value will be ignored. if the parameter is provided and it isn't zero. Specifies the barcode symbol height (the distance between the top and bottom of the barcode symbol). TBarcode2D_CCB. only the BarcodeWidth parameter value will be used to calculate the module size. TBarcode1D_UPCE. If the TextAlignment property isn't set to taCustom. the module size will be calculated based on the BarcodeWidth value. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero. BarcodeHeight: Double. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Note. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. and the human readable text exceeds entire EAN. the top quiet zone and the bottom quiet zone are included in the barcode symbol. this does not apply to TBarcode1D_EAN128). See also the "BarcodeWidth" property. If the quiet zones are represented (please read the ShowQuietZone parameter section above about whether or not the quiet zones will be represented). or TBarcode1D_EAN128. the barcode symbol width will be determined by the Module parameter value. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): 358 . TBarcode1D_EAN13. If the TextAlignment property is set to taCustom. the values in Module and BarcodeHeight parameters will be ignored.UCC composite barcode symbol in horizontal direction. TBarcode1D_UPCE1. the excess isn't included in the width value.2D Barcode VCL Components User Manual 2D symbol. or TBarcode2D_CCC component is TBarcode1D_UPCA. the BarcodeHeight parameter value will be ignored. TBarcode1D_EAN8. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. TBarcode1D_UPCE0. in millimeters. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included (if they are represented. and its human readable text is represented. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): When the linear component of TBarcode2D_CCA. TBarcode1D_UPCE1. TBarcode1D_UPCE. or TBarcode2D_CCC. TBarcode1D_EAN13. and the BarcodeWidth parameter isn't provided or it's zero. TBarcode2D_CCB. the human readable text and the vertical spacing between the text and linear symbol are included in the height value. if its Linear property is set. the linear symbol is included in the composite barcode symbol.2D Barcode VCL Components User Manual For the 2D component TBarcode2D_CCA. if the parameter is provided and it isn't zero. the BarcodeHeight parameter value will be ignored.UCC composite barcode symbol. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero. the module size will be calculated based on the BarcodeHeight value. TBarcode2D_CCB. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero. the value in Module parameter will be ignored. or TBarcode2D_CCC component is TBarcode1D_UPCA. 359 . the 2D symbol and the linear symbol are assembled to generate an EAN. only the BarcodeWidth parameter value will be used to calculate the module size. TBarcode1D_UPCE0. See diagram (the quiet zones are drawn in clSilver color in order to accentuate them): Note. and its human readable text is represented. TBarcode1D_EAN8. and the parameter specifies the height for entire EAN. the barcode symbol height will be determined by the Module parameter value. or TBarcode1D_EAN128.UCC composite barcode symbol not only for the 2D symbol. in pixels. TQRImage. TBarcode2D_CCB. Description: The method returns the width and height of the barcode symbol that's represented in the TImage. If the length of barcode text of the linear symbol is invalid. virtual. Returns the horizontal width of the rotated barcode symbol that's displyed in the TImage. the 2D symbol and the linear symbol are assembled to generate an EAN. the index 1 denotes that the first character is invalid character.14 Size Returns the height and width of specified barcode symbol. if the Linear property is set. or TQRGzImage control specified by the Image property. SymbolWidth. if the Linear property is set. For other barcode components. and TBarcode2D_CCC barcode components. the return value is greater than zero. B. If the length of barcode text is invalid. SymbolHeight: Integer): Boolean. the return valus is -1 or -65537. VDPI: Integer. TQRImage. if there is any invalid character in the the barcode text. If there is any invalid character in the the barcode text. the index 1 denotes that the first character is invalid character).UCC composite barcode symbol. the return valus is -1. It defaults to 0 if the HDPI is not provided. in pixels. TBarcode2D_CCB. the return valus is 65537. For example. the return value 65537 denotes that the first character is invalid character). and TBarcode2D_CCC barcode components. Note: The overloading method is available only for the Delphi/C++ Builder 2009 or later. Parameters: Width: Integer. HDPI: Integer. If the invalid character is in the linear symbol. If the invalid character is in the 2D symbol. the 2D symbol and the linear symbol are assembled to generate an EAN.2D Barcode VCL Components User Manual See also the "BarcodeHeight" property. For other barcode components. It defaults to 0 if the VDPI is not provided. If the length of barcode text of the 2D symbol is invalid. and the horizontal resolution will be obtained from your printer. if the length of barcode text is invalid. If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 360 . in pixels. and the vertical resolution will be obtained from your printer. it's the position index of first invalid character. TQRImage. Specifies the physical horizontal resolution of printer in DPI (dots per inch). Syntax: function Size(var Width. Height. the return value is the position index of first invalid character. the index 1 denotes that the first character is invalid character. that's represented in the TImage. or TQRGzImage control specified by the Image property. Return: If the method succeeds. the 17th bit of the return value is set to 1 (the difference between the return value and 65536 is the position index of first invalid character. Specifies the physical vertical resolution of printer in DPI (dots per inch). For the TBarcode2D_CCA.1. the return value is zero. In general. they are included in the barcode symbol. For the TBarcode2D_CCA. or TQRGzImage control specified in the Image property. the return valus is -1. the 17th bit of the return value is set to 0 (the return value is the position index of first invalid character.UCC composite barcode symbol. the linear symbol is included in the barcode symbol.UCC composite barcode symbol. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented.2D Barcode VCL Components User Manual If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). the 2D symbol and the linear symbol are assembled to generate an EAN. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 361 . See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. or TBarcode2D_CCC.UCC composite barcode symbol in horizontal direction. TBarcode2D_CCB. this does not apply to TBarcode1D_EAN128). the excess is included too. TBarcode2D_CCB. The human readable text and the vertical spacing between the text and linear symbol are included in the barcode symbol. and its human readable text is represented. and the human readable text exceeds entire EAN. If the TextAlignment property isn't set to taCustom. the leading quiet zone and the trailing quiet zone are included always. they are included. TBarcode1D_UPCE. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode components. or TBarcode1D_EAN128. or TBarcode2D_CCC component is TBarcode1D_UPCA. The parameter returns the width of entire EAN. if its Linear property is set.UCC composite barcode symbol. If the human readable text exceeds the linear barcode symbol in vertical direction. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. If the TextAlignment property is set to taCustom. namely. TBarcode1D_EAN13. even if the ShowQuietZone property is set to false. TBarcode1D_EAN8. the excess is included in the barcode symbol. TBarcode1D_UPCE1. TBarcode1D_UPCE0. the linear symbol is included in the barcode symbol. TBarcode2D_CCB. TQRImage. the leading quiet zone and the trailing quiet zone are included always. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode components. or TQRGzImage control that's specified by the Image property. or TBarcode2D_CCC components. the 2D symbol and the linear symbol are assembled to generate an EAN. it's same to the BarcodeHieght property value. even if the ShowQuietZone property is set to false. then the result will be returned. the LeftMargin property value. or TQRGzImage control that's specified by the Image property. If the BarcodeHeight property value is equal to zero. the LeftMargin property value. if its Linear property is set. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA. then the result will be returned. When the Orientation property is set to "boTopBottom" or "boBottomTop": If the BarcodeHeight property value is greater than zero. in pixels. or TQRGzImage control specified in the Image property. or TQRGzImage control that's specified by the Image property. the right margin) will be subtracted from the width of TImage. Height: Integer. If the BarcodeWidth property value is equal to zero.e. or TQRGzImage control that's specified by the Image property. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented).UCC composite barcode symbol.UCC composite barcode symbol. if the Orientation property is set to "boTopBottom" or "boBottomTop". they are included. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): 362 . then the result will be returned. the LeftMargin property value will be subtracted from the width of TImage. When the Stretch property is set to true: When the Orientation property is set to "boLeftRight" or "boRightLeft": If the BarcodeWidth property value is greater than zero. the LeftMargin property value will be subtracted from the width of TImage. If the BarcodeWidth property value is less than zero. If the BarcodeHeight property value is less than zero. the right margin) will be subtracted from the width of TImage. TQRImage. then the result will be returned. Returns the vertical height of the rotated barcode symbol that's displyed in the TImage.e. it's calculated based on the Module property value. namely. and the absolute value of the negative BarcodeWidth property value (i. TQRImage. The parameter returns the height of entire EAN. and the absolute value of the negative BarcodeHeight property value (i. TQRImage. it's same to the BarcodeWidth property value.2D Barcode VCL Components User Manual The value of Width is calculated using following method: When the Stretch property is set to false. TQRImage. the TopMargin property value will be subtracted from the height of TImage. and the human readable text exceeds entire EAN. the excess is included too. or TQRGzImage control that's specified by the Image property. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. and its human readable text is represented. it's same to the BarcodeHeight property value. TQRImage. it's calculated based on the Module property value. the TopMargin property value. If the human readable text exceeds the linear barcode symbol in vertical direction. or TQRGzImage control specified in the Image property. If the TextAlignment property isn't set to taCustom. TBarcode1D_EAN13. TBarcode1D_UPCE0. and the absolute value of the negative BarcodeWidth property value (i. in pixels. then the result will be returned. If the TextAlignment property is set to taCustom. TBarcode1D_EAN8. or TQRGzImage control that's specified by the Image property.2D Barcode VCL Components User Manual When the linear component of TBarcode2D_CCA. or TBarcode1D_EAN128. TQRImage. TBarcode1D_UPCE1. then the result will be returned. the bottom margin) will be subtracted from the height of TImage. the excess is included in the barcode symbol. SymbolWidth: Integer. TBarcode2D_CCB. The human readable text and the vertical spacing between the text and linear symbol are included in the barcode symbol. then the result will be returned. then the result will be returned. See diagram (the SpaceColor property 363 . When the Stretch property is set to true: When the Orientation property is set to "boLeftRight" or "boRightLeft": If the BarcodeHeight property value is greater than zero. or TBarcode2D_CCC component is TBarcode1D_UPCA. If the BarcodeWidth property value is less than zero.e. this does not apply to TBarcode1D_EAN128). If the BarcodeHeight property value is equal to zero. When the Orientation property is set to "boTopBottom" or "boBottomTop": If the BarcodeWidth property value is greater than zero. TQRImage. TBarcode1D_UPCE. If the BarcodeWidth property value is equal to zero. the TopMargin property value will be subtracted from the height of TImage. and the absolute value of the negative BarcodeHeight property value (i. or TQRGzImage control that's specified by the Image property. TQRImage. the bottom margin) will be subtracted from the height of TImage. If the BarcodeHeight property value is less than zero. it's same to the BarcodeWidth property value. Returns the distance between the leading and trailing of the rotated barcode symbol that's displyed in the TImage. TQRImage. the TopMargin property value. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The value of Height is calculated using following method: When the Stretch property is set to false.e.UCC composite barcode symbol in horizontal direction. or TQRGzImage control that's specified by the Image property. namely. the leading quiet zone and the trailing quiet zone are included. TBarcode1D_EAN13.2D Barcode VCL Components User Manual value is set to clSilver in order to accentuate the quiet zones): If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). or TBarcode2D_CCC. the 2D symbol and the linear symbol are assembled to generate an EAN. TBarcode1D_UPCE1. or TBarcode2D_CCC component is TBarcode1D_UPCA. The parameter returns the width of entire EAN.UCC composite barcode symbol.UCC composite barcode symbol in horizontal direction. TBarcode2D_CCB. TBarcode1D_EAN8. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The value of SymbolWidth is calculated using following method: 364 . If the TextAlignment property isn't set to taCustom. and its human readable text is represented. this does not apply to TBarcode1D_EAN128). even if the ShowQuietZone property is set to false. TBarcode2D_CCB. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA.UCC composite barcode symbol. or TBarcode1D_EAN128. the linear symbol is included in the barcode symbol. the excess is included in the barcode symbol. the width of quiet zone marks and their horizontal spacing (LeftQuietZoneSpacing and RightQuietZoneSpacing) are included too (if they are represented. the leading quiet zone and the trailing quiet zone are included always. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the TBarcode2D_Code16K barcode components. If the TextAlignment property is set to taCustom. TBarcode1D_UPCE. if its Linear property is set. and the human readable text exceeds entire EAN. TBarcode1D_UPCE0. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): If the quiet zones are represented (please read the ShowQuietZone property about whether or not the quiet zones will be represented). the right margin) will be subtracted from the width of TImage. If the BarcodeWidth property value is equal to zero: When the Orientation property is set to "boLeftRight" or "boRightLeft". then the result will be returned. if it's Linear property is set. it's calculated based on the Module property value.UCC composite barcode symbol. TBarcode2D_CCB. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): For the 2D component TBarcode2D_CCA.2D Barcode VCL Components User Manual When the Stretch property is set to false. Returns the distance between the top and bottom of the rotated barcode symbol that's displyed in the TImage.e. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): When the linear component of TBarcode2D_CCA. the TopMargin property value. TQRImage. or TQRGzImage control that's specified by the Image property. then the result will be returned. the 2D symbol and the linear symbol are assembled to generate an EAN. TQRImage. See also the "BarcodeWidth" property. then the result will be returned. the TopMargin property value will be subtracted from the height of TImage. the linear symbol is included in the barcode symbol. or TQRGzImage control specified in the Image property. When the Orientation property is set to "boTopBottom" or "boBottomTop". SymbolHeight: Integer. or TQRGzImage control that's specified by the Image property. When the Orientation property is set to "boTopBottom" or "boBottomTop". the bottom margin) will be subtracted from the height of TImage.UCC composite barcode symbol. and the absolute value of the negative BarcodeWidth property value (i. it's same to the BarcodeWidth property value. and the absolute value of the negative BarcodeWidth property value (i. TQRImage. TQRImage. in pixels. or TBarcode2D_CCC component is TBarcode1D_UPCA. the top quiet zone and the bottom quiet zone are included. TBarcode2D_CCB. then the result will be returned. If the BarcodeWidth property value is less than zero: When the Orientation property is set to "boLeftRight" or "boRightLeft". or TBarcode2D_CCC. When the Stretch property is set to true: If the BarcodeWidth property value is greater than zero. namely. the LeftMargin property value. TQRImage. or TQRGzImage control that's specified by the Image property.e. the LeftMargin property value will be subtracted from the width of TImage. or TQRGzImage control that's specified by the Image property. 365 . The parameter returns the height of entire EAN. Note: 366 . the return value is true. or there is any invalid character in the Data property value. corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event will occur. TQRImage. then the result will be returned. When the Stretch property is set to true: If the BarcodeHeight property value is greater than zero. See also the "BarcodeHeight" property. When the Orientation property is set to "boTopBottom" or "boBottomTop". Corresponding to the OnInvalidLength event or the OnInvalidChar event will occur. or TQRGzImage control that's specified by the Image property. TBarcode1D_UPCE0. or there is any invalid character in the Barcode property value. If there is any invalid character in the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value. and the absolute value of the negative BarcodeHeight property value (i. the bottom margin) will be subtracted from the height of TImage. the return value is false too. and the absolute value of the negative BarcodeHeight property value (i. it's same to the BarcodeHeight property value. then the result will be returned. TBarcode1D_EAN13. it's calculated based on the Module property value. the return value is false too. TBarcode2D_CCB. TQRImage. See diagram (the SpaceColor property value is set to clSilver in order to accentuate the quiet zones): The value of SymbolHeight is calculated using following method: When the Stretch property is set to false. and TBarcode2D_CCC components. the right margin) will be subtracted from the width of TImage. The human readable text and the vertical spacing between the text and linear symbol are included in the barcode symbol. if the Linear property is set. Corresponding to the OnInvalidDataLength event or the OnInvalidDataChar event will occur. If you use the Data property to specify the barcode text. when the length of Data property value is invalid. and its human readable text is represented. TQRImage. or TQRGzImage control that's specified by Image property.e. if you use the Barcode property to specify the barcode text. then the result will be returned.e. Corresponding to the OnInvalidLength event or the OnInvalidChar event will occur. When the Orientation property is set to "boTopBottom" or "boBottomTop". and the length of its Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value is invalid. the TopMargin property value. the TopMargin property value will be subtracted from the height of TImage. the return value is false. Return: If the method succeeds. If the human readable text exceeds the linear barcode symbol in vertical direction. or TBarcode1D_EAN128. If the BarcodeHeight property value is less than zero: When the Orientation property is set to "boLeftRight" or "boRightLeft". If the BarcodeHeight property value is equal to zero: When the Orientation property is set to "boLeftRight" or "boRightLeft". or TQRGzImage control that's specified by the Image property. TQRImage. For Delphi/C++ Builder 2009 or later. the LeftMargin property value will be subtracted from the width of TImage.2D Barcode VCL Components User Manual TBarcode1D_UPCE. if the length of Barcode property value is invalid. For the Delphi/C++ Builder 2007 or early. TBarcode1D_UPCE1. For the TBarcode2D_CCA. the return value is false. the excess is included too. the return value is false. or TQRGzImage control that's specified by the Image property. the LeftMargin property value. when the length of Barcode property value is invalid. TBarcode1D_EAN8. or there is any invalid character in the Barcode property value. corresponding to the OnInvalidLength or OnInvalidDataLength (only for Delphi/C++ Builder 2009 or later) event will occur. then the result will be returned. Syntax: procedure Assign(Source: TPresistent). override. The TLogo2D components added at design time are created automatically. Description: Call Create to instantiate a TLogo2D object at runtime. It is the component that is responsible for freeing the TLogo2D component instance.1 Assign Copies a TLogo2D component from another TLogo2D component. override. if the Linear property is set to one of TBarcode1D_UPCA. TBarcode1D_EAN13. TBarcode1D_EAN8. Syntax: constructor Create(Owner: TComponent). and TBarcode1D_EAN128 components. Specifies the source object.2. Description: If the Source parameter is an object created from a TSave2D component class.2. Assign copies all property values and event handles. and the Image property is not set. Description: 367 . TBarcode1D_UPCE1. and TBarcode2D_CCC 2D components. Parameters: Owner: TComponent. Syntax: destructor Destroy. It becomes the value of the Owner property. the human readable text of linear component will not be consulted.2 Create Creates and initializes a TLogo2D component. If Source is any other type of object. Parameters: Source: TPersistent. B.2D Barcode VCL Components User Manual For the TBarcode2D_CCA. an ELogo2DError exception occurs.2 TLogo2D B. B. override. B. TBarcode2D_CCB. this is the form. Typically.2. TBarcode1D_UPCE0.3 Destroy Disposes of the instance of the TLogo2D object. TBarcode1D_UPCE. override. Syntax: constructor Create(Owner: TComponent). Parameters: Owner: TComponent. an ESave2DError exception occurs. B. Description: If the Source parameter is an object created from a subclass of TSave2D component class. this is the form. Specifies the source object. B. If Source is any other type of object.1 Assign Copies an image saving component from another image saving component. override. Parameters: Source: TPersistent. Assign copies all property values and event handles.3 TSave2D B.3. It becomes the value of the Owner property. Instead. B.2D Barcode VCL Components User Manual Destroy is the destructor for a TLogo2D object. The Free verifies that the image saving object is not nil before it calls Destroy. Image saving components added at design time are created automatically. Syntax: destructor Destroy.2 Create Creates and initializes an image saving component. Typically. call Free. and the class is same to current image saving component class. override. Description: Call Create to instantiate an image saving object at runtime.3.3 Destroy Disposes of the instance of the image saving object. Do not call the destructor directly in an application. 368 .3. Syntax: procedure Assign(Source: TPresistent). It is the component that is responsible for freeing the image saving component instance. ERROR_INVALID_BARCODE (2) : The method invocation failed. An OnSave event will occur before save the barcode symbol to picture file. Or because there is any invalid character in the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value. Instead.UCC composite barcode symbol. the TImage component isn't required in the Image property of the barcode component. call Free. The barcode component is specified by the Barcode2D property. and TBarcode2D_CCC barcode components.4 Save Save current barcode symbol in the barcode component to an image file. Description: The method saves the barcode symbol to the image file. or the access is denied. TBarcode2D_CCB. Parameters: FilePath: String. the 2D symbol and the linear symbol are assembled to generate an EAN. corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event of barcode component will occur.3. Syntax: function Save(FilePath: string): Integer. virtual. Perhaps the file system fulls. if the Linear property is set. Also. Do not call the destructor directly in an application. The barcode symbol is defined in the barcode component that's specified by the Barcode2D property. Because the length of Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value is invalid in the barcode component. For the TBarcode2D_CCA. The Free verifies that the image saving object is not nil before it calls Destroy. ERROR_WRITE_PICTURE (3) : The method invocation failed because the picture file write error. Only the 2D portion will be saved in the image file now. corresponding to the OnInvalidLength or OnInvalidDatalength (only for Delphi/C++ Builder 2009 or later) event of barcode component will occur. ERROR_NO_BARCODE_COMPONENT (1) : The method invocation failed because the Barcode2D property is not link to a barcode component. Return: This method can return one of these values (these consts are defined in the pSave2D unit): ERROR_OK (0): The method invocation succeeded. B.2D Barcode VCL Components User Manual Description: Destroy is the destructor for an image saving object. 369 . Specifies the file path and name for the image file. And an OnSaved event will occur after the barcode symbol is saved. TBarcode2D_CCB. Write an OnDrawBarcode event handler to modify the barcode symbol after it was represented.1 TBarcode2D C. Parameters: Sender: TObject.2 OnDrawBarcode Occurs after representing the barcode symbol. The event of TBarcode2D_CCA. Note: For the TBarcode2D_CCA. WMirror: Boolean. 370 . Events C. WTopInPixels: Integer. TBarcode2D_CCB. WAnsiBarcode: AnsiString. only the OnChange event of linear component occurs.1 OnChange Occurs when the value of Barcode or Data (only for Delphi/C++ Builder 2009 or later) property is changed. and TBarcode2D_CCC components doesn't occur. WLeftInPixels: Integer.2D Barcode VCL Components User Manual Annex C. WQuietZoneWidthInModules_Top: Integer. WBarcode: string. Syntax: type { Defined in the pBarcode2D unit } TUserWorkArea = record WCanvas: TCanvas. Syntax: property OnChange: TNotifyEvent. It is the object whose event handler is called. WBarcodeLength: Integer.1. and TBarcode2D_CCC 2D barcode components. WAngle: Integer. WModule: Integer. C. WBarColor: TColor. if the properties' value of the linear component is changed. WQuietZoneWidthInModules_Left: Integer. WQuietZoneWidthInModules_Right: Integer.1. WShowQuietZone: Boolean. WSpaceColor: TColor. Draw. GetCheckSum (syntax 1) (only TBarcode2D_PDF417). GetParity (syntax 1) ( on l y TBarcode2D_QRCode) . it's in ANSI encoding scheme. WSymbolZoneHeightInModules: Integer.3 OnEncode Occurs when the value of Barcode property is changed and the component is updating its barcode symbol. var Data: AnsiString. Canvas: TCanvas. or GetCheckSum (syntax 1) (only TBarcode2D_MicroPDF417) method is called. 371 . or PrintSize (syntax 1) method is called or a component is updating its barcode symbol. Canvas: TCanvas. WTotalWidthInPixels: Integer. WAlpha: Double. Print (syntax 1). PrintSize. C. Print. Barcode: String. PrintSize (syntax 2). GetParity (only TBarcode2D_QRCode) . Size. The target canvas. WOrgin: TPoint. The initial value is the barcode text in AnsiString (the barcode text will be converted to AnsiSring if the UNICODE string is supported by the Delphi or C++ Builder). DrawToSize (syntax 2). Data: AnsiString. property OnEncode: TOnEncode. It is the barcode text in string type (it's an UnicodeString if the UNICODE string is supported by the Delphi or C++ Builder.1. It is the object whose event handler is called. Size. The barcode text that's encoded by your own encoding scheme should be returned in this parameter. PWorkArea: PUserWorkArea. WSymbolZoneOffsetInPixels_Left: Integer. WSymbolZoneOffsetInPixels_Top: Integer. And the value of the parameter is equal to the Barcode parameter if the DrawTo (syntax 2). GetCheckSum (only TBarcode2D_PDF417). PWorkArea: PUserWorkArea) of object. Barcode: string) of object. end.2D Barcode VCL Components User Manual WQuietZoneWidthInModules_Bottom: Integer. Parameters: Sender: TObject. Draw. The record contains fields defining the barcode symbol. or one of the Clear. the barcode symbol will be represented in it. DrawToSize. It's useful if you want to encode the barcode text in your own encoding scheme before generate the barcode symbol. It is the object whose event handler is called. DrawToSize (syntax 1). Parameters: Sender: TObject. By default. It points to the TUserWorkArea record. Its value is equal to the Barcode property if the Clear. WTotalHeightInPixels: Integer. See also the "How to encode the UNICODE text in a 2D barcode symbol" article. DrawTo (syntax 1). DrawTo. { Defined in the pBarcode2D unit } PUserWorkArea = ^TUserWorkArea. property OnDrawBarcode: TOnDrawBarcode. Print (syntax 2). See also the "TUserWorkArea" record. WSymbolZoneWidthInModules: Integer. Syntax: type { Defined in the pCore2D unit } TOnEncode = procedure (Sender: TObject. { Defined in the pBarcode2D unit } TOnDrawBarcode = procedure (Sender: TObject. otherwise it's an AnsiString). GetCheckSum (only TBarcode2D_MicroPDF417) method is called. BarcodeChar: Char. If the value of the parameter is true. The event occurs if there is any invalid character in the Data 372 .1. DrawTo (Syntax 1). you can use the Data property to specify a block of binary (bytes) data. Index: Integer. Print (Syntax 1). or the Draw. Clear. and encode it into a barcode symbol. DrawToSize (syntax 3).4 OnInvalidChar Occurs if there is any invalid character in the Barcode property value. the value of the parameter is always false. Otherwise. Print (Syntax 1). If the Locked property is set to true.UCC composite barcode symbol. For other barcode components. or PrintSize (Syntax 1) method is called. For the TBarcode2D_CCA. DrawToSize (Syntax 1). TBarcode2D_CCB. The index position of first invalid character in the barcode text that is specified by the Barcode property. or when the Draw. C. and both of the Index and BarcodeChar parameters are depend on the Barcode property's value of the linear component. Index: Integer. Even if the Image property isn't specified. The first invalid character in the barcode text that is specified by the Barcode property. Note: If the Locked property is set to false. Clear. PrintSize (syntax 3). Size. or PrintSize (Syntax 1) method is called. GetCheckSum (syntax 2) (only TBarcode2D_PDF417). GetParity (syntax 2) ( o n l y TBarcode2D_QRCode) . LinearFlag: Boolean) of object. Size. Even if the Image property isn't specified.1. the invalid char is in the Barcode property's value of the 2D barcode component. Syntax: type { Defined in the pBarcode2D unit } TOnInvalidChar = procedure (Sender: TObject. and both of the Index and BarcodeChar parameters are depend on the Barcode property's value of the 2D component. the index 1 denotes that the first character is invalid character. Parameters: Sender: TObject.2D Barcode VCL Components User Manual Note: The event doesn't occur when the DrawTo (syntax 3). Otherwise it is an AnsiChar. It is the object whose event handler is called. It denotes whether the invalid character is in the the linear component of an EAN. or specifies the barcode text in AnsiString format.5 OnInvalidDataChar If you use the Delphi/C++ Builder 2009 or later. the event occurs when any component property is changed to cause the barcode is redrew. the event occurs when the Locked property is set to false to cause the barcode is redrew. DrawToSize (Syntax 1). Print (syntax 3). the invalid character is in the Barcode property's value of the linear component that is specified by the Linear property. C. property OnInvalidChar: TOnInvalidChar. The character is a WideChar if the UNICODE is supported by the Delphi or C++ Builder. or GetCheckSum (syntax 2) (only TBarcode2D_MicroPDF417) method is called. and TBarcode2D_CCC 2D barcode components. DrawTo (Syntax 1). BarcodeChar: Char. LinearFlag: Bolean. and encode it into a barcode symbol.UCC composite barcode symbol.1. Even if the Image property isn't specified. Clear. and TBarcode2D_CCC 2D barcode components. the index 1 denotes that the first character is invalid character. 373 . or when the Draw. DrawToSize (Syntax 1). the invalid char is in the Data property's value of the 2D barcode component. For the TBarcode2D_CCA. and both of the Index and DataChar parameters are depend on the Data property's value of the linear component. It is the object whose event handler is called. It denotes whether the invalid character is in the the linear component of an EAN. property OnInvalidDataChar: TOnInvalidDataChar. the invalid character is in the Data property's value of the linear component that is specified by the Linear property. The first invalid character in the barcode text that is specified by the Data property. The event occurs when the length of the Data property value is invalid. Syntax: type { Defined in the pBarcode2D unit } TOnInvalidDataChar = procedure (Sender: TObject. DrawTo (Syntax 1). and both of the Index and DataChar parameters are depend on the Data property's value of the 2D component. DrawTo (Syntax 1). property OnInvalidDataLength: TOnInvalidDataLength. Parameters: Sender: TObject. Even if the Image property isn't specified. For other barcode components. Index: Integer. Size. LinearFlag: Bolean. The event is available only for the Delphi/C++ Builder 2009 or later.6 OnInvalidDataLength If you use the Delphi/C++ Builder 2009 or later. or PrintSize (Syntax 1) method is called. If the value of the parameter is true. Note: If the Locked property is set to false. Size. DataChar: AnsiChar. Parameters: Sender: TObject. DataChar: AnsiChar. If the Locked property is set to true. C. Print (Syntax 1).2D Barcode VCL Components User Manual property value. Print (Syntax 1). Data: AnsiString. the value of the parameter is always false. The index position of first invalid character in the barcode text that is specified by the Data property. LinearFlag: Boolean) of object. LinearFlag: Boolean) of object. Syntax: type { Defined in the pBarcode2D unit } TOnInvalidDataLength = procedure (Sender: TObject. It is the object whose event handler is called. or PrintSize (Syntax 1) method is called. the event occurs when the Locked property is set to false to cause the barcode is redrew. Index: Integer. you can use the Data property to specify a block of binary (bytes) data. Otherwise. DrawToSize (Syntax 1). TBarcode2D_CCB. Clear. the event occurs when any component property is changed to cause the barcode is redrew. or the Draw. or specifies the barcode text in AnsiString format. Clear. or PrintSize (Syntax 1) method is called. It denotes whether the barcode's length of the linear component is invalid in an EAN. For other barcode components. Print (Syntax 1). For the TBarcode2D_CCA. LinearFlag: Bolean. it denotes the length of the Data property's value of the 2D barcode component is invalid. TBarcode2D_CCB. The event is available only for the Delphi/C++ Builder 2009 or later. or PrintSize (Syntax 1) method is called. if the value of the LinearFlag parameter is true. LinearFlag: Boolean) of object. Clear. DrawTo (Syntax 1). Otherwise.UCC composite barcode symbol. For other barcode components. For the TBarcode2D_RSSLimited. 374 . it's the Barcode property's value of the 2D barcode component.UCC composite barcode symbol. and TBarcode2D_CCC 2D barcode components. Even if the Image property isn't specified. the event occurs when the Locked property is set to false to cause the barcode is redrew. it is the Data property's value of the 2D barcode component. Barcode: String. and TBarcode2D_CCC 2D barcode components. Otherwise. DrawToSize (Syntax 1). or the Draw. Print (Syntax 1). or when the Draw. Even if the Image property isn't specified.2D Barcode VCL Components User Manual Data: AnsiString. the event occurs too. If the Locked property is set to true. The invalid value of the Barcode property. TBarcode2D_RSS14. property OnInvalidLength: TOnInvalidLength. Parameters: Sender: TObject. For the TBarcode2D_CCA. the value of the parameter is always false. TBarcode2D_CCB. It is the object whose event handler is called. DrawTo (Syntax 1). It denotes whether the barcode's length of the linear component is invalid in an EAN. it's the Data property's value of the linear barcode component that's specified in the Linear property. For the TBarcode2D_CCA. if the value of the parameter is true. For other barcode components. Note: In general. the event occurs when any component property is changed to cause the barcode is redrew.1. TBarcode2D_CCB. Size. Otherwise.7 OnInvalidLength Occurs when the length of the Barcode property value is invalid. if the value of the LinearFlag parameter is true. The invalid value of the Data property. Barcode: string. DrawToSize (Syntax 1). if the Data property value is an empty string. it occurs when the length of barcode text exceeds the maximum length limit. it's the Data property's value of the 2D barcode component. and TBarcode2D_CCC 2D barcode components. and TBarcode2D_AztecRunes components. LinearFlag: Bolean. it is the Barcode property's value of the 2D barcode component. Size. If the Locked property is set to false. Syntax: type { Defined in the pBarcode2D unit } TOnInvalidLength = procedure (Sender: TObject. it denotes the length of the Data property's value of the linear barcode component that's specified by the Linear property is invalid. it's the Barcode property's value of the linear barcode component that's specified in the Linear property. C. and TBarcode2D_AztecRunes components. Size. Even if the Image property isn't specified. DrawToSize (Syntax 1). Syntax: type { Defined in the pSave2D unit } TOnSaved = procedure (Sender: TComponent. it denotes the length of the Barcode property's value of the linear barcode component that's specified by the Linear property is invalid. DrawTo (Syntax 1). or PrintSize (Syntax 1) method is called. TBarcode2D_CCB. If the Locked property is set to false. TBarcode2D_RSS14. Changing it to false will cancel the saving operation. or PrintSize (Syntax 1) method is called. it occurs when the length of barcode text exceeds the maximum length limit. var FilePath: string. Specifies whether to save the barcode symbol to an image file.2D Barcode VCL Components User Manual For the TBarcode2D_CCA. the event occurs too. 375 . Even if the Image property isn't specified. the event occurs when any component property is changed to cause the barcode is redrew. Parameters: Sender: TObject. var Continue: Boolean) of object. property OnSave: TOnSave. DrawToSize (Syntax 1). ErrorCode: Integer) of object. or when the Draw. Note: In general. C. if the Barcode property value is an empty string.2. and TBarcode2D_CCC 2D barcode components. For the TBarcode2D_RSSLimited. The file path and name of the image file that you want to save the barcode symbol to. Continue: Boolean. the value of the parameter is always false.1 OnSave Occurs before save the barcode symbol to an image file. its value is true. it denotes the length of the Barcode property's value of the 2D barcode component is invalid. Size. You can change the parameter value in the event handle. C. the event occurs when the Locked property is set to false to cause the barcode is redrew. the OnSaved event will not be occurred. Print (Syntax 1).2 TSave2D C. Clear.2. FilePath: string. property OnSaved: TOnSaved. By default. Otherwise. or the Draw. if the value of the parameter is true. It is the object whose event handler is called. Clear. when the Save method is called. Syntax: type { Defined in the pSave2D unit } TOnSave = procedure (Sender: TComponent. in this case. Print (Syntax 1). FilePath: string. For other barcode components.2 OnSaved Occurs after save the barcode symbol to an image file. when the Save method is called. If the Locked property is set to true. DrawTo (Syntax 1). corresponding to the OnInvalidLength or OnInvalidDatalength (only for Delphi/C++ Builder 2009 or later) event of barcode component will occur. FilePath: string. It is the object whose event handler is called. ERROR_WRITE_PICTURE (3): The saving operation failed because the picture file write error. or the access is denied. corresponding to the OnInvalidChar or OnInvalidDataChar (only for Delphi/C++ Builder 2009 or later) event of barcode component will occur. Return the error status code of the saving operation. It can be one of these value (these consts are defined in the pSave2D unit): ERROR_OK (0): The saving operation succeeded. Perhaps the file system fulls. because the length of Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value is invalid in the barcode component.2D Barcode VCL Components User Manual Parameters: Sender: TObject. ErrorCode: Integer. 376 . The Save method will return the error code value too. ERROR_INVALID_BARCODE (2) : The saving operation failed. ERROR_NO_BARCODE_COMPONENT (1) : The saving operation failed because the Barcode2D property is not link to a barcode component. Or because there is any invalid character in the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property value. The file path and name of the image file that you want to save the barcode symbol to. . All rights reserved.2. .1.2D Barcode VCL Components User Manual 6.2398 2015-12-11 Copyright © 2001-2015 Han-soft Corporation.