Les codes barres avec Divalto
L'objet code barre ne gère que les codes barres à une dimension.
Cette documentation traite de l’utilisation des objets code barre pour le développement Divalto via le SDK xwin.
Paramètres dans le SDK
Voici la liste des paramètres dans xwin
L'objet code barre demande les paramètres suivants:
-La variable qui doit contenir la valeur à convertir en code barre.
Le type du code barre :
A l'exécution
Les 6 premiers caractères sont utilisés pour le paramétrage du code barre, le
code barre doit donc commencer à partir du 7 ème caractère.
Ces 6 premiers caractères doivent être mis à espaces avec :Les deux premiers caractères doivent contenir le type de code barre entre 1 et 19
exemple " 1" ou " 2" ou "10" etc ( voir Les types des codes barres )Le caractère suivant peut être à espace, ceci indique qu'il faut prendre la valeur
par défaut du calcul et de l'affichage de la clé sinon
"1" = sans calcul de la clé
"2" = calcul de la clé sans affichage de la clé
"3" = calcul de la clé et affichage de la clé
sinon le type est fixe avec EAN 13 ,EAN 8 etc
Le calcul de la clé oui / non, si oui alors la clé est calculée et ajoutée à la fin de la valeur.
L'affichage de la clé oui / non , si oui et que la clé a été calculée par l'objet code barre alors celui-ci affiche aussi la valeur de la clé.
L'affichage de la valeur sous les traits du code barre oui / non.
Le nom du code barre au dessus des traits du code barre oui / non.
Si les chiffres supplémentaires doivent être imprimés vers le bas oui / non
sinon ils seront imprimés au dessus des traits qui codent les chiffres supplémentaires.
(voir pour les codes EAN 13 , EAN 8 , UPC A et UPC E )Code barre vertical oui / non , sinon il sera imprimé horizontalement .
S'il faut imprimer un cadre autour de la boîte contenant le code barre oui / non
La largeur d'un élément de code barre, c'est à dire la largeur d'un trait. Cette valeur est en centièmes de millimètre , par défaut elle vaut 34, soit 0,34 millimètres.
Types des codes barres
Les types des codes barres sont les suivants
1 - EAN 13
2 - EAN 8
3 - UPC A
4 - UPC E
5 - 2OF5 Entrelacé
6 - CODE 39
7 - CODE 39 Plus
8 - CODE 93
9 - CODE 93 Plus
10 - CODE 128 type A
11 - CODE 128 type B
12 - CODE 128 type C
13 - CODE EAN 128 type A
14 - CODE EAN 128 type B
15 - CODE EAN 128 type C
16 - CODABAR
17 - MSI
18 - ITF 14
19 - CODE 11
20 - CODE 128C sans test
21 - EAN 128C sans test
22 - DLL YBARCODE
NOTE : Les types de code barre 20 et 21 sont les mêmes que 12 (CODE12C) et 15 (EAN128C) a part qu'il n'y a pas de contrôle que la longueur soit multiple de 2, ceci a cause des codes FNC1 qui peuvent se trouver dans le code barre et qui peuvent rendent impair la longueur du code barre.
Famille des codes barres
On peut classer les codes barres par familles
Famille EAN 13 / EAN 8 / UPC A / UPC E
C'est un code strictement numérique avec : 1,2,3,4,5,6,7,8,9,0
La longueur du code est toujours fixe.
L'objet code barre complète la valeur avec des 0 devant pour arriver à la longueur voulue par le type de code barre.
La clé est obligatoire et est toujours affichée.
On peut ajouter 2 ou 5 caractères supplémentaires par exemple pour les code barres ISBN qui sont utilisés sur les livres, les revues, les magazines et les journaux.
L'objet code barre complète la valeur supplémentaire avec des 0 devant pour arriver à 2 caractères sinon il ajoute autant de 0 pour arriver à 5 caractères.
Si le code barre contient une valeur supplémentaire, il faut alors saisir cette valeur de la façon suivante :
exemple :
123456789012-12
123456789012-1 -> 123456789012-01
123456789012-12345
123456789012-123 - > 123456789012-00123
Il est utilisé dans la grande distribution et la presse.EAN 13
Code strictement numérique avec : 1,2,3,4,5,6,7,8,9,0
Toujours 13 caractères ( 12 caractères plus la clé )
Si la valeur fait moins que 12 caractères, l'objet code barre ajoute des 0 devant
La clé est obligatoire
Si la zone ne fait pas 13 caractères, l'objet code barre calcule la clé quelque soit le
paramétrage avec ou sans calcul de la clé.
La valeur de la clé est toujours affichée.
On peut ajouter 2 ou 5 caractères supplémentaires
EAN 8
Code strictement numérique avec : 1,2,3,4,5,6,7,8,9,0
Toujours 8 caractères ( 7 caractères plus la clé )
Si la valeur fait moins que 7 caractères, l'objet code barre ajoute des 0 devant
La clé est obligatoire
Si la zone ne fait pas 8 caractères, l'objet code barre calcule la clé quelque soit le
paramétrage avec ou sans calcul de la clé.
La valeur de la clé est toujours affichée.
On peut ajouter 2 ou 5 caractères supplémentaires
UPC A
Code strictement numérique avec : 1,2,3,4,5,6,7,8,9,0
Toujours 12 caractères ( 11 caractères plus la clé )
Si la valeur fait moins que 11 caractères, l'objet code barre ajoute des 0 devant
La clé est obligatoire
Si la zone ne fait pas 12 caractères, l'objet code barre calcule la clé quelque soit le
paramétrage avec ou sans calcul de la clé.
La valeur de la clé est toujours affichée.
On peut ajouter 2 ou 5 caractères supplémentaires
UPC E
C'est une optimisation du code UPC A. Si la valeur répond à certaines règles alors elle
Peut être imprimée en UPC E sur 6 caractères au lieu de 12 , sinon elle sera imprimée en
UPC A.
La valeur de base est la même que pour le code UPC A, c'est à dire 12 caractères.
Les règles pour transformer un UPC A en UPC E sont les suivantes :
a) le premier chiffre doit être 0
b) soit le nombre UPC A sur 12 caractères représentés par D1 D2 D3 D4 D5 D6 D7 D8
D9 D10 D11 D12 à traduire sur 6 caractères T1 T2 T3 T4 T5 T6
si D11 = '5' ou '6' ou '7' ou '8' ou '9' et D6 <> '0' et D7 à D10 = '0' alors
on peut enlever de D7 à D10 ce qui donne T1=D2 , T2=D3 , T3=D4 , T4=D5 ,
T5=D6 , T6=D11
sinon
si D6 à D10 = '0' et D5 <> '0' alors
on peut enlever D6 à D10 ce qui donne T1=D2 , T2=D3 , T3=D4 , T4=D5 ,
T5=D11 , T6='4'
sinon
si D4 = '0' ou '1' ou '2' et D5 à D8 = '0' alors
on peut enlever de D5 à D8 ce qui donne T1=D2 ,T2=D3, T3=D9,T4=D10,
T5=D11 , T6=D4
sinon
si D4 ='3' ou '4' ou '5' ou '6' ou '7' ou '8' ou '9' et D5 à D9 = '0' alors
on peut enlever de D5 à.D9 ce qui donne T1=D2 ,T2=D3,T3=D4,T4=D10,
T5=D11 , T6='3'
sinon
le code n'est pas traduisible en UPC E et doit être afficher en UPC A
Famille du type 2 sur 5 entrelacé
C'est un code strictement numérique avec : 1,2,3,4,5,6,7,8,9,0
La longueur de ce code est variable mais la longueur finale ( c'est à dire la longueur de la valeur plus la clé, si on à demandé le calcul de la clé ) doit être toujours multiple de 2, si ce n'est pas le
cas , l'objet code barre ajoutera un 0 devant la valeur.
En effet, le premier caractère est codé dans les barres noires tandis que le second est codé dans les espaces entre les barres noires.
Exemple : si la valeur finale est 123 , l'objet code barre codera la valeur 0123.
La clé n'est pas obligatoire mais il est recommandé de toujours ajouter une clé de contrôle.
2OF5 Entrelacé
Code strictement numérique avec : 1,2,3,4,5,6,7,8,9,0
nombre de caractères toujours pair : exemple 123 -> traduit 0123
ITF 14
Code strictement numérique avec : 1,2,3,4,5,6,7,8,9,0
nombre de caractères toujours pair : exemple 123 -> traduit 0123
toujours 14 caractères ( 13 + clé )
La clé est obligatoire pour ITF 14.
La clé est toujours affichée pour ITF 14.
Si la valeur fait moins que 13 caractères l'objet code barre ajoute des 0 devant
Si la zone ne fait que 13 caractères, l'objet code barre calcule toujours la clé quelque soit
le paramétrage avec ou sans calcul de la clé
Famille du type code 39
C'est un code alpha-numérique avec : 1,2,3,4,5,6,7,8,9,0, plus les lettres A à Z plus l'espace et quelques caractères spéciaux.
La longueur de ce code peut être variable, l'objet code barre élimine les blancs non significatifs à la fin de la valeur.
La clé n'est pas obligatoire mais il est recommandé de toujours ajouter une clé de contrôle.
Ce code barre peut être utilisé dans toutes applications qui doivent coder des valeurs alpha-numérique, il est utilisé dans l'industrie et en pharmacie ( boîtes de médicaments )
Le caractère * symbolise les caractères début et fin du code barre, on peut saisir 1234 ou simplement 1234, l'objet code barre ajoute alors le caractère * devant et derrière la valeur.
CODE 39
Code alpha-numérique avec : 1,2,3,4,5,6,7,8,9,0
A jusqu'à Z
a..z sont traduit en A..Z
les caractères accentués sont traduit en A..Z
plus les caractères spéciaux : espace , $ , % , + , - , /
et le point . (la virgule est traduit en point )
Le caractère * symbolise les caractères début et fin du code barre
CODE 39 Plus
Version étendu du CODE 39 avec les caractères : 1,2,3,4,5,6,7,8,9,0
A jusqu'à Z
a jusqu'à z
les caractères accentués sont traduit en a..z
plus les caractères spéciaux : espace , $ , % , + , - , /
le point . la virgule ,
et les caractères !, ", # , & , ', (, ), *, ; , :
< , = ,> , ? ,@, [ , \ , ] , ^ , _ , ' , { , | ,} , ~
Par défaut ce sont les seuls codes possible mais, si votre lecteur est compatible avec la norme ISO 646 on peut coder d'autres caractères
Pour cela , il faut mettre votre lecteur de code barre en mode ISO 646 et utilisée la codification suivante :
Il faut aussi mettre le code ! avant et après le texte
Exemple si vous voulez code 1234 + la touche return , il faut envoyer à l'objet code barre le texte : !1234$M!
Le code $M indique la valeur de la touche return
ASCII | Code 39 | ||||||||||||||
A | A | a | +A | 0 | 0 | ESC (Escape) | %A | SH (Start of Heading) | $A |
| |||||
B | B | b | +B | 1 | 1 | FS (File Separator) | %B | SX (Start of Text) | $B |
| |||||
C | C | c | +C | 2 | 2 | GS (Group Separator) | %C | EX (End of Text) | $C |
| |||||
D | D | d | +D | 3 | 3 | RS (Record Separator) | %D | ET (End of Transmission) | $D |
| |||||
E | E | e | +E | 4 | 4 | US (Unit Separator) | %E | EQ (Enquiry) | $E |
| |||||
F | F | f | +F | 5 | 5 | ; | %F | AK (Acknowledge) | $F |
| |||||
G | G | g | +G | 6 | 6 | < | %G | BL (Bell-Audible of Attention Signal) | $G |
| |||||
H | H | h | +H | 7 | 7 | = | %H | BS (Backspace) | $H |
| |||||
I | I | i | +I | 8 | 8 | > | %I | HT (Horizontal Tabulation) | $I |
| |||||
J | J | j | +J | 9 | 9 | ? | %J | LF (Line Feed) | $J |
| |||||
K | K | k | +K | ! | /A | [ | %K | VT (Vertical Tabulation) | $K |
| |||||
L | L | l | +L | " | /B | | | %L | FF (Form Feed) | $L |
|
| ||||
M | M | m | +M | # | /C | ] | %M | CR (Carriage Return) | $M |
| |||||
N | N | n | +N | $ | /D | ^ | %N | SO (Shift Out) | $N |
| |||||
O | O | o | +O | % | /E | _ | %O | SI (Shift In) | $O |
| |||||
P | P | p | +P | & | /F | { | %P | DL (Data Link Escape) | $P |
| |||||
Q | Q | q | +Q | ' | /G | %Q | D1 (Device Control 1-XON) | $Q |
|
| |||||
R | R | r | +R | ( | /H | } | %R | D2 (Device Control 2) | $R |
| |||||
S | S | s | +S | ) | /I | ~ | %S | D3 (Device Control 3-XOFF) | $S |
| |||||
T | T | t |