DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Code-Barres
  • Gestion des erreurs
  • Décodage des codes barres sous Android
  • Décodage de QRCode
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Décode les informations stockées dans un code-barres. Ce code-barres est contenu dans une image (image affichée dans un champ Image, fichier d'une image ou image en mémoire).
Le type des code-barres décodés dépend de la plateforme d'exécution :
  • AndroidWidget AndroidiPhone/iPad Tous les codes-barres gérés par le système peuvent être décodés.
Attention : Le code-barres doit couvrir une partie suffisante de l'image source et être suffisamment contrasté et net pour que le décodage soit réalisé.
Exemple
Syntaxe
<Résultat> = CBDecode(<Image>)
<Résultat> : Variable de type CodeBarres
Variable de type CodeBarres initialisée avec les informations lues dans le code-barres.
<Image> : Chaîne de caractères
Image du code-barres à décoder. Ce paramètre peut correspondre :
Remarques

Gestion des erreurs

Pour savoir si la récupération a échoué, utilisez :
Android

Décodage des codes barres sous Android

  • Jusqu' à version 2025, le décodage de codes-barres utilise la librairie Zxing (http://code.google.com/p/zxing).
    Si cette librairie n'est pas présente sur l'appareil, son téléchargement sera automatiquement proposé.
    Attention : Cette librairie impose d'utiliser le mode paysage de l'appareil.
  • A partir de la version 2025 Update 1, le décodage de codes-barres utilise l'API de lecture de codes-barres de ML Kit.

Décodage de QRCode

Le tableau suivant présente la correspondance entre la propriété TypeContenu et la propriété Contenu de la variable CodeBarres :
Type de contenuType de la valeur (..Contenu)Remarque
cbTypeTexteChaîne de caractèresExemple : "WINDEV c'est bien !"
cbTypeTéléphoneChaîne de caractèresExemple : "0612345678"
cbTypeSMSChaîne de caractères
Les membres de la structure SMS (SMS.Message et SMS.Numéro) seront automatiquement renseignés avec les valeurs lues dans le code-barres. Le contenu correspondra à une chaîne de la forme : <Numéro> + RC + <Message>
Exemple : "0612345678<RC>Texte à envoyer"
cbTypeURLChaîne de caractèresExemple : "http://www.google.fr"
cbTypeMarketChaîne de caractèresExemple : "market://search?q=pname:com.societe.application"
cbTypeWiFiChaîne de caractèresChaîne de caractères de la forme :
<SSID> + TAB + <Protocole de sécurité>+ TAB + <Clé>
Exemple : "MonRéseau<TAB>WPA<TAB>mdp"
cbTypeEmailChaîne de caractèresExemple : "nom@mail.com"
cbTypeContactVide.
Les membres de la structure mContact seront automatiquement renseignés avec les valeurs lues dans le code-barres.
cbTypePositionVariable de type géoPosition.
Les propriétés Latitude et Longitude de la variable seront automatiquement renseignées avec les valeurs lues dans le code-barres.
Composante : wd300barc.dll
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Performance : Buffer vs Image
A tous ceux qui souhaite optimiser leur lectures via CBDécode.

Durée total lors de l'utilisation de variable :
- Buffer : 1 minute 19 secondes
- Image : 7 minutes 59 secondes

Cas testé :
- Exécution de CBDécode sur 365 fichiers images hautes résolution.
- Un thread par fichier à décoder.
- Exécutions limitées à 10 threads via les sémaphores (10 entrées, 1 sortie)

Dans le code suivant :
m_image est Image // Version initiale
m_image est Buffer // Plus performant
m_image = fChargeBuffer(m_filePath)
qrcode est un CodeBarres
qrcode = CBDécode(m_image)
Amaury NEYHOUSER
26 juin 2024

Dernière modification : 28/01/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale