begin process at 2012 05 30 02:43:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Urgent projet fin d'études thème:Construire le code barre.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Urgent projet fin d'études thème:Construire le code barre.

vendredi 25 mars 2005 à 10:34:18 | Urgent projet fin d'études thème:Construire le code barre.

amazir

Chèr amis j'ai un projet fin d'études dont je ne sais pas oû commencer .Veuillez m'aider, merci infiniment.


Projet

 

Enonce:

            Le principe est le suivant: on considère dans cet exemple le système EAN-13(Europeen Article Numbring) standardise au niveau européen en 1997. C'est un système a 13 chiffres. Les chiffres 1 et 2 indiquent le pays, (la France: de 30 a 39, Maroc 61) les chiffres 3,4,5,6 et 7 indiquent le fabricant du pays. Cela signifie 99999 entreprises différentes possibles. Les chiffres 8,9,10,11 et 12 indiquent le produit du fabricant (99999 produits possibles). Le 13e est un chiffre de vérification-II est calcule comme suit:

            Si l'on numérote les 12 chiffres depuis la gauche, on ajoute tous les chiffres d'ordre impairs, cela donne la variable a; on additionne tous les chiffres d'ordre pairs cela donne la variable b; puis on calcule a+3b, on soustrait ce résultat du prochain plus grand multiple de 10 et cela donne le 13e chiffre.

Exemple:

            La bouteille d'eau minérale de 150 cl de marque Sidi Ali s'écrira dans le système EAN-13   6111035000058. 6 et 1 indiquent le pays, le Maroc; 11035 le fabricant " Les Eaux Minérales d'Oulmes";00005 le produit.

Indications:

            Pour calculer a on considère les positions impairs. Cela signifie 6 + 1 + 0 + 5 + 0 + 0 = 12.

            Pour la variable b on prend les positions paires, cela signifie 1 + 1 + 3 + 0 + 0 + 5 = 10.

 

            a + 3b = 42. Or, 50 est le plus grand multiple de 10 le plus proche de 42.

            50 - 42 = 8, donc le 13e chiffre est la valeur 8.

 

            La façon dont on code a partir de ces chiffres est la suivante: on considère une clé. La clé est donnée par le premier chiffre. Ici, dans notre exemple, il s'agit du nombre . On considère alors la ligne correspondante (ici, 6) dans la table de décodage des codes barres. On a dans la ligne correspondante la description du 13e chiffre.

 

            Ainsi le 13e chiffre de la ligne 6 nous indique la clé ABBBAA.

            Les six chiffres suivants sont pris dans la table conformément a la clé. Dans l'exemple, les chiffres suivants seront pris dans les lignes des chiffres(111035) et dans les colonnes A, B, puis B, puis B, puis A, puis A. Chacune de ces entrées dans la table est sous la forme de sept bits. Il y aura donc 6x7= 42 bits qui seront codes de cette façon-la. Ensuite, les six chiffres restant(000058) sont codes en prenant les entrées dans la colonne C et on obtient 42 bits supplémentaires. Afin de permettre de repérer les positions de début, de milieu et de fin. On ajoute la séquence 101 au début, 01010 au milieu, et 101 a la fin. On aura donc un total de 95 bits qui représentent le code.

 

            au niveau graphique, il s'agira tout simplement de considérer que, dans cette suite de 95 bits, les 0 correspondent a un espace vide et les 1 a une ligne ou bande noire.

 

            La table de code est données ci-dessous :

 

Chiffre

Groupe A

Groupe B

Groupe C

13e chiffre

0

0001101

0100111

1110010

AAAAAA

1

0011001

0110011

1100110

AABABB

2

0010011

0011011

1101100

AABBAB

3

0111101

0100001

1000010

AABBBA

4

0100011

0011101

1011100

ABAABB

5

0110001

0111001

1001110

ABBAAB

6

0101111

0000101

1010000

ABBBAA

7

0111011

0010001

1000100

ABABAB

8

0110111

0001001

1001000

ABABBA

9

0001011

0010111

1110100

ABBABA

 

Travail a faire :

            Pour construire le code barre, il faut demander à l’utilisateur de taper les douze premiers chiffres, puis de vérifier le treizième .

            Ensuite, il faut utiliser la table de codage pour convertir en 95 bits ces 13 chiffres.

            Pour la représentation graphique, il suffit de faire une boucle qui parcourt le code et d’indiquer une barre verticale pour les bits à 1. Afin d’être sur que l’écran représente correctement les informations, il faudra ajuster la taille à l’écran.

vendredi 25 mars 2005 à 19:42:09 | Re : Urgent projet fin d'études thème:Construire le code barre.

GhislainLavoie

Salut!

