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

Compare with Current View Page History

Version 1 Next »

Show Contents List
You are here:

14.6.6 xDeviceBarcodeScanner Widget

Scan one or more barcodes using the camera on device.
Properties
ScanMultiple
A boolean value that indicates whether accept multiple barcode entries or just scan a single barcode.
AllowDuplicates
A boolean value that indicates if duplicate barcode entries are allowed. Only applicable if ScanMultiple is set to True.
ScannerEngine
A enum value that specifies the barcode processing engine. There are 3 valid options: Default, System (for iOS only), Google.
Methods
AddBarcodeType
Add a barcode scanner type.

  • Input Arguments:

    Name

    Type

    Mandatory

    Description

    Type

    Enum

    Yes

    Supported barcode type of each scanner engine.
    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

     |
  • Output Argument: None.
  • Return Value: None.

RemoveBarcodeType
Remove a barcode scanner type.

  • Input Arguments:

    Name

    Type

    Mandatory

    Description

    Type

    Enum

    Yes

    Valid values are: UPCA, CODE128, QRCODE, CODE39, ITF14, CODABAR, UPCE, CODE93, DATAMATRIX, PDF417, AZTEK

     |
  • Output Argument: None.
  • Return Value: None.

ClearBarcodeTypes
Clear the current list of barcode scanner types.

  • Input Arguments: None.
  • Output Argument: None.
  • Return Value: None.

ActivateScanner
Activate the scanner.

  • Input Arguments: None.
  • Output Argument: None.
  • Return Value: Status Code

GetScannedValue
Get the scanned value. Call this method in Completed event to get scanned barcode value.

  • Input Arguments:

    Name

    Type

    Mandatory

    Description

    Index

    Integer

    Yes

    Specify an index to locate a barcode value in scanned value list.

     |
  • Output Argument: None.
  • Return Value: The scanned barcode value.

Events
Completed
Triggered when barcode scanning is finished.

  • Parameters:

    Name

    Type

    Description

    Status

    Enum

    See Status Code

    BarcodeCount

    Integer

    The number of barcodes that were scanned

    Message

    String

     

     |
    Code Examples
    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  
    Show Contents List
  • No labels