The sample shows steps and algorithm of how to read barcodes from subfolder and how to make it work in your Delphi application. What is ByteScout BarCode Reader SDK? It is the SDK for reading of barcodes from PDF, images and live camera or video. Almost every common type like Code 39, Code 128, GS1, UPC, QR Code, Datamatrix, PDF417 and many others are supported. Supports noisy and defective images and docs. Includes optional documents splitter and merger for pdf and tiff based on found barcodess. Batch mode is supported for superior performance using multiple threads. Decoded values are easily exported to JSON, CSV, XML and to custom format. It can help you to read barcodes from subfolder in your Delphi application.
This code snippet below for ByteScout BarCode Reader SDK works best when you need to quickly read barcodes from subfolder in your Delphi application. This Delphi sample code is all you need for your app. Just copy and paste the code, add references (if needs to) and you are all set! Test Delphi sample code examples whether they respond your needs and requirements for the project.
ByteScout BarCode Reader SDK free trial version is available on our website. Delphi and other programming languages are supported.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
//******************************************************************* // ByteScout Barcode Reader SDK // // Copyright ? 2016 ByteScout - https://www.bytescout.com // ALL RIGHTS RESERVED // //******************************************************************* program Project1; {$APPTYPE CONSOLE} { Sample that shows reading of barcodes from images in /Images/ subfolder } uses SysUtils, ComObj, ActiveX; var reader: Variant; SR: TSearchRec; arrayOutput: Variant; varItem: Variant; i: integer; pathWithImages, imageType: string; begin CoInitialize(nil); // Disable floating point exception to conform to .NET floating point operations behavior. System.Set8087CW({codeFileName}
{code}ON-PREMISE OFFLINE SDK
60 Day Free Trial or Visit ByteScout BarCode Reader SDK Home Page
Explore ByteScout BarCode Reader SDK Documentation
Explore Samples
Sign Up for ByteScout BarCode Reader SDK Online TrainingON-DEMAND REST WEB API
Get Your API Key
Explore Web API Docs
Explore Web API Samples
33f);// Create and initialize Bytescout.BarCodeReader.Reader object
reader := CreateOleObject('Bytescout.BarCodeReader.Reader');
reader.RegistrationName := 'demo';
reader.RegistrationKey := 'demo';// Enable Code 39 decoding, you may also enable other types (dozens of types supported)
// see .BarCodeTypesToFind for more values.
reader.BarcodeTypesToFind.Code39 := true;// For example to enable Code128 uncomment line below
// reader.BarcodeTypesToFind.Code128 := true;// For example to enable QR Code uncomment line below
// reader.BarcodeTypesToFind.QRCode := true;// Setup possible barcode orientations ( ato support rotated images)
// see BarCode Reader SDK - OrientationType enum for more variations
// uncomment to support more orientations like right to left
{
reader.Orientation :=
1 or //OrientationType.HorizontalFromLeftToRight
16 or // OrientationType.HorizontalFromRightToLeft
32768 or // OrientationType.VerticalFromBottomToTop
2; // OrientationType.VerticalFromTopToBottom;
}// uncomment to enable processing of negative barcodes (white bars on dark background)
// reader.SearchNegative := true;// uncomment to Enable Heuristic Mode (try different image processing modes if the default failed).
// Helps on photos with poor lighting conditions.
//reader.HeuristicMode := true;// define subfolder where we have images
pathWithImages := '.\Images\';
imageType := '*.jpg'; // can also be *.png, *.tiff, *.bmp, *.PDF// now search for files with images and processing them one by one
if FindFirst(pathWithImages + imageType, faAnyFile, SR) = 0 then begin
repeat
if (SR.Attr <> faDirectory) then begin
writeLn(SR.Name);
writeLn('------------------');
// processing the file
reader.ReadFromFile(pathWithImages + SR.Name);
for i := 0 to reader.FoundCount - 1 do begin
writeLn(
'#' + IntToStr(i) + ' barcode with value ' +
reader.GetFoundBarcodeValue(i)+
' at ' + FloatToStr(reader.GetFoundBarCodeLeft(i)) +
',' + FloatToStr(reader.GetFoundBarCodeTop(i))
);
end;
writeLn('------------------');
end;
until FindNext(SR) <> 0;
FindClose(SR);
end;WriteLn('Press any key to exit...');
ReadLn;reader := varEmpty;
end.
ON-PREMISE OFFLINE SDK
60 Day Free Trial or Visit ByteScout BarCode Reader SDK Home Page
Explore ByteScout BarCode Reader SDK Documentation
Explore Samples
Sign Up for ByteScout BarCode Reader SDK Online TrainingON-DEMAND REST WEB API
Get Your API Key
Explore Web API Docs
Explore Web API Samples
VIDEO
ON-PREMISE OFFLINE SDK
60 Day Free Trial or Visit ByteScout BarCode Reader SDK Home Page
Explore ByteScout BarCode Reader SDK Documentation
Explore Samples
Sign Up for ByteScout BarCode Reader SDK Online TrainingON-DEMAND REST WEB API
Get Your API Key
Explore Web API Docs
Explore Web API Samplesprintable version:
ByteScout-BarCode-Reader-SDK-Delphi-Read-Barcodes-From-Subfolder.pdf
Tutorials:
also available as: