You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

[ |../../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]
  • No labels