DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions d'impression
  • Présentation
  • Les codes-barres gérés par WINDEV, WEBDEV et WINDEV Mobile
  • Codes-barres gérés
  • Code-barres UPC (Universal Product Code)
  • Code-barres EAN (European Article Numbering system)
  • Code-barres 2PARMI5
  • Code-barres CODABAR
  • Code-barres MSI
  • Code-barres Code 39
  • Code-barres Code 128
  • Code-barres DataMatrix
  • Code-barres PDF 417
  • Code QR
  • Code-barres Aztec
  • Code-barres MaxiCode
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
L'utilisation de codes-barres pour identifier et gérer des produits est devenue indispensable.
Le principe du code-barres est simple : quelques traits verticaux ou carrés de taille et de largeur différentes permettent de coder un ensemble d'informations.
L'information représentée par un code-barres est une suite de caractères numériques ou alphanumériques. Cette information peut être complétée par des caractères facilitant la lecture ou des caractères de contrôle.
Ces informations peuvent être lues :
  • WINDEV à l'aide d'un appareil spécialisé et récupérées dans une application WINDEV.
    Pour les codes-barres de type QR Code, il est également possible de lire un code-barres présent dans une image.
Ces codes-barres peuvent être imprimés depuis une application WINDEV, WINDEV Mobile ou un site WEBDEV.
WINDEV, WINDEV Mobile et WEBDEV permettent de gérer de nombreux types de codes-barres. Tous ces types peuvent être imprimés. Pour plus de détails, consultez Impression de codes-barres.
Les codes-barres gérés par WINDEV, WEBDEV et WINDEV Mobile

Codes-barres gérés

Différents types de codes-barres existent. Chacun est utilisé dans un domaine bien précis. Voici les principaux types de codes-barres existants, tous gérés par WINDEV, WINDEV Mobile et WEBDEV :
  • UPC (Universal Product Code) : Code-barres des produits vendus en supermarché (US).
  • EAN (European Article Numbering system) : Extension européenne du Code UPC.
  • 2PARMI5 : Code-barres utilisé en milieu industriel.
  • CODABAR : Code-barres utilisé en librairie, dans les banques de sang.
  • Code MSI : Codage réalisé bit par bit, chaque bit étant l'association d'une barre pleine et d'une barre vide.
  • Code 39 : Premier code-barres alphanumériques développé.
  • Code 128 : Code alphanumérique ayant une haute densité.
  • Code DataMatrix : Code-barres en 2 dimensions, permettant de coder beaucoup d'informations sur une surface réduite. Ce type de code-barres est utilisé par exemple pour les pièces électroniques.
  • Code PDF 417 : Code-barres en 2 dimensions. Ce type de code-barres peut gérer jusqu'à 2000 caractères. Ce type de code-barres est utilisé dans les domaines de la santé, le transport, ...
  • QR Code : Code-barres en 2 dimensions. Ce type de code-barres permet de stocker différents types d'informations (adresses Web, texte, numéros de téléphone, SMS, ...) et peut être utilisé directement par les téléphones mobiles ou les smartphones.
  • Code Aztec : Code-barres en 2 dimensions. Ce type de code-barres est utilisé notamment pour les billets de train dématérialisés.
  • MaxiCode : Code-barres en 2 dimensions. Ce type de code-barres est utilisé notamment pour le transport (transporteur UPS).
Les paragraphes suivants détaillent ces types de codes-barres et leurs caractéristiques gérées par WINDEV, WINDEV Mobile et WEBDEV.

Code-barres UPC (Universal Product Code)

Code-barres UPC
Code-barres des produits vendus en supermarché (US). Sa taille globale est de 12 chiffres. Il contient :
  • le code du fabricant (5 caractères).
  • le code du produit (5 caractères).
  • un numéro système.
  • un caractère de contrôle.

Code-barres EAN (European Article Numbering system)

