cannibal20
Messages postés1Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 7 septembre 2007 7 sept. 2007 à 17:48
POUR LES LETTRES IL SUFFIT DE MODIFIER CECI:
Public Function CodeBarreCode39(pCodeBar As String, Col As Long, Lig As Long, Optional Hauteur As Long 800, Optional largeur As Long 1500)
Dim TJA(255) As String
Dim CodeBar As String
Dim Chiffre As Long
Dim Ind As Long
Dim CodeChiffre As String ' Profil binaire des traits
Dim Lettre As String '
Dim Epaisseur1Trait As Double ' Epaisseur d'un trait
Dim Decalage As Long
CodeBar = pCodeBar
' initialisation du jeu de caractères pour code barre Code 39
' Le TJA(10) correspond au caractère de début et de fin du code barre (caractère *)
TJA(0) = "0001101000" '= 0
TJA(1) = "1001000010" '= 1
TJA(2) = "0011000010" '= 2
TJA(3) = "1011000000" '= 3
TJA(4) = "0001100010" '= 4
TJA(5) = "1001100000" '= 5
TJA(6) = "0011100000" '= 6
TJA(7) = "0001001010" '= 7
TJA(8) = "1001001000" '= 8
TJA(9) = "0011001000" '= 9
TJA(10) = "0100101000" '= CARATÈRE DÉBUT ET FIN
TJA(32) = "0110001000" '= SPACES
TJA(36) = "0101010000" '= $
TJA(37) = "0001010100" '= %
TJA(42) = "0100101000" '= * & CARATÈRE DÉBUT ET FIN
TJA(43) = "0100010100" '= +
TJA(45) = "0100001010" '= -
TJA(46) = "1100001000" '= .
TJA(47) = "0101000100" '= /
TJA(65) = "1000010010" '= A
TJA(66) = "0010010010" '= B
TJA(67) = "1010010000" '= C
TJA(68) = "0000110010" '= D
TJA(69) = "1000110000" '= E
TJA(70) = "0010110000" '= F
TJA(71) = "0000011010" '= G
TJA(72) = "1000011000" '= H
TJA(73) = "0010011000" '= I
TJA(74) = "0000111000" '= J
TJA(75) = "1000000110" '= K
TJA(76) = "0010000110" '= L
TJA(77) = "1010000100" '= M
TJA(78) = "0000100110" '= N
TJA(79) = "1000100100" '= O
TJA(80) = "0010100100" '= P
TJA(81) = "0000001110" '= Q
TJA(82) = "1000001100" '= R
TJA(83) = "0010001100" '= S
TJA(84) = "0000101100" '= T
TJA(85) = "1100000010" '= U
TJA(86) = "0110000010" '= V
TJA(87) = "1110000000" '= W
TJA(88) = "0100100010" '= X
TJA(89) = "1100100000" '= Y
TJA(90) = "0110100000" '= Z
'//==== Creation du mask représentant le code barre (série de 1, de 0)
'//"0" une bande étroite
'//"1" une bande large
'//"-" diminution de la hauteur du code barre (pour mettre le texte en dessous)
'//"+" Augmentation de la hauteur du code barre
CodeChiffre = TJA(10) + "-"
For Ind = 1 To Len(CodeBar)
If IsNumeric(Mid(CodeBar, Ind, 1)) Then
Chiffre = Val(Mid(CodeBar, Ind, 1))
Else
Chiffre = Val(Asc(UCase(Mid(CodeBar, Ind, 1))))
End If
CodeChiffre = CodeChiffre + TJA(Chiffre)
Next Ind
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 14 nov. 2005 à 20:39
Les lettres ne sont pas gérées pour ce programme ci.
Mais comme je l'ai dit plus haut, il suffit de modifier le programme pour correspondre à d'éventuelles normes pour le code 39.
zoizome
Messages postés3Date d'inscriptiondimanche 13 juillet 2003StatutMembreDernière intervention14 novembre 2005 14 nov. 2005 à 13:40
Et comment faire pour les lettres ?
TJA(A) = "??????????"
TJA(B) = "??????????"
...
:(
bleva
Messages postés3Date d'inscriptionlundi 28 avril 2003StatutMembreDernière intervention15 avril 2004 7 sept. 2005 à 22:00
Je te remercie de ta reponse mais j'ai reussi a contourner le probleme en passant par l'impression en code 128 avec la police et ca marche nickel
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 7 sept. 2005 à 21:37
Pour l'impression des lettres en code 39, je ne sais po si c'est possible. Il faudrait récupérer la doc complète sur le code 39 et voir si des codes sont disponibles pour les lettres.
Logiquement, ce serait possible vu que, comme est défini le code 39, il peut y avoir jusqu'à 84 combinaisons et donc 84 caractères : Bien assez pour coder les 10 chiffres et les 26 lettres de l'alphabet en majuscules et en minuscules.
Il suffit donc de vérifier dans la norme du code 39 si c'est bien définit.
Pour mon programme, je propose de remplacer le tableau TJA par un tableau dont l'index correspond à la valeur ASCII de la lettre à coder. A tester...
Bonne chance !!!
bleva
Messages postés3Date d'inscriptionlundi 28 avril 2003StatutMembreDernière intervention15 avril 2004 7 sept. 2005 à 10:13
Ton code marche nickel
Mais auriez vous une idée sur l'impression d'un code barre avec des lettres
cs_agh
Messages postés36Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention 9 novembre 2011 17 avril 2005 à 14:22
Merci beaucoup .... Rien à dire ): hassan
ChristianBL
Messages postés1Date d'inscriptionmercredi 10 novembre 2004StatutMembreDernière intervention10 novembre 2004 10 nov. 2004 à 19:08
je souhaite utiliser le code source pour une application VBA sous ACCESS mais les fonctions d'impressions(Printer.DrawWidth = 1
Printer.Line (X + Col, Lig)-(X + BarreCourteNoire + Col, Lig + Hauteur), , BF) ne font pas parti des fonctions standards. Pouvez vous m'aider? Merci par avance.
guns_mercy
Messages postés11Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention 9 mars 2007 27 oct. 2004 à 13:10
je vous remercie tt de meme
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 27 oct. 2004 à 08:47
Comme expliqué dans l'entête de la fonction, la taille du code barre est passée en paramètre. Pour mon application, j'ai utilisé une taille qui vallait 1750.
Pour la taille du code barre, il faut la déterminer par l'expérience. Ce qui est prépondérant dans la détermination de la taille du code barre, c'est la résolution de l'imprimante. Lors de mes essais sur une imprimante laser (600 dpi), j'arrivais à faire des codes barres de 2 cm de long pour 5 chiffres, mais avec l'imprimante à étiquettes (300 dpi), il fallait qu'ils fassent 4 à 5 cm pour un code barre de 5 chiffres aussi.
guns_mercy
Messages postés11Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention 9 mars 2007 27 oct. 2004 à 01:56
slt,
je te remercie pour les liens j'aimerai bien savoir une autre chose, lors de l'impression du code barre est ce que la taille du code barre entre en jeux. et vous pourrai me donner la taille du code barre.
et merci d'avance
asem67
Messages postés145Date d'inscriptionmardi 3 septembre 2002StatutMembreDernière intervention24 février 2008 26 oct. 2004 à 21:39
voila mais tu peut chercher sur le net ça ne manque pas
les prix sont assez elever !!!!
slt
guns_mercy
Messages postés11Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention 9 mars 2007 25 oct. 2004 à 19:28
bonjour j'aimerai bien savoir ou on peu bien se procurer un douchette et s'il y a des marque ou des refrences precises. pour moi je suis bien intersse d'avoir une comme celle de Mr asem67 est ce que quelqu'un pourrai m'aider a trouver une et merci ??
asem67
Messages postés145Date d'inscriptionmardi 3 septembre 2002StatutMembreDernière intervention24 février 2008 21 oct. 2004 à 20:13
slt
pour ma part c'est egalement une douchette mais connecter au port ps2 clavier
qui envoie la lecture dans la zone ou est le curseur (ça marche partout ou on peut taper du text comme si ont avez taper au clavier
aucun logiciel d'interpretation entre
toute la config se fait par lecture de code barre de configuration fournie avec la douchette
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 21 oct. 2004 à 08:46
Pour mon projet, la douchette était connectée sur le port série du PC. La valeur lue par la douchette était alors envoyée en ascii.
cs_toftof
Messages postés4Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention29 septembre 2004 20 oct. 2004 à 10:34
ça marche bien mais pour la lecture du code barre ca marche comment.Y a t il des applis pour interpreter ce que lit la douchette par exemple ?
A+
asem67
Messages postés145Date d'inscriptionmardi 3 septembre 2002StatutMembreDernière intervention24 février 2008 17 oct. 2004 à 15:53
Slt
Desoler je viens 1 peut tard, cela fais plus d1 ans que mon prog GDSv3 (gestion des stocks de pieces machine ....etc) realiser en vb6 tourne avec ta source
j'imprime mes etiquette de piece avec code bar pour la sortie du stock et j'ai plus de 5 chiffre et ça fonctionne nickel (6 chiffre Ref. + 2chiffre Quantite a sortire)
impresion efectuer sur une UBI 201 (imp pro d'etiquetage )
je t'en remerci beaucoup
A+
Cyberdevil
Messages postés483Date d'inscriptionmardi 10 juillet 2001StatutMembreDernière intervention12 juillet 2006 7 déc. 2003 à 21:27
Oui g vu une source a ce sujet sur vbfrance -> A vos recherche lol (snion ya l'api je crois)
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 7 déc. 2003 à 21:25
Je n'ai pas trouvé comment choisir l'imprimante sur laquelle le code barre est imprimé. Pour l'instant, le code barre est imprimé sur l'imprimante par défaut. Mais il y a surement un moyen pour afficher l'écran de sélection des imprimantes.
Peut etre qu'il existe une source sur ce site qui permet de gérer les imprimantes....
Cyberdevil
Messages postés483Date d'inscriptionmardi 10 juillet 2001StatutMembreDernière intervention12 juillet 2006 7 déc. 2003 à 19:11
Est-ce que il y a qqun qui as deja vu / fait un ptit circuit pour lire les codes barres ?
goldfingers_suisse
Messages postés29Date d'inscriptiondimanche 2 novembre 2003StatutMembreDernière intervention 7 décembre 2006 7 déc. 2003 à 18:38
Ok merci !
J'ai encore juste une question :
Il y aurait un moyen pour choisir l'imprimante sur laquelle imprimer ?
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 5 déc. 2003 à 12:07
non non ya po de pb : ca fera 10 euros et un Mars ;)
je rigole...
Si j'ai mis ce code sur ce site c'est surtout pour que d'autres gens puissent l'utiliser donc : vas y sert toi !!!
goldfingers_suisse
Messages postés29Date d'inscriptiondimanche 2 novembre 2003StatutMembreDernière intervention 7 décembre 2006 4 déc. 2003 à 20:05
Bonjour, je voulais savoir si ça ne vous dérangeait pas si j'utilisais la source dans un projet pour l'école ?
Je dois créer une gestion de client avec une impression de code barre.
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 28 sept. 2003 à 22:47
Merci beaucoup pour le commentaire
C vrai c'est un bug
en fait po vraiment mais ce code ne permet d'imprimer que des codes barres de 5 chiffres ;)
je ne l'ai utilisée que comme ca, ce qui explique que je n'ai po vu ce bug
dans ce cas, il faut aussi modifier la boucle For à la ligne du dessus et mettre
For i = 1 To Len(CodeBar) - 1
Je vais modifier cela :)
Sibelle07
Messages postés206Date d'inscriptiondimanche 14 septembre 2003StatutMembreDernière intervention25 mars 2005 27 sept. 2003 à 17:17
WAW !!!
Voila ce que j'appelle un bon programme
Domage que il y a un ptit bug :
essai = Mid(CodeBar, Len(CodeBar), 1)
Je ne voit pas ou soit tu a oublier de cochez un truc dans > projet > référance mais sinon mon code barre s'imprime bien bravo a toi ;-)
9/10
sylverweb
Messages postés7Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention 5 octobre 2003 31 juil. 2003 à 22:12
merci !!
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 30 juil. 2003 à 08:37
euh non je l'ai po en ean 128 ou 13 mais je pense que tu peux le trouver sur le forum : ya un code dont je me suis inspiré sur cette discussion là :
http://www.vbfrance.com/forum.aspx?Article=10681
Sinon je pense qu'il y a un bout de code dans les sources pour imprimer l'EAN128 ou 13. Je suis tombé dessus lorsque je cherchais un programme pour imprimer du code 39 :)
sylverweb
Messages postés7Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention 5 octobre 2003 29 juil. 2003 à 16:16
Super ton soft tu ne l'aura pas par hasard en ean 128 et ean 13
merci d'avance
Cyberdevil
Messages postés483Date d'inscriptionmardi 10 juillet 2001StatutMembreDernière intervention12 juillet 2006 29 juil. 2003 à 10:02
voilà bonne idée !
SilverSurfeur
Messages postés21Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention26 mars 2004 29 juil. 2003 à 08:48
Disons que pour la copie d'écran ca risque d'être un peu difficile vu qu'il n'y a pas du tout de feuilles. Mais bon, si vous voulez je peux mettre une petite appli qui utilise ces méthodes. Comme ca, il y aura une copie d'écran et un zip :)
matrey
Messages postés399Date d'inscriptionjeudi 31 janvier 2002StatutMembreDernière intervention 6 septembre 2004 28 juil. 2003 à 23:07
cool !
Pour que çà soit plus facile à se rendre compte pour les visiteurs de VBFrance, çà serait cool de mettre une copie d'écran et un zip !
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 28 juil. 2003 à 20:32
Ben dit donc le travail .... en plus c'est commenté .. bien !!
Cyberdevil
Messages postés483Date d'inscriptionmardi 10 juillet 2001StatutMembreDernière intervention12 juillet 2006 28 juil. 2003 à 15:17
7 sept. 2007 à 17:48
Public Function CodeBarreCode39(pCodeBar As String, Col As Long, Lig As Long, Optional Hauteur As Long 800, Optional largeur As Long 1500)
Dim TJA(255) As String
Dim CodeBar As String
Dim Chiffre As Long
Dim Ind As Long
Dim CodeChiffre As String ' Profil binaire des traits
Dim Lettre As String '
Dim Epaisseur1Trait As Double ' Epaisseur d'un trait
Dim Decalage As Long
CodeBar = pCodeBar
' initialisation du jeu de caractères pour code barre Code 39
' Le TJA(10) correspond au caractère de début et de fin du code barre (caractère *)
TJA(0) = "0001101000" '= 0
TJA(1) = "1001000010" '= 1
TJA(2) = "0011000010" '= 2
TJA(3) = "1011000000" '= 3
TJA(4) = "0001100010" '= 4
TJA(5) = "1001100000" '= 5
TJA(6) = "0011100000" '= 6
TJA(7) = "0001001010" '= 7
TJA(8) = "1001001000" '= 8
TJA(9) = "0011001000" '= 9
TJA(10) = "0100101000" '= CARATÈRE DÉBUT ET FIN
TJA(32) = "0110001000" '= SPACES
TJA(36) = "0101010000" '= $
TJA(37) = "0001010100" '= %
TJA(42) = "0100101000" '= * & CARATÈRE DÉBUT ET FIN
TJA(43) = "0100010100" '= +
TJA(45) = "0100001010" '= -
TJA(46) = "1100001000" '= .
TJA(47) = "0101000100" '= /
TJA(65) = "1000010010" '= A
TJA(66) = "0010010010" '= B
TJA(67) = "1010010000" '= C
TJA(68) = "0000110010" '= D
TJA(69) = "1000110000" '= E
TJA(70) = "0010110000" '= F
TJA(71) = "0000011010" '= G
TJA(72) = "1000011000" '= H
TJA(73) = "0010011000" '= I
TJA(74) = "0000111000" '= J
TJA(75) = "1000000110" '= K
TJA(76) = "0010000110" '= L
TJA(77) = "1010000100" '= M
TJA(78) = "0000100110" '= N
TJA(79) = "1000100100" '= O
TJA(80) = "0010100100" '= P
TJA(81) = "0000001110" '= Q
TJA(82) = "1000001100" '= R
TJA(83) = "0010001100" '= S
TJA(84) = "0000101100" '= T
TJA(85) = "1100000010" '= U
TJA(86) = "0110000010" '= V
TJA(87) = "1110000000" '= W
TJA(88) = "0100100010" '= X
TJA(89) = "1100100000" '= Y
TJA(90) = "0110100000" '= Z
'//==== Creation du mask représentant le code barre (série de 1, de 0)
'//"0" une bande étroite
'//"1" une bande large
'//"-" diminution de la hauteur du code barre (pour mettre le texte en dessous)
'//"+" Augmentation de la hauteur du code barre
CodeChiffre = TJA(10) + "-"
For Ind = 1 To Len(CodeBar)
If IsNumeric(Mid(CodeBar, Ind, 1)) Then
Chiffre = Val(Mid(CodeBar, Ind, 1))
Else
Chiffre = Val(Asc(UCase(Mid(CodeBar, Ind, 1))))
End If
CodeChiffre = CodeChiffre + TJA(Chiffre)
Next Ind
14 nov. 2005 à 20:39
Mais comme je l'ai dit plus haut, il suffit de modifier le programme pour correspondre à d'éventuelles normes pour le code 39.
14 nov. 2005 à 13:40
TJA(A) = "??????????"
TJA(B) = "??????????"
...
:(
7 sept. 2005 à 22:00
7 sept. 2005 à 21:37
Logiquement, ce serait possible vu que, comme est défini le code 39, il peut y avoir jusqu'à 84 combinaisons et donc 84 caractères : Bien assez pour coder les 10 chiffres et les 26 lettres de l'alphabet en majuscules et en minuscules.
Il suffit donc de vérifier dans la norme du code 39 si c'est bien définit.
Pour mon programme, je propose de remplacer le tableau TJA par un tableau dont l'index correspond à la valeur ASCII de la lettre à coder. A tester...
Bonne chance !!!
7 sept. 2005 à 10:13
Mais auriez vous une idée sur l'impression d'un code barre avec des lettres
17 avril 2005 à 14:22
10 nov. 2004 à 19:08
Printer.Line (X + Col, Lig)-(X + BarreCourteNoire + Col, Lig + Hauteur), , BF) ne font pas parti des fonctions standards. Pouvez vous m'aider? Merci par avance.
27 oct. 2004 à 13:10
27 oct. 2004 à 08:47
Pour la taille du code barre, il faut la déterminer par l'expérience. Ce qui est prépondérant dans la détermination de la taille du code barre, c'est la résolution de l'imprimante. Lors de mes essais sur une imprimante laser (600 dpi), j'arrivais à faire des codes barres de 2 cm de long pour 5 chiffres, mais avec l'imprimante à étiquettes (300 dpi), il fallait qu'ils fassent 4 à 5 cm pour un code barre de 5 chiffres aussi.
27 oct. 2004 à 01:56
je te remercie pour les liens j'aimerai bien savoir une autre chose, lors de l'impression du code barre est ce que la taille du code barre entre en jeux. et vous pourrai me donner la taille du code barre.
et merci d'avance
26 oct. 2004 à 21:39
je t'envoi qq lien
http://www.v-ingenierie.com/
http://www.pearl.fr/famille-1041.html
http://www.intermec.fr/product/category.asp?cat=scn
voila mais tu peut chercher sur le net ça ne manque pas
les prix sont assez elever !!!!
slt
25 oct. 2004 à 19:28
21 oct. 2004 à 20:13
pour ma part c'est egalement une douchette mais connecter au port ps2 clavier
qui envoie la lecture dans la zone ou est le curseur (ça marche partout ou on peut taper du text comme si ont avez taper au clavier
aucun logiciel d'interpretation entre
toute la config se fait par lecture de code barre de configuration fournie avec la douchette
21 oct. 2004 à 08:46
20 oct. 2004 à 10:34
A+
17 oct. 2004 à 15:53
Desoler je viens 1 peut tard, cela fais plus d1 ans que mon prog GDSv3 (gestion des stocks de pieces machine ....etc) realiser en vb6 tourne avec ta source
j'imprime mes etiquette de piece avec code bar pour la sortie du stock et j'ai plus de 5 chiffre et ça fonctionne nickel (6 chiffre Ref. + 2chiffre Quantite a sortire)
impresion efectuer sur une UBI 201 (imp pro d'etiquetage )
je t'en remerci beaucoup
A+
7 déc. 2003 à 21:27
7 déc. 2003 à 21:25
Peut etre qu'il existe une source sur ce site qui permet de gérer les imprimantes....
7 déc. 2003 à 19:11
7 déc. 2003 à 18:38
J'ai encore juste une question :
Il y aurait un moyen pour choisir l'imprimante sur laquelle imprimer ?
5 déc. 2003 à 12:07
je rigole...
Si j'ai mis ce code sur ce site c'est surtout pour que d'autres gens puissent l'utiliser donc : vas y sert toi !!!
4 déc. 2003 à 20:05
Je dois créer une gestion de client avec une impression de code barre.
28 sept. 2003 à 22:47
C vrai c'est un bug
en fait po vraiment mais ce code ne permet d'imprimer que des codes barres de 5 chiffres ;)
je ne l'ai utilisée que comme ca, ce qui explique que je n'ai po vu ce bug
dans ce cas, il faut aussi modifier la boucle For à la ligne du dessus et mettre
For i = 1 To Len(CodeBar) - 1
Je vais modifier cela :)
27 sept. 2003 à 17:17
Voila ce que j'appelle un bon programme
Domage que il y a un ptit bug :
essai = Mid(CodeBar, Len(CodeBar), 1)
Je ne voit pas ou soit tu a oublier de cochez un truc dans > projet > référance mais sinon mon code barre s'imprime bien bravo a toi ;-)
9/10
31 juil. 2003 à 22:12
30 juil. 2003 à 08:37
http://www.vbfrance.com/forum.aspx?Article=10681
Sinon je pense qu'il y a un bout de code dans les sources pour imprimer l'EAN128 ou 13. Je suis tombé dessus lorsque je cherchais un programme pour imprimer du code 39 :)
29 juil. 2003 à 16:16
merci d'avance
29 juil. 2003 à 10:02
29 juil. 2003 à 08:48
28 juil. 2003 à 23:07
Pour que çà soit plus facile à se rendre compte pour les visiteurs de VBFrance, çà serait cool de mettre une copie d'écran et un zip !
28 juil. 2003 à 20:32
28 juil. 2003 à 15:17