GÉNÉRATEUR DE CODE BARRE CODE 39

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 28 mai 2005 à 08:33
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010 - 8 oct. 2011 à 13:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31659-generateur-de-code-barre-code-39

fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
8 oct. 2011 à 13:40
oui c'est ça
cs_bibos Messages postés 7 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 28 septembre 2011
7 oct. 2011 à 13:25
Bonjour,

Je n'arrive pas à faire fonctionner le script.

Comment dois-je l'appeler exactement ?
Dans un autre fichier, par une balise img ?

Merci d'avance.
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
16 nov. 2007 à 09:10
Non : la douchette ne fera que te lire ce que tu as mis.

Par contre sans les étoiles et la clef, tu risque d'avoir des erreurs de scan (peu mais possible)
gglegrateu Messages postés 5 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 2 juillet 2009
16 nov. 2007 à 09:00
Je sais bien mais j'ai contacter une société qui distribu des douchette, et il m'a dit que si il y a une lettre ou un symbole, la douchette la prendra en compte lors du scanage.

J'ai donc modifier ça :

$text='*'.$text.$tab2[$j].'*';

Par :

$text=''.$text.'';

Il m'affiche le meme code barre, sans les étoiles et sans la lettre, en faite cela ne chagera rien avec ou sans la modif, car le code barre est le même, a savoir si la douchette me ramenera l'etoile et la lettre ?

Merci ;)
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
14 nov. 2007 à 11:38
je ne comprend pas ce que tu dit,
un code barre doit avoir un début, une fin (les *) et une clef de controle
(la lettre de fin est la clef de contrôle qui est un élément nécessaire pour les lecteurs de code barre : ça leur permet de "contrôler" et vérifier la validité de leur lecture)
gglegrateu Messages postés 5 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 2 juillet 2009
14 nov. 2007 à 10:54
Salut a tous ça marche bien, j'ai donc choper une boite avec un code barre, je l'ai tapper ca me donne sensiblement la meme chose (au niveau de la taille des barres noirs), c'est normal ?

Ce que j'ai tapé : 5414428146748
Résultat : *5414428146748F*

y a moyen de virer les etoiles et la lettre qui ne sont pas dans l'originie
D'avance merci ;)
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
10 sept. 2007 à 17:26
tu as tout a fait raison : dans un magasin le codebarre d'un produit n'affichera l'intitulé du produit que si l'intitulé a été rempli dans l'ordinateur du magasin

En fait le code barre évite simplememnt, mais très efficacement, de taper le code de chaque référence des produits (passés en caisse pour le supermarché ou qui est sur la chaine de montage dans l'industrie)

Par contre la nouvelle technologie : la puce RFID qui envoi par radio ce qu'on lui a stocké (idem qu'une clef USB mais en wifi et d'une dimmension ridicule !)
pour cela il faut faire passer le produit sous un portique qui envoi permet de recevoir les infos de la puce.
En concret : au supermarché, il n'y aura plus de tapis et de lecteur code barre, tu passera juste un portique avec ton caddie et la caissière saura immédiatement tous les produits qui sont dans ton caddié et tu n'auras plus qu'à payer (ça, ça ne change pas !!!)

De surcroit la puce RFID aura non pas une référence unique pour chaque type de produit mais une référence unique pour chacun des produits !!!! c'est à dire 2 flacons de shampoing identiques auront un code dont la fin sera différente...
9onmail Messages postés 2 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 10 septembre 2007
10 sept. 2007 à 14:55
Je rajoute ce que j'en déduis (dès fois qu'un novice arrive ici comme moi) : dans un magasin le codebarre d'un produit n'affichera l'intitulé du produit que si l'intitulé a été rempli dans l'ordinateur du magasin, c'est ça ?

Je suis déçu, je croyais que c'était un algoritme mondial qui permettait de convertir : chaine de caractère -> chiffres et ainsi permettre à n'importe quel lecteur de code barre de retrouver l'intitulé en décryptant :-)

Je me goure ?
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
7 sept. 2007 à 12:47
à 9onmail :
le code barre permet de rendre 'lisible' par un ordinateur une réfrence (par l'intermediaire d'un "lecteur de code barre")
en fait ça évite de taper la réfrence.

ensuite tu peux associer cette référence à n'importe quoi dans une base de donnée.

Les codes EAN13 sont utilisés par les fabricant de produits destinés à la vente, il existe une organisation à laquelle ces fabricants achètent une référence afin de l'associer à un de leurs produits. (ça permet que 1 produit unique=1 référence unique)

pour plus d'info va sur google et tape "code barre"
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
7 sept. 2007 à 12:23
Bonjour 9onmail>

Deja il ne faut pas confondre un code39 et un ean13, pour la vente c'st un code ean13. Ce code a plus d'utiliter sur les documents ou en entreprise.

Bonne continuation,
Gally Home Corp
9onmail Messages postés 2 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 10 septembre 2007
7 sept. 2007 à 12:01
C'est excellent, ça marche (c'est magique), mais... ça sert à quoi ? Je veux dire, si je veux vendre une bouteille de piquette que j'ai faite dans mon cellier, est-ce que ça va me transformer "Piquette 2007 Grand cru / Maison Poudlard" en un code barre du genre "1598674589857" ? Que n'importe quel lecteur de code barre puisse retraduire en "Piquette 2007 Grand cru..." ?