J'ai fait un script qui t'aideras certainement a avancé.  Pour ce qui est de l'ajustement de la taille de l'écran, je n'ai pas trop saisie.

<html>
<head>
<title>Untitled</title>
<STYLE type="text/css">
.n0 {background-color:#ffffff;height:40px;width:2px;float:left;}
.n1 {background-color:#000000;height:40px;width:2px;float:left;}
</STYLE>
<script type="text/javascript">
var bitsCode = new Array(10);
bitsCode
[0] = new Array('0001101','0100111','1110010','000000');
bitsCode
[1] = new Array('0011001','0110011','1100110','001011');
bitsCode
[2] = new Array('0010011','0011011','1101100','001101');
bitsCode
[3] = new Array('0111101','0100001','1000010','001110');
bitsCode
[4] = new Array('0100011','0011101','1011100','010011');
bitsCode
[5] = new Array('0110001','0111001','1001110','011001');
bitsCode
[6] = new Array('0101111','0000101','1010000','011100');
bitsCode
[7] = new Array('0111011','0010001','1000100','010101');
bitsCode
[8] = new Array('0110111','0001001','1001000','010110');
bitsCode
[9] = new Array('0001011','0010111','1110100','011010');
function EAN13() {
cb
= document.form.codeBarre.value;
divEAN
= document.getElementById("EAN13CODE");
divEAN
.innerHTML="";
codes
= new Array();
for (var i=a=b=0;i<12;i++) {
codes
[i] = eval(cb.charAt(i));
if (i%2)
b
+=codes[i];
else
a
+=codes[i];
}
codes
[12] = 10-((a+(b*3))%10);
var bits = getBits(codes);
bit
= bits.split("");
for (var i=0;i<bit.length;i++) {
el
= document.createElement("div");
el
.className = 'n'+bit[i];
divEAN
.appendChild(el);
}
}
function getBits(codes) {
var bits = "101";
var cle = bitsCode[codes[0]][3].split("");
for (var i=1;i<7;i++)
bits
+= bitsCode[codes[i]][cle[i-1]];
bits
+= "01010";
for (var i=7;i<13;i++)
bits
+= bitsCode[codes[i]][2];
bits
+= "101";
return (bits);
}

</script>
</head>
<body>
<form name=
"form">
<input name=
"codeBarre" type="text" value="611103500005">
<input type=
"button" value="Valider" onclick="EAN13()">
</form>
<div id=
"EAN13CODE"></div>
</body>
</html>


A+, Ghislain

vendredi 25 mars 2005 à 20:39:43 | Re : Urgent projet fin d'études thème:Construire le code barre.

GhislainLavoie

Oups... un petit bug!

Remplacer cet ligne :

codes[12] = 10-((a+(b*3))%10);

par ceci :

reste = ((a+(b*3))%10);
codes
[12] = 10-(reste==0?10:reste);

A+, Ghislain

samedi 26 mars 2005 à 16:55:27 | Re : Urgent projet fin d'études thème:Construire le code barre.

GhislainLavoie

Bonjour!

J'ai eu le temps de fignoler le script pour l'affichage des nombres et allonger les lignes séparatrices.

<html>
<head>
<title>Untitled</title>
<STYLE type="text/css">
.n0 {background-color:#ffffff;height:40px;width:1px;float:left;}
.n1 {background-color:#000000;height:40px;width:1px;float:left;}
.l1 {background-color:#000000;height:50px;width:1px;float:left;}
.nombre {position:absolute;font-size:14px;font-family:times new roman}
.nombre1 {position:relative;font-size:14px;font-family:times new roman;float:left;top:40px;}
.barreCode {position:absolute;top:50px;left:50px;}
</STYLE>
<script type="text/javascript">
var bitsCode = new Array(10);
bitsCode
[0] = new Array('0001101','0100111','1110010','000000');
bitsCode
[1] = new Array('0011001','0110011','1100110','001011');
bitsCode
[2] = new Array('0010011','0011011','1101100','001101');
bitsCode
[3] = new Array('0111101','0100001','1000010','001110');
bitsCode
[4] = new Array('0100011','0011101','1011100','010011');
bitsCode
[5] = new Array('0110001','0111001','1001110','011001');
bitsCode
[6] = new Array('0101111','0000101','1010000','011100');
bitsCode
[7] = new Array('0111011','0010001','1000100','010101');
bitsCode
[8] = new Array('0110111','0001001','1001000','010110');
bitsCode
[9] = new Array('0001011','0010111','1110100','011010');
function EAN13() {
cb
= document.form.codeBarre.value;
if (isNaN(cb)||cb.length!=12) {alert("Un nombre de 12 chiffres seulement");return false;}
divEAN
= document.getElementById("EAN13CODE");
divEAN
.innerHTML="";
codes
= new Array();
for (var i=a=b=0;i<12;i++) {
codes
[i] = eval(cb.charAt(i));
if (i%2)
b
+=codes[i];
else
a
+=codes[i];
}
reste
= (a+(b*3))%10;
codes
[12] = 10-(reste==0?10:reste);
var bits = getBits(codes);
bit
= bits.split("");
el
= document.createElement("div");
el
.innerHTML= cb.charAt(0);
el
.className = "nombre1";
divEAN
.appendChild(el);
for (var i=0;i<bit.length;i++) {
el
= document.createElement("div");
longue
=( i==0||i==2||i==46||i==48||i==92||i==94);
el
.className = (longue?'l':'n')+bit[i];
divEAN
.appendChild(el);
if (i==3||i==50) {
el2
= document.createElement("div");
el2
.innerHTML=(i==3)?cb.substr(1,6):cb.substr(7,6)+codes[12];
el2
.className = "nombre";
el2
.style.left = el.offsetLeft+"px";
el2
.style.top = el.offsetHeight+"px";
divEAN
.appendChild(el2);
}
}
}
function getBits(codes) {
var bits = "101";
var cle = bitsCode[codes[0]][3].split("");
for (var i=1;i<7;i++)
bits
+= bitsCode[codes[i]][cle[i-1]];
bits
+= "01010";
for (var i=7;i<13;i++)
bits
+= bitsCode[codes[i]][2];
bits
+= "101";
return (bits);
}

</script>
</head>
<body>
<form name=
"form">
<input name=
"codeBarre" type="text" maxlength="12" value="611103500005">
<input type=
"button" value="Valider" onclick="EAN13()">
</form>
<div class=
"barreCode" id="EAN13CODE"></div>
</body>
</html>


A+, Ghislain

lundi 28 mars 2005 à 12:48:47 | Re : Urgent projet fin d'études thème:Construire le code barre.

amazir

Bonjour;
C'est trés gentil pour votre aide, si j'aurai besoin de quelque chose puis je vous contacter?
Voici mon e-mail:  taofiq_f@hotmail.com

merci infiniment.
mardi 2 mai 2006 à 15:53:58 | Re : Urgent projet fin d'études thème:Construire le code barre.

bachir18111982

Bonjour

si j'ai une image qui contient des barres codes , comment je peux decoder cette image.je travaille mon projet sur le vb.net Veuillez m'aider, merci infiniment.



Cette discussion est classée dans : code, chiffre, chiffres, bits, 13e


Répondre à ce message

Sujets en rapport avec ce message

Ne permettre la saisie QUE des chiffres (et touches tab, suppr, backspace, ...) [ par buzza01 ] Bonjour, je viens vous voir car je n'arrive pas à faire en sorte que "ma" fonction ne permette la saisie [u]que[/u] de chiffres. Il y a une fonctio seulement deux chiffres apres la virgule. [ par souvent ] Bonjour, je voudrais limiter l'insertion d'un chiffre jusqu'a deux chiffres apres la virgule, mon code marche mais si je veux rajouter un chiffre avan Calcule Numéro de Sécurité Sociale [ par Morocco13 ] Bonjour, ci-dessous un code qui calcule la clé du numéro de sécurité sociale français.Il n'y a aucun problème dans le code, mais ma question serait do message de confirmation [ par marocmarocmaroc ] Bonjour,j'ai créé un code sert à eviter les doublons dans ma table voilà le code { $connect=mysql_connect("localhost", "root", "") or die ("Eche code pour editeur de texte avec prise en charge du copier/coller gardant la mise en forme [ par lolhangman ] Bonjour, je cherche du code pour faire un editeur de texte qui prend en charge le copier coller avec la mise en forme et les image. Comme c'est fait Bulles d'aide du site code source [ par matta6666 ] BonjourVous avez de superbes bulles d'aide sur votre site au rubrique < Popup en javascript pour acrobat pro [ par corail51110 ] Bonjour à tous, Le code javascript utilisé dans acrobat étant différent de celui utilisé pour le web, j'ai un petit soucis :J'ai un plan de commune PROBLEME DIV [ par elmarko ] Salut,je sors juste d'une formation rapide sur "dream/code html/css" de base... et j'ai besoin d'une explication sur l'attribution d'un comportement à comment recuperer le code source [ par cuiere ] salut,je suis nouveau dans le domaine du web,et j ai une question:comment pourrai je recuperer le code source d une page web proteger par un mot de pa Chemin vers une page PHP [ par Peoxus ] Bonjour, Je ne sais pas si c'est bien ici que je dois poser ma question stupide. J'ai suivi le tuto http://www.tutorialspoint.com/ajax/ajax_database


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,730 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales