[
|../../index.htm#lansa/vlwebeng02_0100.htm]
現在地:
14.6.6 xDeviceBarcodeScanner ウィジェット
デバイス上のカメラを利用して 1 つまたは複数のバーコードをスキャンします。
プロパティ
ScanMultiple
複数のバーコードのエントリーを受け付けるか、1 つのバーコードをスキャンするかを示すブール値です。
AllowDuplicates
複数のバーコードのエントリーが許可されることを示すブール値です。ScanMultiple に True が設定されている時のみ有効です。
ScannerEngine
バーコード処理エンジンを示す列挙値です。有効なオプションは次の 3 つです: Default、System (iOS のみ)、Google
メソッド
AddBarcodeType
バーコード・スキャナーのタイプを追加します。
- 入力引数:
名前 |
タイプ |
必須 |
説明 |
Type |
列挙値 |
はい |
サポートされる各スキャナー・エンジンのバーコード・タイプです。
Default:
UPCA、CODE128、QRCODE、CODE39、ITF14、CODABAR、UPCE、CODE93
Google:
UPCA、CODE128、QRCODE、CODE39、ITF14、CODABAR、UPCE、CODE93、DATAMATRIX、PDF417、AZTEK
System:
UPCA、CODE128、QRCODE、CODE39、ITF14、UPCE、CODE93、DATAMATRIX、PDF417、AZTEK |
- 出力引数: なし
- 戻り値: なし
RemoveBarcodeType
バーコード・スキャナーのタイプを削除します。
- 入力引数:
名前 |
タイプ |
必須 |
説明 |
Type |
列挙値 |
はい |
有効な値: UPCA、CODE128、QRCODE、CODE39、ITF14、CODABAR、UPCE、CODE93、DATAMATRIX、PDF417、AZTEK |
- 出力引数: なし
- 戻り値: なし
ClearBarcodeTypes
現在のバーコード・スキャナー・タイプのリストをクリアします。
- 入力引数: なし
- 出力引数: なし
- 戻り値: なし
ActivateScanner
スキャナーを有効にします。
- 入力引数: なし
- 出力引数: なし
- 戻り値: 状態コード
GetScannedValue
スキャン値を取得します。Completed イベント内でこのメソッドを呼び出し、スキャンされたバーコードの値を取得します。
- 入力引数:
名前 |
タイプ |
必須 |
説明 |
Index |
整数 |
はい |
スキャン値リスト内のバーコード値を検知するためのインデックスを指定します。 |
- 出力引数: なし
- 戻り値: スキャンされたバーコード値
イベント
Completed
バーコード・スキャンが終了すると起動されます。
- パラメータ:
名前 |
タイプ |
説明 |
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
[
|../../index.htm#lansa/vlwebeng02_0100.htm]