Barcode Objekt
Zuletzt geändert: 08.01.2024 14:30

Barcode-Objekt (iScript) #

Das Barcode-Objekt wird automatisch bei Eingang eines Barcodes über die serielle Schnittstelle erzeugt und steht innerhalb des VBScript-Codes der OnScan.VBS Ereignisbehandlungsroutine zur Verfügung. Voraussetzung hierfür ist die Software-Option “Serielle Barcodelesegeräte”.

Eigenschaften #

property RawData: string read

Rohdaten, wie sie vom Scanner kommen inkl. aller Meta-Daten, wie Präfix oder Suffix

property Data: string readonly

ohne Prefix, Postfix, AIM

property Quantity: Integer readonly

Eine ganzzahlige Mengenangabe, falls der Barcode-Scnner dies unterstützt

property AIM: string read

AIM Code+Modifier, aber ohne eckige Klammer “]”

property AIMSymbology: string read

AIM nur Code (Buchstabe)

property AIMModifier: string read

AIM nur Modifier (Ziffer)

property SymbologyName: string read

Anzeigename der Symbologie zum Beispiel “Code 128”

property Prefix: string read

Prefix/Postfix, falls vorhanden

property Postfix: string readonly

Prefix/Postfix, falls vorhanden

property IsHandled: Boolean readonly

prüft, ob “Handled” aufgerufen wurde

property Action: string read/write

was soll gemacht werden - momentan ‘NAVIGATE’, ‘INSERT’, ‘PASTEORINSERT’

property ActionData: string read/write
property ScanTime: DateTime readonly

Genauer Zeitpunkt des Scans.

property AcknowledgeText: string read/write
property StampingAddress: string readonly

Bei einigen Funkscannern wird hier die eindeutige Adresse des Scanners abgelegt, der den Scan ausgelöst hat

property Acknowledged: Boolean readonly
property HasDisplay: Boolean readonly

Methoden #

procedure Acknowledge

Bestätigt dem Barcodelesegerät den eingescannten Barcode, falls dies vom Gerät gefordert bzw. unterstützt wird. Hierbei wird der über AcknowledgeText hinterlegte Text an das Gerät übergeben. Dieser Text kann auch Steuercodes zum Auslösen eines Piep-Tons oder zum Aktivieren einer farbigen LED enthalten. Nähere Informationen entnehmen Sie der Dokumentation des jeweiligen Scanners.

procedure SendMessage( Msg: string)

Sendet einen Text an das Gerät, welches diesen Barcode eingescannt hatte - falls dies vom Gerät unterstützt wird.

procedure Handled

Wenn im OnScan-Ereignis bereits eine Behandlung durchgeführt wurde, muss “Handled” aufgerufen werden, um EULANDA mitzuteilen, das keine weitere Verarbeitung erfolgen soll.

Methoden zum Zugriff auf die Application Identifier (AI) #

Datamatrix oder auch Code 128 nach dem GS1-Standard können verschiedene Informationen gleichzeitig enthalten - Zum Beispiel Seriennummer und Haltbarkeitsdatum. Die einzelnen Daten werden hierbei über sog. Application Identifier (Anwendungs-Identifikatoren) gekennzeichnet. Diese AIs sind von der GS1-Organisation festgelegt. Z.B. wird mit “01” die GTIN (ehem. EAN) und mit “10” eine Chargennummer eingeleitet.

function AiIndex(aAI: string): Integer

Index eines bestimmten AIs bzw. -1, falls dieses nicht vorhanden ist

function HasAI(aAI: string): Boolean

AI vorhanden?

function AiValue(aAI: string): Variant;

Wert eines AIs (Float,string oder Datum) oder NULL, falls nicht gefunden

function AI(Index: Variant): Variant;

Das AI als Options. Index kann Integer oder String sein

function AiCount: Integer;

Anzahl der vorhandenen AIs

Globale barcoderelevante Methoden #

function Client.CreateObject("LASTBARCODE"): Barcode

gibt das Barcode-Objekt des zuletzt gescannten Codes zurück oder löst einen Fehler aus, falls noch kein Code gescannt wurde

procedure ellib.internlib.HandleBarcode(BarcodeFragment: string)

Simulation eines Barcode-Leseereignisses. Als Fragment muss der komplette Code angegeben werden - inkl. eventuell hinterlegter Präfixe, Suffixe

function ellib.BarcodeSendMessage(StampingAddress,Msg: string): Boolean

Falls das Lesegerät die Anzeige von Mitteilungen unterstützt, kann an das Gerät ein Text gesendet werden. Hierfür ist die Funkadresse des Scanners notwendig.

function ellib.BarcodeBroadcast(Msg: string): Boolean

Falls das Lesegerät die Anzeige von Mitteilungen unterstützt, kann an alle angeschlossenen Geräte ein Rundruf abgegeben werden

function ellib.InitBarcode(Options: string): Boolean

Öffnet die serielle Schnittstelle. Falls Options nicht angegeben wird, werden die in der Registry hinterlegten Standardoptionen verwendet.

Beispiel: ellib.InitBarcode "port=COM4"

procedure ellib.FinitBarcode

schließt die serielle Schnittstelle

Debuggen #

Wenn EULANDA mit dem Parameter -debugconsole gestartet wird, werden sämtliche Barcode-Ereignisse im Konsolenfenster ausgegeben.

Beispielausgabe #

[BARCODE] RawData 00000017066B@]d2è90AT001↔25009E310120000001↔11090131240PRODUCT_CODE↔37500
[BARCODE] AddressStamping 00000017066B
[BARCODE] AIM d2 (Datamatrix)
[BARCODE] Data è90AT001↔25009E310120000001↔11090131240PRODUCT_CODE↔37500
[BARCODE] ParseAI: 90 AT001
[BARCODE] ParseAI: 250 09E310120000001
[BARCODE] ParseAI: 11 31.01.2009
[BARCODE] ParseAI: 240 PRODUCT_CODE
[BARCODE] ParseAI: 37 500

Verfügbare COM-Ports #

Eine Liste der verfügbaren seriellen Anschlüsse kann über den Befehl ellib.AvailableComPorts ermittelt werden.

Beispiel im iScript-Editor

ellib.ShowMessage ellib.AvailableComPorts