public BarcodeReadSymbologyStatus Status { get; set; }
A BarcodeReadSymbologyStatus enumeration member that specifies the status of the read operation. Default value is BarcodeReadSymbologyStatus.Continue.
The BarcodeReader always sets the value of this property BarcodeReadSymbologyStatus.Continue. You can change the value of this property to another value depending on your application logic. The following table lists the status values and their meaning:
| Value | Description |
|---|---|
| BarcodeReadSymbologyStatus.Continue |
Continue reading the next barcode(s) (if any). This is the default behavior. |
| BarcodeReadSymbologyStatus.Skip |
Skip reading the current barcode symbologies and move to the next (if any). Setting BarcodeReadSymbologyEventArgs.Status to Skip will have an affect only if the BarcodeEngine is about to read the barcodes. i.e., when the value of BarcodeReadSymbologyEventArgs.Operation is BarcodeReadSymbologyOperation.PreRead. When the operation is BarcodeReadSymbologyOperation.PostRead and the reader has finished reading the barcodes, then setting the status to Skip will have no effect. |
| BarcodeReadSymbologyStatus.Abort |
Abort the read operation. The BarcodeReader will stop trying to read barcodes and the read operation will end. This can be used when the BarcodeReadSymbologyEventArgs.Operation is BarcodeReadSymbologyOperation.PreRead or BarcodeReadSymbologyOperation.PostRead. |
using Leadtools;using Leadtools.Codecs;using Leadtools.Barcode;using Leadtools.ImageProcessing;public void BarcodeReader_ReadSymbologyExample(){string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "Barcode1.tif");// Create a Barcode engineBarcodeEngine engine = new BarcodeEngine();// Get the Barcode reader instanceBarcodeReader reader = engine.Reader;// Load the imageusing (RasterCodecs codecs = new RasterCodecs()){using (RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)){// Subscribe to the ReadSymbology eventreader.ReadSymbology += new EventHandler<BarcodeReadSymbologyEventArgs>(reader_ReadSymbology);// Read all barcodes in the imagereader.ReadBarcodes(image, LeadRect.Empty, 0, null);reader.ReadSymbology -= new EventHandler<BarcodeReadSymbologyEventArgs>(reader_ReadSymbology);}}}private void reader_ReadSymbology(object sender, BarcodeReadSymbologyEventArgs e){if (e.Operation == BarcodeReadSymbologyOperation.PreRead){// Before reading, show the symbologies the engine is going to try to readConsole.WriteLine("Trying to read the following symbologies:");BarcodeSymbology[] symbologies = e.GetSymbologies();for (int i = 0; i < symbologies.Length; i++){Console.Write(symbologies[i]);if (i != (symbologies.Length - 1)){Console.Write(", ");Console.WriteLine(e.Options.FriendlyName);}else{Console.WriteLine();}}}else if (e.Operation == BarcodeReadSymbologyOperation.PostRead){if (e.Error == null){// No errorsBarcodeData barcode = e.Data;if (barcode != null){// Found a barcode, show itConsole.WriteLine(" {0} at {1} with data {2}", barcode.Symbology, barcode.Bounds, barcode.Value);}else{Console.WriteLine(" No barcodes found");}}else{// Show the errorConsole.WriteLine("Error: {0}", e.Error.Message);// Tell the reader top stop reading barcodese.Status = BarcodeReadSymbologyStatus.Abort;}}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}