Code-barres EAN13
Code EAN 13
Extension européenne du Code UPC. Plusieurs versions existent :
  • EAN 13, constitué des 12 caractères du code UPC, et d'un caractère de contrôle de parité.
  • EAN 8, constitué de 2 caractères réservés, d'un code sur 5 caractères et d'un caractère de contrôle.
  • EAN 128 : voir code 128

Code-barres 2PARMI5

Code-barres 2PARMI5
Code-barres utilisé en milieu industriel, compacte avec un maximum de 18 chiffres par pouces. Il est surtout utilisé pour une lecture entièrement automatisée.

Code-barres CODABAR

Code-barres CODABAR
Code-barres utilisé en librairie, dans les banques de sang. Il accepte outre les chiffres, les caractères : "$ABCD./+:-".
La chaîne doit commencer et terminer par un caractère de START / STOP. Les caractères de START / STOP sont A, B, C, D. Si la chaîne ne contient pas ce caractère, le caractère A est automatiquement ajouté.
Exemple de valeur : "A123456789123456789A"

Code-barres MSI

Code-barres MSI
Codage réalisé bit par bit, chaque bit étant l'association d'une barre pleine et d'une barre vide. Il accepte 10 chiffres et 6 caractères additionnels.
Caractéristiques gérées pour ce code-barres :
  • Code-barres avec vérification : le dernier caractère du code-barres correspond à un caractère de vérification.
  • Code-barres étendu : un code-barres étendu peut contenir les 128 caractères présents dans le code ASCII.

Code-barres Code 39

Code-barres Code 39
Premier code-barres alphanumériques développé. Originellement, il accepte seulement les 26 lettres de l'alphabet en majuscules. Avec extension, les 128 codes ASCII sont accessibles.
Le Code 93 est une extension du code 39.
Caractéristiques gérées pour ce code-barres :
  • Code-barres avec vérification : le dernier caractère du code-barres correspond à un caractère de vérification.
  • Code-barres étendu : un code-barres étendu peut contenir les 128 caractères présents dans le code ASCII.
Le caractère * est réservé pour le START et le STOP : il ne peut pas être utilisé dans le code (sauf si le code-barres est étendu).

Code-barres Code 128

Code-barres Code 128
Code alphanumérique ayant une haute densité.
Il utilise trois jeux de caractères différents. Le jeux de caractères utilisé est automatiquement sélectionné par WINDEV, WEBDEV ou WINDEV Mobile pour dessiner le code-barres le plus petit possible.
Un caractère de correction est automatiquement généré. Sa valeur est égale à la somme pondérée des valeurs des caractères modulo 103.
Caractères de contrôles
Les caractères de contrôle acceptés sont les suivants : <FNC1>, <NUL>, <FNC2>, <FNC3>, <FNC4>, <SHIFT>.
Exemple : Encodage d'un caractère FNC1 avant la chaîne "CODE <128>" : "<FNC1>CODE <<128>"
Les valeurs spécifiées entre < > sont encodées telles quelles (quel que soit le jeu de caractères sélectionné).
Exemple : Code WLangage permettant d'imprimer le code EAN128 suivant : (01)93067280205495(3103)018750
iDestination(iVisualisateur, i100)
iImprimeCodeBarre("01<FNC1>93067280205495<FNC1>3103018750", ...
CB_EAN128, 20, 20, 90, 90, CB_CaractèresContrôle)
iFinImprime
Remarque : Les parenthèses ne sont pas imprimées mais servent de séparateur de données dans le texte destiné à être lu par un humain. Le séparateur de données du code EAN128 est le caractère <FNC1>. FNC1 est un caractère de contrôle. Il est possible de l'insérer dans la chaîne à encoder en spécifiant la constante CB_CaractèresContrôle (ou l'option "Spécifier les caractères de contrôles" sous l'éditeur d'états).
Jeux de caractères
Par défaut, le jeu de caractères utilisé est automatiquement sélectionné par WINDEV, WEBDEV ou WINDEV Mobile pour dessiner le code-barres le plus petit possible.
Pour spécifier le jeu de caractères à utiliser, il est possible d'utiliser les caractères de contrôle suivants :
  • pour spécifier le jeux de caractères en début de code-barres : <START A>, <START B>, <START C>. Si aucun START n'est indiqué, par défaut, le jeu de caractères "CODE A" est utilisé.
  • pour changer de jeux de caractères dans le code-barres : <CODE A>, <CODE B>, <CODE C>.
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.
Exemple : Code WLangage permettant d'imprimer un code avec les caractéristiques suivantes : les 3 premiers caractères alphanumériques doivent être en jeu B et les 10 derniers en jeu C :
iDestination(iVisualisateur, i100)
iImprimeCodeBarre("<START B>ABC<CODE C>0123456789", CB_CODE128, 20, 20, 80, 60, CB_JeuxCaractères)
iFinImprime()