Je comprend pas et pourtant ça me serait extrêment utile :-(
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
7 août 2007 à 13:46
bonjour,

Comme je te l'avais dit j'ai mis ma source utilisant la tienne en la modifiant pour les Code 128B

http://www.phpcs.com/codes/GENERATEUR-CODE-BARRE-CODE-128B_43670.aspx

j'espere qu'elle sera aussi utile que la tienne ;-)

bonne continuation
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
16 févr. 2007 à 00:52
La checksum de controle n'est pas obligatoire sur un code 3 de 9 mais elle est ogligatoire par exemple sur un code 128...

Par moment en fonction du paramètrage du lecteur de code-barre elle peut même etre assez embetente, car il ecrit le caractere de controle.

Bonne continuation
GallyHC
killeroffish Messages postés 6 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 15 décembre 2006
15 déc. 2006 à 17:00
et pour preuve j'ai trouver :
// calcul du code de contôle
$taille_police=5;
//$j=fmod($j, 43);
//$barcode.=$tab[$tab2[$j]].'0';
$barcode.=$tab['*'].'0';
//$text='*'.$text.$tab2[$j].'*';
$text='*'.$text.'*';

et mon lecteur de code barre li tres bien le code.
killeroffish Messages postés 6 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 15 décembre 2006
15 déc. 2006 à 16:50
Je suis dsl mais ceci est tout a fait faux car quand tu va sur le site :
http://grandzebu.net/informatique/codbar/code39.htm
qui est sité dans le scipt montre bien dans le logiciel a telechager que cela fonction sans la clé.
et meme fait un essaie avec mon lecteur cela fonction, deplus nous avons actuellement quelque 1200
etiquette code barre sans cette clé qui fonctionne. mais je trouverais comment faire :p
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
15 déc. 2006 à 16:41
pas de problème, moi aussi, mais je m'applique pour éviter de dire 2 fois la même chose

oui mais la clef de contrôle est un élément nécessaire pour les lecteurs de code barre : ça leur permet de "contrôler" et vérifier la validité de leur lecture
(comme dirait Lapalisse)
killeroffish Messages postés 6 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 15 décembre 2006
15 déc. 2006 à 16:34
ptdr dsl mais je suis sur 50 truc en meme temps.

Alors voila je t'explique. Je suis en train de chercher a retirer la clé de controle qui me serre pas.
Le truc c'est que ca me donne un code faux en la retirant.

Voila, j'espere avoir ete plus clair ce coup ci :p dsl pour toute a l'heure.
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
15 déc. 2006 à 16:27
hein ?
toi y'en a parler la france ?

"oups j'etais persuader de l'avoir et ba non lol :p
par contre entre le code affiche par le script et celui genre pas une imprimente speciale code 39 j'ai pas la meme chose normale?"

je comprends (au bout de 10mn de lecture intensive):
"oups j'etais persuadé de l'avoir et bien non lol :p
par contre entre le code affiché par le script et celui affiché par une imprimante speciale code 39, je n'ai pas la meme chose, est-ce normal?
killeroffish Messages postés 6 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 15 décembre 2006
15 déc. 2006 à 15:52
oups j'etais persuader de l'avoir et ba non lol :p

par contre entre le code affiche par le script et celui genre pas une imprimente speciale code 39 j'ai pas la meme chose normale?
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
15 déc. 2006 à 15:44
obligatoire: la librairie GD !
killeroffish Messages postés 6 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 15 décembre 2006
15 déc. 2006 à 15:32
hug,

moi j'ai ca comme erreur:
Fatal error: Call to undefined function: imagecreate() in C:\wamp\www\exemples\code.php on line 81

pourtant en mettant des echo avant j'ai bien les dimmensions.
gallyhc Messages postés 386 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 19 février 2018 2
3 nov. 2006 à 21:49
Bonjour,

Pas de problème pour ma part le code 3 de 9 est correcte, bonne source et merci pour ton aide pour que je l'adapte a ce que je voulais faire...

J'ai 9 sur 10, Bonne continuation
[Gally Home Corp]
cs_darkduck Messages postés 138 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 29 février 2008 1
19 janv. 2006 à 11:33
Bonjour,
J'ai rencontré le même problème :-( aussi bien avec cette source, qu'avec celle pour créer des CODE BARRE EAN13
alixe07 Messages postés 1 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 25 juillet 2005
25 juil. 2005 à 19:13
Bonjour,
J'ai collé ce script sur mon site, seulement je récolte un beau message d'erreur, et je ne sais pas ce qui coince, et du coup pas non plus comment régler le problème.
Est-ce que vous pourriez m'aider ? Pour info, voici le message d'erreur : "The image ?http://www.jarjille.com/debora.php?texte=0123456789&h=80&L=2? cannot be displayed, because it contains errors." Mon hébergement inclut PHP5 et la librairie GD, et j'ai beau remplacer le nom de la fonction str_split, ça ne marche pas. Y aurait-il une âme charitable pour dme dépanner ?
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
29 mai 2005 à 22:58
Y'a pas de "c'est mieux"...

