|
Ce code ne permet de coder que les chiffres. Ils sont codés 2 par 2 aussi le nombre de chiffres doit-il être pair..
Valeur | Codage |
0 | NNWWN |
1 | WNNNW |
2 | NWNNW |
3 | WWNNN |
4 | NNWNW |
5 | WNWNN |
6 | NWWNN |
7 | NNNWW |
8 | WNNWN |
9 | NWNWN |
Exemple de somme de contrôle pour : 65732
(2 + 7 + 6) x 3 +
3 + 5 = 53 ---> M = 60
60 - 53 = 7
Le nouveau code avec la
somme de contrôle est : 657327 (Noter que le nombre de chiffre incluant la somme
de contrôle est pair.)
Maintenant que nous savons créer le motif d'un code barre, il nous reste à le dessiner à l'écran et à l'imprimer sur papier. Deux approches sont possibles :
La plupart des polices pour codes barre 2 de 5 entrelacé trouvées sur le net (Polices de démonstration incomplètes) sont payantes (Parfois très chères) et de qualité douteuse; la largeur des modules n'étant pas toujours constante dans la définition de la police. J'ai donc décidé de dessiner entièrement une police 2 de 5 entrelacé et de la proposer en téléchargement. Je l'ai testé sur une imprimante laser en corps 15, ce qui donne un très petit code barre d'environ 1,2 mm de largeur par chiffre, résultat : lecture à 100% ! Sur une bonne imprimante à jet d'encre ce même corps 15 donne le même résultat.
Du fait que le code 2 de 5 entrelacé encode des paires de chiffres ma police contient les 100 paires de 00 à 99. 2 caractères additionnels sont réservés aux symboles de début et de fin.
Paire de chiffres |
Code ASCII |
Caractère |
Motif |
00 |
0033 |
! |
NNNNWWWWNN |
01 |
0034 |
" |
NWNNWNWNNW |
.../... |
|||
93 |
0126 |
~ |
NWWWNNWNNN |
94 |
0195 |
à |
NNWNNWWNNW |
.../... |
|||
99 |
0200 |
È |
NNWNNNWWNW |
Début |
0201 |
É |
NNNN |
Fin |
0202 |
Ê |
WNN |
Copiez ce fichier |
Un code 2 de 5 entrelacé sera donc constitué de la manière suivante :
|
Voici un petit programme écrit
|
La fonction code25I$ peut -être réutilisée dans n'importe quel autre programme écrit en Visual Basic 6 ; elle peut également être recopiée telle quelle dans une macro VBA rattachée à un document Excel ou Word.
Public Function Code25I$(chaine$, Optional key As Boolean) |
Depuis la première parution de cette page, j'ai reçu une version en Delphi :
Language |
Auteur |
|
Delphi |
Francisco FERNANDEZ |
|
Visual Foxpro |
Cédric THIVIND |
|
C# |
Pauline |
Vous aimez cette page ? Cliquez ici ! |