Code-barres DataMatrix

Code-barres DataMatrix
Code-barres en 2 dimensions, permettant de coder jusqu'à 2335 caractères alphanumériques ou 3116 caractères numériques sur une surface réduite. Ce type de code-barres est utilisé par exemple pour les pièces électroniques.
Caractéristiques gérées pour ce code-barres :
  • La taille de la matrice. Par défaut, la taille de la matrice est calculée en fonction de la taille de chaîne et optimisée pour obtenir une matrice carrée.
  • Les caractères de contrôle : Les caractères de contrôles acceptés sont les suivants : <FNC1>, <NUL>, <PAD>, <STRUCTURED APPEND>, <READER PROGRAMMING>, <05 MACRO>, <06 MACRO>, <ECI>.
  • Jeu de caractères : Le choix des jeux de caractères est optimisé afin d'écrire le code-barres le plus petit possible.
    Pour spécifier le jeu de caractères à utiliser, il est possible d'utiliser les caractères de contrôle suivants : <ASCII>, <C40>, <TEXT>, <X12>, <EDIFACT>, <BASE256>. Le jeu de caractères par défaut est le "ASCII". Ce jeu doit être utilisé pour spécifier une valeur déjà encodée ou spécifier un autre jeu de caractères. Pour revenir au code ASCII depuis un autre jeu de caractères, il suffit de préciser <ASCII>.
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.

Code-barres PDF 417

Code-barres PDF 417
Code-barres en 2 dimensions. Ce type de code-barres peut gérer jusqu'à 2000 caractères (les codes-barres à une dimension gèrent rarement plus de 30 caractères).
La capacité de stockage de ce type de code-barres est très importante.
Ce type de code-barres est utilisé dans les domaines de la santé, le transport, ...
Pour les codes-barres PDF417 , les caractéristiques suivantes sont également gérées :
  • Par défaut, la taille de la matrice est calculée en fonction de la chaîne
  • Niveau de correction calculé selon la longueur (après compression) des données à encoder :
    • de 1 à 40 caractères : niveau 2
    • de 41 à 160 caractères : niveau 3
    • de 161 à 320 caractères : niveau 4
    • à partir de 321 caractères : niveau 5
  • Hauteur de ligne : 4 par défaut
  • Caractères de contrôle : Les caractères de contrôle acceptés sont <NUL> et <READER INIT>.
  • Jeu de caractères : Par défaut, le choix des jeux de caractères est optimisé afin d'écrire le code-barres le plus petit possible.
    Pour spécifier le jeu de caractères à utiliser, il est possible d'utiliser les caractères de contrôle suivants : <TC ALPHA>, <TC LOWER>, <TC MIXED>, <TC PUNCTUATION>, <BC>, <NC>.
Exemple : Code WLangage permettant d'imprimer un code PDF 147 en précisant le jeu de caractères :
iAperçu(i100)
iImprimeCodeBarre("<READER INIT><TC LOWER>abcd<TC MIXED><TC PUNCTUATION>(?)", ...
CB_PDF417, 0, 0, 200, 200, CB_CaractèresContrôle + CB_JeuxCaractères)
iFinImprime()
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.

Code QR

