ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Windows functions / Bar Code functions
  • Use conditions
  • Handling errors
  • Application in the background: Specific case from Android 10
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Decodes the information stored in a bar code by using the device camera (Android, iPhone, iPad).
Tip: Use the Camera control whenever possible:
Example
// Decode a QR Code
bc is BarCode
bc = BCCapture()
IF ErrorOccurred = False _AND_ bc.TypeContent = bcTypeEmail THEN
    	Info("Email address: " + bc.RoughValue)
END
Syntax
<Result> = BCCapture([<Bar code type> [, <Enable flash>]])
<Result>: BarCode variable
BarCode variable initialized with the information read in the bar code.
iPhone/iPadIOS WidgetMac Catalyst Remark: The TypeBarCode property of the BarCode variable is not updated: it always corresponds to "QRCode".
<Bar code type>: Optional Integer constant
Type of bar code that can be decoded:
BC_AZTECAztec bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_CODE128Code128 bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_CODE39Code39 bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_CODE93Code93 bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_DATAMATRIXDATAMATRIX bar code.
iPhone/iPadIOS WidgetMac Catalyst Not available.
BC_EAN128EAN128 bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_EAN13EAN13 bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_EAN8EAN8 bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_INTER2OF5Interleaved 2 of 5 bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_PDF417PDF417 bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_QRCODEQR Code bar code.
BC_UPCAUPC-A bar code.
iPhone/iPadIOS WidgetMac Catalyst Not available.
BC_UPCEUPC-E bar code.
iPhone/iPadIOS WidgetMac Catalyst This type of bar code is available from iOS 7.
BC_ALLAll the types of bar codes supported by this function can be decoded.

If this parameter is not specified, all types of codes supported by this function can be decoded.
iPhone/iPadIOS WidgetMac Catalyst Starting with IOS 7, the following bar codes can be decoded: QR Code, UPCE, Code39, Code39Mod43, EAN13, EAN8, Code93, Code128, PDF417 and Aztec.
<Enable flash>: Optional boolean
iPhone/iPadIOS WidgetMac Catalyst Flash management mode:
  • True to enable the flash,
  • False (default) to disable the flash.
Remarks

Use conditions

AndroidAndroid Widget In an Android application:
  • BCCapture opens a new window that displays the camera preview stream. Then, you must:
    • center the bar code to decode in the relevant area.
    • tap to read the bar code.
  • The Zxing library is used to decode bar codes (http://code.google.com/p/zxing). If this library is not on the device, it will be automatically available for download.
    Caution: This library requires the landscape mode of the device.
iPhone/iPadIOS WidgetMac Catalyst For iPhone/iPad applications:
  • BCCapture opens a new window that displays the camera preview stream. Then, you just need to center the bar code to decode in the relevant area.
  • The window used to take photos is included in the WINDEV Mobile application. No additional library is required.

Handling errors

To determine whether the bar code failed to be read, use the ErrorOccurred variable.
The function will fail in the following cases:
  • if it is used in the simulator,
  • if it is used in the emulator,
  • if it is used in a device not equipped with a camera.
  • iPhone/iPadIOS WidgetMac Catalyst if the "Cancel" button was used. In this case, the TypeBarCode property of the BarCode variable will be different from BC_QRCODE.
Android If the barcode is decoded but its type is not recognized, the TypeBarCode property of the BarCode variable will correspond to the BC_UNKNOWN constant.
AndroidAndroid Widget

Application in the background: Specific case from Android 10

From Android 10, it is no longer possible to open a window when the application is in the background.
BCCapture can open a window. If this function is used while the application is in the background, a fatal error will occur.
Tips:
  • It is possible to determine if the application is in the background using InBackgroundMode.
  • If an application needs to interact with the user while it is in the background, the solution is to display a notification (via the Notification type). The application will be brought back to the foreground when the notification is clicked, if the ActivateApplication property is set to True. You can also open a window from the procedure passed to the ActionClick property.
Related Examples:
WM Stocks Cross-platform examples (WINDEV Mobile): WM Stocks
[ + ] This application is used to perform stocktaking and to save the results in a database.
The example is used to create entries/exits in the stock, by directly scanning the bar code of products.
It is optimized to be run on tablets.
Android Inventory Android (WINDEV Mobile): Android Inventory
[ + ] This application is used to perform inventories and to save the results in a database.
Business / UI classification: Neutral code
Component: wd300android.aar
Minimum version required
  • Version 16
Comments
Control câmera read barcode and qrcodes
The support I requested, they resolved the barcode reading on the mobile without using third-party programs, see how:

Add control câmera in form Windev Mobile
Description / Detail
Alter from:
Read codebar qrcode
All codes types
Ok
In code control câmera
Exist return
Info (bc..content)
Close

Zxing is very obsolete
Not use
Exist control câmera
Ajust by support ad@pcsoft.fr in 2015
Link:
https://help.windev.com/Ne-US/?1013304

https://youtu.be/wfLRbzltLWU?si=qHhUsMAsDUDImiel

https://youtu.be/icag_aj07do?si=DXh1OrAJvKoyNhKh

https://repository.windev.com/search.awp?q=Qrcode&origin=searchbox
Boller
03 Oct. 2024

Last update: 07/08/2024

Send a report | Local help