デバイス上のカメラを利用して 1 つまたは複数のバーコードをスキャンします。

プロパティ

ScanMultiple

複数のバーコードのエントリーを受け付けるか、1 つのバーコードをスキャンするかを示すブール値です。

AllowDuplicates

複数のバーコードのエントリーが許可されることを示すブール値です。ScanMultiple に True が設定されている時のみ有効です。

ScannerEngine

バーコード処理エンジンを示す列挙値です。有効なオプションは次の 3 つです: Default、System (iOS のみ)、Google

メソッド

AddBarcodeType

バーコード・スキャナーのタイプを追加します。

RemoveBarcodeType

バーコード・スキャナーのタイプを削除します。

ClearBarcodeTypes

現在のバーコード・スキャナー・タイプのリストをクリアします。

ActivateScanner

スキャナーを有効にします。

GetScannedValue

スキャン値を取得します。Completed イベント内でこのメソッドを呼び出し、スキャンされたバーコードの値を取得します。

イベント

Completed

バーコード・スキャンが終了すると起動されます。

サンプル・コード

    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