Sign in Join
Wiki copytemporary

SymScan

About

SymScan provides an Barcode scanning component and API link to the barcode scanner module in Symbol/Motorola MC series Windows CE based barcode scanners.

Functional Description:

Two principal units are provided:

A very simple project is included as an example.

Author

Arnold Bosch: arnoldb at mweb dot com dot na

License

The sample application is licensed under the GPL, and the libraries under LGPL

Download

It can be downloaded from Lazarus-CCR SourceForge.

Dependencies / System Requirements

Development requirements:

Hardware:

NOTE: Because there is no normal Windows scanning interface to substitute for the MC's dll, application development can only be done by compiling and downloading the application to the hardware device for testing. In my experience, this is not always practical when developing a fairly big/complicated application, so I can do the following recommendation:

Documentation

The TScanner component is derived from TThread, and introduces two events:

pascal
OnScan(Barcode:String, Symbology: String);

Barcode is the barcode returned from a scan. Note that check-digits are NOT removed. Symbology returns the type of barcode that was scanned (EAN13, UTF8, Code 39 etc).

pascal
OnError(ErrorMessage: String)

When the scanner component encounter an error, ErrorMessage contains a descriptive string.

pascal
TForm1 = class(TForm)
  procedure FormCreate(Sender: TObject);
private
  Scanner:TScanner;
  Procedure GetScan(barcode:String; Symbology:String);
  Procedure GetScanError(ErrorMessage:string);
  { private declarations }
public
  { public declarations }
end;
pascal
procedure TForm1.FormCreate(Sender: TObject);
begin
  Scanner := TScanner.Create(True);
  Scanner.OnError := @GetScanError;
  Scanner.OnScan := @GetScan;
  Scanner.Resume;
end;
pascal
Scanner.Terminate;

From the Free Pascal wiki, page "SymScan", as it stood on 2020-02-28 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.