|
- 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).
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. Versions 17 et supérieures Nouveauté 17 Versions 20 et supérieures Nouveauté 20
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
Versions 24 et supérieures
// 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 QRCodeAvecImage.ProportionImage = 3 // Correction d'erreur élevé pour compenser l'image au centre QRCodeAvecImage.CorrectionErreur = qrcodeNiveauH // 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 !"
Nouveauté 24
// 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 QRCodeAvecImage.ProportionImage = 3 // Correction d'erreur élevé pour compenser l'image au centre QRCodeAvecImage.CorrectionErreur = qrcodeNiveauH // 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 !"
// 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 QRCodeAvecImage.ProportionImage = 3 // Correction d'erreur élevé pour compenser l'image au centre QRCodeAvecImage.CorrectionErreur = qrcodeNiveauH // 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.
Versions 21 et supérieuresles codes-barres de type Aztec. Nouveauté 21les codes-barres de type Aztec. 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. Versions 21 et supérieuresPour 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).
Nouveauté 21Pour 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).
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).
| Versions 24 et supérieuresImage Nouveauté 24Image 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 les doubler.
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).
Versions 18 et supérieuresCB_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é. Nouveauté 18CB_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_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 : 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_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.
| Versions 24 et supérieuresProportionImage Nouveauté 24ProportionImage 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 : Versions 21 et supérieuresCB_AZTEC : Code-barres de type AZTEC. Nouveauté 21CB_AZTEC : Code-barres de type AZTEC. CB_AZTEC : Code-barres de type AZTEC. Versions 21 et supérieuresCB_MAXICODE : Code-barres de type MaxiCode. Nouveauté 21CB_MAXICODE : Code-barres de type MaxiCode. CB_MAXICODE : Code-barres de type MaxiCode.
- 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.
Versions 18 et supérieuresCB_GS1_128 : Code-barres de type GS1-128 (nouveau nom du code-barres EAN128). Nouveauté 18CB_GS1_128 : Code-barres de type GS1-128 (nouveau nom du code-barres EAN128). 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_DATAMATRIX : Code-barres de type DATAMATRIX.
- CB_PDF417 : Code-barres de type PDF417.
- CB_CODABAR : Code-barres de type Codabar.
- CB_CODE11 : Code-barres de type Code11.
- CB_EAN128 : Code-barres de type EAN128.
- CB_MSI : Code-barres de type MSI.
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 uniquement. |
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…
|
|
|
| |
| Cliquez sur [Ajouter] pour publier un commentaire |
|
| |
|
| |
| |
| |
| |
| |
| |
| | |
| |