|
|
|
|
|
- Propriétés spécifiques à la description des variables de type CodeBarres
- Correspondance entre la propriété Contenu et la propriété TypeContenu
- Fonctions utilisant des variables de type CodeBarres
CodeBarres (Type de variable) En anglais : BarCodes
Le type CodeBarres permet de manipuler les informations contenues dans un code-barres. Les caractéristiques de ce code-barres peuvent être définies et modifiées à l'aide de différentes propriétés WLangage. Les utilisations du type codeBarres sont les suivantes : - Le type CodeBarres est utilisé principalement :
- pour générer des codes-barres dans les fenêtres et dans les états.
- pour décoder les codes-barres de type QR Code (présents dans une image).
- pour imprimer des codes-barres (fonction iImprimeCodeBarre).
- Le type CodeBarres est utilisé principalement :
- pour générer des codes-barres dans les pages.
- pour générer des codes-barres dans les états.
- pour imprimer des codes-barres (fonction iImprimeCodeBarre).
- Le type CodeBarres est utilisé principalement :
- pour décoder les codes-barres lus par la caméra de l'appareil.
- pour générer des codes-barres dans les fenêtres.
- Le type CodeBarres est utilisé principalement :
- pour générer des codes-barres de type QR Code dans les fenêtres.
- pour décoder les codes-barres lus par la caméra de l'appareil.
- pour décoder les codes-barres de type QR Code présents dans une image.
- pour imprimer des codes-barres (fonction iImprimeCodeBarre).
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
MonQRCode est un CodeBarres MonQRCode.TypeContenu = cbTypeTexte MonQRCode.TypeCodeBarres = CB_QRCODE MonQRCode.Contenu = "http://www.pcsoft.fr"  // Affectation à un champ Code-barres CBA_ChampCB = MonQRCode // Génération d'un QRCode avec une image // ------------- Code d'initialisation du code-barres ou de l'état QRCodeAvecImage est un CodeBarres // Image à mettre au centre du code-barres ImageCentreQRCode est une Image ImageCentreQRCode = IMG_DRAPEAU // Type du code-barres QRCodeAvecImage.TypeCodeBarres = CB_QRCODE QRCodeAvecImage.TypeContenu = cbTypeTexte // Image au centre QRCodeAvecImage.Image = ImageCentreQRCode // Niveau de correction d'erreur élevé pour compenser l'image au centre QRCodeAvecImage.CorrectionErreur = qrcodeNiveauH QRCodeAvecImage.ProportionImage = 3 // Pour une proportion d'image de 3%, une correction de niveau L (qrcodeNiveauL) serait insuffisante // pour avoir un code-barres lisible  // Valeur (initiale) QRCodeAvecImage.Contenu = "https://www.pcsoft.fr" // Dans un état, la valeur peut-être ré-affectée : //- par une liaison fichier sur le champ //- dans le code avant impression //- dans le code de lecture des données de l'état // ou bien n'importe où après  // Affectation à un champ Code-barres CBA_Facture = QRCodeAvecImage  // ------------- Code avant impression CBA_Facture.Valeur = "QR Code avec un drapeau au centre !" Remarques Propriétés spécifiques à la description des variables de type CodeBarres Les propriétés suivantes peuvent être utilisées pour manipuler un code-barres : | | | Nom de la propriété | Type manipulé | Effet |
---|
Contenu | Tout type | Valeur du code-barres. - Pour les codes-barres de type QR Code, le type de cette valeur dépend de la propriété TypeContenu.
Consultez la note ci-dessous pour connaître la correspondance entre le type de contenu et le type de la valeur. - Pour les codes-barres autres que QR Code, lors de la lecture d'un code-barres, cette propriété est toujours de type "Chaîne de caractères" et sa valeur est identique à celle de la propriété ValeurBrute.
| CorrectionErreur | Constante de type Entier | Niveau de correction de l'erreur : permet de définir le seuil de lecture d'un code-barres endommagé. Cette propriété est disponible uniquement pour : - les codes-barres de type QR Code.
- les codes-barres de type PDF-417.
- les codes-barres de type Aztec.
Les constantes disponibles pour les QR Code sont : - qrcodeNiveauH : environ 30% des mots encodés peuvent être restaurés.
- qrcodeNiveauL : environ 7% des mots encodés peuvent être restaurés.
- qrcodeNiveauM : environ 15% des mots encodés peuvent être restaurés.
- qrcodeNiveauQ : environ 25% des mots encodés peuvent être restaurés.
Le niveau de correction choisi entraîne : - le changement de la taille du code-barres.
- la modification du nombre maximum de caractères possibles dans le code-barres.
Plus le niveau de correction est élevé, plus le dessin du code-barres aura une taille importante et moins il sera possible de dessiner des données. Par contre, plus le niveau de correction sera élevé, plus le code-barres sera lisible si le support est endommagé. Conseils : - Si le code-barres contient une URL, le niveau L est suffisant.
- Si un logo est inséré dans le code-barres, il vaut mieux passer à un niveau supérieur (M ou Q).
- Si le code-barres est destiné à l'impression d'étiquettes pour un entrepôt, il faut utiliser le niveau H.
Pour les codes-barres de type PDF-417, le niveau de correction de l'erreur correspond à un entier compris entre 0 et 8. Pour les codes-barres de type Aztec, le niveau de correction correspond à un entier compris entre 5 et 95, représentant le pourcentage de correction d'erreur. La valeur par défaut est 33. Si la valeur donnée est - inférieure à 5, la valeur retenue sera 5,
- supérieure à 95, la valeur retenue sera 95,
- négative, la valeur retenue sera 33 (valeur par défaut).
| Image | | Image ajoutée au centre du code-barres (uniquement pour les codes-barres de type QR Code). Cette image peut correspondre à : - une variable de type Image,
- une chaîne de caractères contenant le chemin du fichier image à utiliser,
- une rubrique de type mémo image, ...
| Options | Constante ou combinaison de constantes de type entier | Caractéristiques du code-barres. Ces caractéristiques sont utilisées notamment lors de l'impression d'un code-barres avec la fonction iImprimeCodeBarre. Les constantes pouvant être utilisées sont les suivantes : - CB_Bas : Code-barres positionné en bas du rectangle destination.
- CB_CaractèreControle : Code-barres contenant des caractères de contrôle (valable uniquement pour les codes-barres de type CB_CODE128, CB_DATAMATRIX, CB_EAN128, CB_GS1_128 et CB_PDF417). Par défaut, les caractères de contrôle sont encadrés par les caractères "<" et ">". Pour ne pas interpréter ces caractères comme caractères de contrôle, il suffit de doubler le premier "<" :
- "<C40>" = caractère de contrôle
- "<<AB>" = chaîne <AB> à encoder dans le code-barres.
Pour plus de détails sur les caractères acceptés, consultez Les différents types de codes-barres.- CB_CaractèreVérification : Code-barres contenant des caractères de vérification (valable uniquement pour les codes-barres de type CB_CODE128, CB_DATAMATRIX, CB_EAN128, CB_GS1_128 et CB_PDF417).
Si cette option est sélectionnée, les constantes CB_CaractèreControle et CB_JeuxCaractères sont automatiquement prises en compte. - CB_CentreH : Centrage horizontal du code-barres dans le rectangle destination.
- CB_CentreV : Centrage vertical du code-barres dans le rectangle destination.
- CB_Droite : Code-barres aligné à droite dans le rectangle destination.
- CB_Etendu : Code-barres étendu (valable uniquement pour les codes-barres de type CB_CODE39 et CB_CODE93).
- CB_FormateTexte : Formate le texte affiché pour les codes-barres de type EAN 128 : des parenthèses sont ajoutées autour des AIs dans le texte imprimé.
- CB_Gauche : Code-barres aligné à gauche dans le rectangle destination.
- CB_Haut : Code-barres positionné en haut du rectangle destination.
- CB_IgnoreFormatage : Ignore les parenthèses d'un code 128, EAN-128 ou GS1-128 (valable uniquement pour les codes-barres de type CB_CODE128, CB_EAN128 et CB_GS1_128).
Les parenthèses sont utilisées pour rendre le code-barres plus lisible par un humain, mais ne sont pas dessinées dans le code. - CB_JeuxCaractères : Code-barres utilisant un ou plusieurs jeux de caractères utilisés pour la compression du code-barres. Ce jeu de caractères doit être défini dans la valeur du code-barres.
Pour plus de détails sur les jeux de caractères, consultez Les différents types de codes-barres. - CB_NonProportionnel : Ajuste le code-barres à la taille du rectangle destination.
- CB_SansTexte : N'affiche pas le texte sous le code-barres (valable uniquement pour les codes-barres de type CB_UPCA, CB_UPCB, CB_EAN13 et CB_EAN8).
- CB_Texte : Affiche le texte sous le code-barres.
Le texte est normalisé pour les codes-barres de type CB_UPCA, CB_UPCE, CB_EAN13 et CB_EAN8. Pour les autres types de codes-barres, le texte peut dépasser du cadre d'affichage du code-barres. - CB_TexteCentre : Centre le texte sous le code-barres (valable uniquement pour les codes-barres de type CB_CODE128, CB_CODE93, CB_CODE11, CB_EAN128, CB_CODE39, CB_INTER2OF5, CB_CODABAR, CB_MSI).
- CB_TexteDroite : Aligne à droite le texte sous le code-barres (valable uniquement pour les codes-barres de type CB_CODE128, CB_CODE93, CB_CODE11, CB_EAN128, CB_CODE39, CB_INTER2OF5, CB_CODABAR, CB_MSI).
- CB_TexteGauche : Aligne à gauche le texte sous le code-barres (valable uniquement pour les codes-barres de type CB_CODE128, CB_CODE93, CB_CODE11, CB_EAN128, CB_CODE39, CB_INTER2OF5, CB_CODABAR, CB_MSI).
- CB_Vérification : Code-barres avec caractères de vérification (valable uniquement pour les codes-barres de type CB_CODE39, CB_CODE93, CB_INTER2OF5 et CB_CODABAR).
- CB_Vertical : Imprime le code-barres verticalement.
- CB_90 : Imprime le code-barres verticalement.
- CB_180 : Imprime le code-barres en faisant une rotation à 180 degrés.
- CB_270 : Imprime le code-barres en faisant une rotation à 270 degrés.
| ProportionImage | Réel | Pourcentage de la surface du code-barres occupée par l'image ajoutée au centre du code-barres (uniquement pour les codes-barres de type QR Code pour lesquels la propriété Image est spécifiée). Cette valeur ne doit pas dépasser la moitié de la surface réservée pour la correction d'erreur. | | Valeur de la propriété CorrectionErreur | Valeur maximale de la propriété ProportionImage | qrcodeNiveauH | 5 | qrcodeNiveauL | 1 | qrcodeNiveauM | 3 | qrcodeNiveauQ | 5 |
| TypeCodeBarres | Constante de type Entier | Type de code-barres : - CB_AZTEC : Code-barres de type AZTEC.
- CB_MAXICODE : Code-barres de type MaxiCode.
Non disponible. - CB_QRCODE : Code-barres de type QR Code. Cette constante est utilisée par défaut lors de la création d'une variable de type CodeBarres.
- CB_UPCA : Code-barres de type UPC-A.
- CB_UPCE : Code-barres de type UPC-E.
- CB_EAN8 : Code-barres de type EAN8.
- CB_EAN13 : Code-barres de type EAN13.
- CB_CODE39 : Code-barres de type Code39.
- CB_CODE93 : Code-barres de type Code93.
- CB_CODE128 : Code-barres de type Code128.
- CB_GS1_128 : Code-barres de type GS1-128 (nouveau nom du code-barres EAN128).
- CB_INTER2OF5 : Code-barres de type Interleaved 2 of 5.
- CB_INCONNU : Code-barres décodé par la fonction CBCapture avec un type non reconnu.
Remarque : Cette constante est disponible en lecture uniquement. - CB_DATAMATRIX : Code-barres de type DATAMATRIX.
Ce type de code-barres n'est pas disponible. - CB_PDF417 : Code-barres de type PDF417.
- CB_CODABAR : Code-barres de type Codabar.
- CB_CODE11 : Code-barres de type Code11.
Ce type de code-barres n'est pas disponible. - CB_EAN128 : Code-barres de type EAN128.
Ce type de code-barres n'est pas disponible. - CB_MSI : Code-barres de type MSI.
Ce type de code-barres n'est pas disponible.
Ces types sont également disponibles pour les impressions réalisées à l'aide de la fonction iImprimeCodeBarre. | TypeContenu | Constante de type Entier | Nature des données stockées dans le code-barres : - cbTypeTexte (valeur par défaut lors de la création de la variable) : Texte brut
- cbTypeTéléphone : Numéro de téléphone
- cbTypeSMS : Numéro de SMS
- cbTypeEmail : Adresse email
- cbTypeContact : Description d'un contact
- cbTypePosition : Position géographique
- cbTypeURL : URL (signet). Pour insérer une adresse http dans le code-barres, utilisez le type cbTypeTexte.
Cette constante est conservée par compatibilité et doit être utilisée dans des cas très spécifiques. - cbTypeMarket : Lien vers une application sur Google Play (pour une application Android uniquement)
- cbTypeWiFi : Paramètres de connexion à un réseau Wi-Fi (pour une application Android uniquement)
Remarque : Ces natures de données sont disponibles pour les codes-barres 2D (par exemple QR Code, Aztec, datamatrix, PDF417, ...). Pour les codes-barres autres que les codes-barres 2D, la nature des données est toujours de type texte. | ValeurBrute | Chaîne de caractères Unicode | Valeur brute du code-barres. Pour les codes-barres autres que ceux de type QR Code, la valeur de cette propriété est identique à celle de la propriété Contenu. Cette propriété est disponible en lecture seulement. |
Correspondance entre la propriété Contenu et la propriété TypeContenu | | | Type de contenu | Type de la valeur (Propriété Contenu) | Remarque |
---|
cbTypeTexte | Chaîne de caractères | Exemple : "WinDev c'est bien !" | cbTypeTéléphone | Chaîne de caractères | Exemple : "0612345678" | cbTypeSMS | Chaîne de caractères En lecture : 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>En génération : S'ils existent, les membres de la structure SMS (SMS.Message et SMS.Numéro) seront automatiquement pris en compte. Il est également possible d'utiliser une chaîne de caractères de la forme : <Numéro> + RC + <Message> | Exemple : "0612345678<RC>Texte à envoyer" | cbTypeURL | Chaîne de caractères Correspond à un signet. Le contenu sera encodé sous la forme "urlto::URL". Par exemple : "urlto::http://www.pcsoft.fr". Certains décodeurs ne supportent pas ce type de contenu. Pour spécifier une adresse http, utilisez le type de contenu cbTypeTexte. Remarque : Cette constante est conservée par compatibilité et doit être utilisée dans des cas très spécifiques. | Exemple : "http://www.google.fr" | cbTypeMarket | Chaîne de caractères | Exemple : "market://search?q=pname:com.societe.application" | cbTypeWiFi | Chaîne de caractères | Chaîne de caractères de la forme : <SSID> + TAB + <Protocole de sécurité>+ TAB + <Clé> Exemple : "MonRéseau<TAB>WPA<TAB>mdp" | cbTypeEmail | Chaîne de caractères | Exemple : "nom@mail.com" | cbTypeContact | Vide. En lecture : Les membres de la structure mContact seront automatiquement renseignés avec les valeurs lues dans le code-barres. En génération : Les membres de la structure mContact seront automatiquement utilisés pour générer le code-barres. | | cbTypePosition | Variable de type géoPosition. En lecture : Les propriétés Latitude et Longitude de la variable seront automatiquement renseignées avec les valeurs lues dans le code-barres. En génération : Les propriétés Latitude et Longitude de la variable seront automatiquement utilisées pour générer le code-barres. | |
Fonctions utilisant des variables de type CodeBarres | | CBCapture | Décode les informations stockées dans un code-barres en utilisant la caméra de l'appareil (Android, iPhone, iPad). | CBDécode | Décode les informations stockées dans un code-barres de type QR Code. | iImprimeCodeBarre | Imprime un code-barres (à l'intérieur d'un rectangle). |
Remarque : Pour réinitialiser le contenu d'une variable de type CodeBarres, il est possible d'utiliser la fonction VariableRAZ.
Liste des exemples associés :
|
Android (WINDEV Mobile) : Android Inventaire
[ + ] Cette application permet de réaliser les inventaires et d'enregistrer les résultats dans une base de données.
|
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|