ByteScout Barcode Reader SDK - Delphi - Read Barcodes From Subfolder - ByteScout

ByteScout Barcode Reader SDK – Delphi – Read Barcodes From Subfolder

  • Home
  • /
  • Articles
  • /
  • ByteScout Barcode Reader SDK – Delphi – Read Barcodes From Subfolder

How to read barcodes from subfolder in Delphi using ByteScout BarCode Reader SDK

This tutorial will show how to read barcodes from subfolder in Delphi

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)

Project1.dpr
      
//******************************************************************* // 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 Training

ON-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 Training

ON-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 Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next