Tu dis que je crois toujours avoir raison, seulement moi je dis que ce qui est mieux selon moi (et je le dis pas "c'est mieux", je ne dis pas non plus sans savoir "c'est incorrect") c'est de faire le plus optimisé tout en restant dans une rigueur de codage.

Tout dépend de ce que tu entends par rigueur de codage. Pour moi le plus logique c'est de mettre des quotes pour entourer des chaînes et de ne rien mettre pour entourer des chiffres...

Après tu codes commme tu veux, mais vient pas dire "FAUT PAS" d'un ton hautain et complètement déplacé sans savoir pourquoi je conseille cela...
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
29 mai 2005 à 22:46
Regarde la logique de $tab
Tu vois plus logique mettre ceci :
$tab[1]
$tab[2]
$tab['A']
$tab['B']

ou cela
$tab['1']
$tab['2']
$tab['A']
$tab['B']

On voit tout de suite la logique dans le 2e exemple, explique-moi ce qui est mieux dans le 1. Moi aussi je prone le 1 lorsqu'il n'y a pas de logique derrière mais la ca vient d'une string ! donc c'est mieux le 2 !!
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
29 mai 2005 à 22:18
"Tk, tu dois avoir raison, comme d'habitude ?"

Tiens, j'allais te dire la même chose...

Je vois pas en quoi mettre ['1'] est plus logique que [1]...

Ce qui est le plus logique c'est de mettre des quotes ou non en fonction du type de donnée se trouvant à l'intérieur du tableau (comme dans tout le reste d'un code PHP d'ailleurs)...

Enfin bon ce n'est que mon avis hein...
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
29 mai 2005 à 22:10
Yé gentil ton pharmacien... moi j'ai fait le code pdf417 mais je ne peux pas le tester ! je ne connais pas de pharmaciens qui lient ces codes !
En passant anthomicro, je n'ai pas dit que c'était mieux ou pas le [1] et ['1'], c'est que si tu suis la logique de la table $var['a'] alors $var['1'] est logique...

Tk, tu dois avoir raison, comme d'habitude ?
fyav Messages postés 124 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 12 février 2010
29 mai 2005 à 01:01
"En passant, tu les as testé tes codes avec un lecteur ?"

OUI dans une pharmacie
les différentes "tailles" sont entièrement reconnue par le scanner de la pharmacie
En passant, le pharmacien m'a signalé que pour la taille supérieure à 3 il fallait un énooorme emballage!
je lui ai répondu que c'était pour imprimer sur des feuille A4...pas sur des emballages comme il avait l'habitude !!!!
Maintenant il m'appel "l'homme aux code barre" en référence au nombre de fois que je suis venu tester mes différents essais
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
28 mai 2005 à 21:26
J'avais du temps à perdre, j'ai donc fait un petit benchmark :

//---------------------------------------------
$var[1]='1';

while($i<10000000)
{
$test=$var['1'];
$i++;
}
Temps de génération minimum : 0.750 secondes
//---------------------------------------------

$var[1]='1';

while($i<10000000)
{
$test=$var[1];
$i++;
}

Temps de génération minimum : 0.633 secondes

//------------------------------------------
T'es convaincu ?
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
28 mai 2005 à 21:14
"Il ne faut pas effectuer le changement qu'a dit anthomicro... les chiffres sont entre ' car c'est des caractères et c'est correct"

Je dis pas que c'est incorrect, je dis que de mettre des quotes est débile vu qu'elles seront analysées par PHP comme étant des chaînes ce qui est plus lent...

Vérifie tes sources...
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
28 mai 2005 à 20:40
Il ne faut pas effectuer le changement qu'a dit anthomicro... les chiffres sont entre ' car c'est des caractères et c'est correct. Par contre, pourquoi avoir 3 tableaux de la sorte ? Je ne pense pas que cela soit utile...
$tab3 c'est un index tout bête et $tab2 c'est un array_flip de $tab... donc tu peux virer tout ca...
En passant, tu les as testé tes codes avec un lecteur ?

Générateur de codes barres :
http://www.phpcs.com/code.aspx?ID=23927
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 mai 2005 à 10:55
Hello,

tu m'etonnes : cela veut dire que tu as php5, et que ce code n'a pas ete prevu pour php5.
La fonction str-split() existe deja en php5. Donne lui juste un autre nom dans ce code.
cs_troudbal Messages postés 14 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 mai 2005
28 mai 2005 à 09:48
Salut, chez moi j'ai une erreur fatale à l'exécution:

Fatal error: Cannot redeclare str_split() in c:\Root\Web\untitled-1.php on line 22

Ca serait bien de mettre le code dans un zip, ca évite de virer tous les n° de ligne aprés le copier-coller.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
28 mai 2005 à 08:33
Salut,

bah très bonne source et très intéressante. Je te mets 9/10.

Tu peux enlever les quotes dans les tableaux à indices numériques :

$tab['1'] devient $tab[1]

c'est légèrement plus rapide.

a +
Rejoignez-nous