Barcode library reference. PSOFT 2006

Contents - Index

Directives - Ean.inc

Following directives switch on the components usage, specially for AceReporter, Report Builder and similar.
If you wish to use these components, a relevant line must be included in the file ean.inc. If you change the file ean.inc you have to save the file and to reload the dpk file.

Available directives :
  • {$define PSOFT_BARCODE_DB} - enables to install a database component version (TDBEan,TQrDBEan,...)
  • {$define PSOFT_JPEG} - enables to export a bar code into jpeg format. The TEan method Save AsJPG(M:TfileName) is available.
  • {$define PSOFT_QREPORT} - also installs components for Quick report
  • {$define PSOFT_DEMO} - this directive, if it is set, changes Barcode Library to a trial mode. If you possess only Barcode Library trial version, do not delete this line .
  • {$define PSOFT_PRAGNAAN} - installs components for Pragnaan Quick report export filters
  • {$define PSOFT_PDF417} - installs possibility to use the PDF 417 code. In the case you do not use this type of code, we recommend you to delete this line because the PDF 417 code contains relatively many tables which are taken to the final exe file this way and so they enlarge its size .

If you can change some settings of Barcode library :

  • Edit Ean.inc file
  • Close Ean.inc.
  • Close all another files
  • Open EanX.dpk (where X is Delphi version) and press Compile or Install button.
  • If you use in some older project some barcode component, some problem can be here, because some properties can be now removed. If your Delphi display some error message about lost properties, press Ignore all.

Packages list.

Barcode Library contains some packages whereby there are always two packages. Corresponding components  are in one of them, property and components editors are in the second one (the name of a block finishes with the word Editors). These packages are determined for various programming tools.

  • EanX.dpk a EanXEditors.dpk - packages for Delphi X, where X is Delphi version
  • EanKylix1.dpk a EanKylix1Editors.dpk - packages for Kylix1
  • EanKylix2.dpk a EanKylix2Editors.dpk - packages for Kylix2
  • EanBCB5.dpk a EanBCB5Editors.dpk - packages for Borland C++ Builder 5
  • EanBCB6.dpk a EanBCB6Editors.dpk - packages for Borland C++ Builder 6

How install Barcode library ?

  • Run Delphi, Kylix or C++Builder
  • Open EanX.dpk (depend on Delphi, C++Builder or Kylix version)
  • Press button Install
  • Open EanXEditors.dpk and Install.
  • Verify if on component palette is displayed sheet with barcode components
  • Open some project in Demos subdirectory and try run.

Barcode types, using, advantages.

Supported barcode types :

Ean 8
Ean 13
2 of 5 (Datalogic, Matrix, Interleaved, Industrial, IATA, Invert, ...)
Code 39
Code 93
Code 128
ABC Codabar

Note :
Barcode type you can set using TEan.TypBarcode property

EanKod unit.

This unit creates the base of Barcode Library. All the basic methods and functions which are needed for creation and print of a bar code are here.
The basic component
TCustomEan, from which all other components of Barcode Library have been derived, is here.

Note : This unit is with source code only in registered version of Barcode library. In trial version is available only compiled dcu file. Please look trial version limits too.

Please look some screen shots of Barcode library components and editors.





EanRead unit

See also

Implements TBarcodeReader component - component for reading barcode from scanners, connected to serial ports.





TEanReadThread component

See also | Methods


PZN (Pharma-Zentral-Nummer) is a code for medicine identification in Germany and maybe other countries. In Germany it's issued by the Informationsstelle für Arzneispezialitäten GmbH, Beethovenstr. 51-53, Frankfurt am Main, Germany>. The PZN is based on Code39 and always has 7 digits. The last digit is a check digit. It uses the Code39-start sign "*" in combination with "-" as the start sign. The stop sign is the standard code39 stop sign "*". These start and stop signs and the characters "PZN " do not need to be entered in order to produce a PZN because they are a fixed part of the PZN. The characters "PZN" are not coded in the barcode. To get the PZN of the above example, you just have to enter 63194 Internal component, use by TBarcodeReader for connection to serial port.

TBarcodeReader component

See also | Properties | Methods | Tasks

Unit EanRead

Component for reading barcode or another data from serial ports. TpsBarcodeReaderOption,  TpsBarcodeReaderOptions type

type TpsBarcodeReaderOption = (boRemoveCR, boRemoveLF);

type TpsBarcodeReaderOptions = set of TpsBarcodeReaderOption;

boRemoveCR - after reading remove CR from readed string
boRemoveLF - after reading remove LF from readed string
TBarcodeReader component

property BitRate: TpsComBitRate;

type TpsComBitRate =
  • br300
  • br600
  • br1200
  • br2400
  • br4800
  • br9600
  • br14400
  • br19200
  • br38400
  • br57600
  • br115200

Specifiy bitrate of serial port. Possible from 300 bps to 115200.

DataBits property

Applies to
TBarcodeReader component

type TpsComDataBits = (db7Bits, db8Bits);
property DataBits: TpsComDataBits;

Number of databits - 7 or 8.

Parity property

Applies to
TBarcodeReader component

type TpsComParity = (parityNone, parityOdd, paritySpace, parityEven, parityMark);
property Parity: TpsComParity;

Serial port communication parity - None, Odd, Space, Even, Mark;

Port property

Applies to
TBarcodeReader component

type TpsComPort = (psCom1, psCom2, psCom3, psCom4, psCom5, psCom6, psCom7, psCom8);
property Port: TpsComPort;

Com port wheer is barcode scanner is connected.

StopBits property

Applies to
TBarcodeReader component

type TpsComStopBits = (sbStop1, sbStop15, sbStop2);
property StopBits: TpsComStopBits;

Serial port communication parameter - stop bits.

OnBarcodeReady property

Applies to
TBarcodeReader component

property OnBarcodeReady: TpsOnBarcodeReady;

type TpsOnBarcodeReady = procedure(Sender: TObject; Barcode: String); of Object;

Fired when read operation is finished.

TTypBarcode property

TTypBarcode = (bcEan8,bcEan13,bcCodabar,bcCode39Standard,bcCode39Full,bcCode93Standard,bcCode93Full, bcCode128,bcABCCodabar,bc25Datalogic,bc25Interleaved,bc25Matrix, bc25Industrial,bc25IATA,bc25Invert, bcITF, bcISBN, bcISSN, bcISMN, bcUPCA,bcUPCE0,bcUPCE1, bcUPCShipping, bcSCC14, bcJAN8, bcJAN13, bcMSIPlessey, bcPostNet, bcPlanet, bcRoyalMail, bc4State, bcDutch4StatePostal, bcTelepen, bcSwissPostal, bcSingapore4StatePostalCode, bcPostBar, bcOPC, bcEan128, bc25Coop, bcCode11, bcPZN, bcPDF417, bcCodablockF, bcSSCC, bcSISAC, bcCode16K, bcCodabarMonarch, bcFimA,bcFimB,bcFimC,bcFimD );