Code-barres Code QR
Code-barres en 2 dimensions, constitué de modules noirs disposés dans un carré à fond blanc. Ce type de code-barres est destiné à être lu par un lecteur de code QR, un téléphone mobile ou un smartphone. Il peut gérer jusqu'à 7089 caractères numériques ou 4296 caractères alphanumériques (les codes-barres à une dimension gèrent rarement plus de 30 caractères).
La capacité de stockage de ce type de code-barres est très importante.
Ce type de codes-barres est utilisé dans de nombreux domaines. Il peut mémoriser des adresses Web, du texte, des numéros de téléphone, des SMS, ...
Pour les Codes QR, il est également possible de spécifier un niveau de correction d'erreur : si le code est endommagé, jusqu'à 30% des mots codés pourront être restaurés. Les niveaux de correction sont les suivants :
  • Niveau L : environ 7% des mots encodés peuvent être restaurés.
  • Niveau M : environ 15% des mots encodés peuvent être restaurés.
  • Niveau Q : environ 25% des mots encodés peuvent être restaurés.
  • Niveau H : environ 30% des mots encodés peuvent être restaurés.

Code-barres Aztec

Code-barres Aztec
Code-barres en 2 dimensions, constitué d'une cible carrée centrale. Les données sont encodées dans des couches concentriques de pixels autour de cette cible. Ce type de code-barres est destiné à être lu par un lecteur de code-barres, un téléphone mobile ou un smartphone. Il peut gérer jusqu'à 3000 caractères ASCII.
Ce type de codes-barres est utilisé notamment pour les billets de train dématérialisés.
Pour les codes-barres Aztec, il est également possible de spécifier un niveau de correction d'erreur en pourcentage, compris entre 5 et 95%. Si le code est endommagé, jusqu'à 95% des mots codés pourront être restaurés.

Code-barres MaxiCode

Code-barres MaxiCode
Code-barres en 2 dimensions, constitué d'un élément central, similaire à une cible, entouré d'une matrice carrée de 33 lignes de 29, ou alternativement 30, éléments hexagonaux. Ce type de code-barres est destiné à être lu par un lecteur de code-barres spécifique. Le MaxiCode a une taille fixe de 1 pouce sur 1 pouce. Il permet d'imprimer environ 100 caractères alphanumériques sur sa surface de 1 pouce carré. Ce type de codes-barres est utilisé pour le transport, la défense, la santé et notamment par la société UPS qui a développé ce type de code-barres.
Ce type de code-barre propose différents modes. Pour spécifier le mode utilisé (2 à 4), il suffit d'utiliser la balise <MODEx> où x correspond au numéro du mode voulu. Le mode 2 et 3 correspond au format spécifique utilisé par UPS. Les balises suivantes sont également gérées :
  • <EOT>
  • <GS>
  • <RS>
  • <FS>
Remarque : Pour utiliser les caractères '<' et'>', il faut les doubler.
Attention : Ce code-barres ne peut pas être décodé à l'écran. Il est nécessaire de l'imprimer.
Liste des exemples associés :
WD Etats Exemples didactiques (WINDEV) : WD Etats
[ + ] Cet exemple montre les différentes méthodes pour réaliser un état :

- impressions basées sur différentes sources de données (requêtes, variables, ...)
- impressions basées sur des champs (Table, Tableur, TCD, ...)
- impression d'états composés
- impressions spécifiques (portrait / paysage, état avec filigrane, état avec code-barres, ...)
WM Stocks Exemples multiplateforme (WINDEV Mobile) : WM Stocks
[ + ] Cette application permet de réaliser des inventaires et d'enregistrer les résultats dans une base de données.
L'exemple permet de créer des entrées/sorties dans le stock, en scannant directement le code-barres des produits.
Il est optimisé pour être exécuté sur les tablettes.
Android Inventaire 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.
Le champ Code-barres Exemples unitaires (WINDEV) : Le champ Code-barres
[ + ] Utilisation d'un champ Code-barres
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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