デバイス上のカメラを利用して 1 つまたは複数のバーコードをスキャンします。
複数のバーコードのエントリーを受け付けるか、1 つのバーコードをスキャンするかを示すブール値です。
複数のバーコードのエントリーが許可されることを示すブール値です。ScanMultiple に True が設定されている時のみ有効です。
バーコード処理エンジンを示す列挙値です。有効なオプションは次の 3 つです: Default、System (iOS のみ)、Google
バーコード・スキャナーのタイプを追加します。
入力引数:
名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
Type | 列挙値 | はい | サポートされる各スキャナー・エンジンのバーコード・タイプです。 |
バーコード・スキャナーのタイプを削除します。
入力引数:
名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
Type | 列挙値 | はい | 有効な値: UPCA、CODE128、QRCODE、CODE39、ITF14、CODABAR、UPCE、CODE93、DATAMATRIX、PDF417、AZTEK |
現在のバーコード・スキャナー・タイプのリストをクリアします。
スキャナーを有効にします。
スキャン値を取得します。Completed イベント内でこのメソッドを呼び出し、スキャンされたバーコードの値を取得します。
入力引数:
名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
Index | 整数 | はい | スキャン値リスト内のバーコード値を検知するためのインデックスを指定します。 |
バーコード・スキャンが終了すると起動されます。
パラメータ:
名前 | タイプ | 説明 |
|---|---|---|
Status | 列挙値 | 状態コードを参照してください。 |
BarcodeCount | 整数 | スキャンされたバーコード数 |
Message | 文字列 |
Define_Com Class(#xDeviceBarcodeScanner) Name(#BarcodeScanner)
Evtroutine Handling(#COM_OWNER.Initialize)
Clr_List Named(#BarcodeTypes)
#STD_TEXTS := 'upca'
Add_Entry To_List(#BarcodeTypes)
#STD_TEXTS := 'code128'
Add_Entry To_List(#BarcodeTypes)
#STD_TEXTS := 'qrcode'
Add_Entry To_List(#BarcodeTypes)
#STD_TEXTS := 'code39'
Add_Entry To_List(#BarcodeTypes)
#STD_TEXTS := 'itf14'
Add_Entry To_List(#BarcodeTypes)
#Scanner.Enabled := false
Endroutine
Evtroutine Handling(#BarcodeScanner.Initialize)
#Scanner.Enabled := true
Endroutine
Evtroutine Handling(#Scanner.Click)
Define Field(#vrccItemCount) Type(*INT)
Define Field(#vrccIx) Type(*INT)
#BarcodeScanner.ScanMultiple := (#ScanMultiple.ButtonState = Checked)
#BarcodeScanner.AllowDuplicates := (#AllowDuplicates.ButtonState = Checked)
#BarcodeScanner.ClearBarcodeTypes()
For Each(#item) In(#BarcodeTypes.Items)
If (#item.Checked = Checked)
Get_Entry Number(#item.Entry) From_List(#BarcodeTypes)
#BarcodeScanner.AddBarcodeType( #STD_TEXTS )
Endif
Endfor
#BarcodeScanner.ActivateScanner()
Endroutine
Evtroutine Handling(#BarcodeScanner.Completed) Status(#lStatus) Barcodecount(#lCount) Message(#lMessage)
Define Field(#vrbcIx) Type(*INT)
If (#lStatus = OK)
Begin_Loop Using(#vrbcIx) From(0) To(#lCount - 1)
#STD_TEXTL := #BarcodeScanner.GetScannedValue( #vrbcIx )
Add_Entry To_List(#ScannedValues)
End_Loop
Endif
Endroutine