UPC-AThe component is used to create the UPC-A barcode symbol. It's defined in the pUPCA unit.

The UPC-A barcode symbology is also known as Universal Product Code version A, UPC Code, UPC Symbol, GTIN-12, GS1-12, UCC-12. It is used for marking products which are sold at retail in the USA. The barcode identifies the manufacturer and specific product so point-of- sale cash register systems can automatically look up the price. The UPC-A Code and the assignment of manufacturer ID numbers is controlled in the USA. by the Uniform Code Council (UCC).

The value to encode by UPC-A has the following structure:

  1. 1 digit for Number System (0: Regular UPC codes, 1: Reserved, 2: Random weight items marked at the store, 3: National Drug Code and National Health Related Items code, 4: No format restrictions, for in-store use on non-food items, 5: For use on coupons, 6: Reserved, 7: Regular UPC codes, 8: Reserved, 9: Reserved).
  2. 5 digits for Manufacturer (Company) Code or prefix. This number is assigned by the Uniform Code Council (UCC).
  3. 5 digits for Product Code which is assigned by the manufacturer.
  4. 1 digit for check digit.

An EAN-2 or an EAN-5 barcode may be added.

The UPC-A barcode symbol can be used together with a 4-column CC-A or a 4-column CC-B 2D symbol to create the EAN.UCC composite symbol. If you use the 2D Barcode VCL Components package, the component can be used as the value of the Liner property of the CC-A or CC-B 2D barcode component to create the EAN.UCC composite symbols. In such case, only Barcode, Data (only for Delphi/C++ Builder 2009 or later), AutoCheckDigit, Height, DisplayText, TextPosition, TextAlignment, TextFont, TextVSpacing, TextHSpacing, ExtraFontSize, LeftQuietZoneSpacing, and RightQuietZoneSpacing properties are useful, the value of other properties will be ignored and they will be set automatically depending on the settings of the 2D barcode component. In addition, the Height property should be set to a value larger than zero, and the Image should not be normally set.

Technical Details:

(*): The Data property, OnInvalidDataLength and OnInvalidDataChar events are available only for the Delphi/C++ Builder 2009 or later.