Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2045 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Analyser une chaine d'un code barre ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Analyser une chaine d'un code barre ?

n°790106
burnedsoul
Posté le 08-07-2004 à 11:52:20  profilanswer
 

Salut à tous,
J'aimerais pouvoir analyser la chaine retournée par un lecteur de code barre.  
Par analyse, j'entends pouvoir déterminer quel bout de chaine est numérique, quel autre serait numérique ... afin d'en faire un affichage personalisé (en gros séparer les nombre des caractères)
 
Au boulot, les aurtes stagiaires avaient pas l'air enthousiastes donc j'imagine que ca ne doit pas être facile à faire ?  
Est ce qu'on pourrait me dire comment ca fonctionne en gros, que je me débrouille après, car passer du PHP au C ca fait mal ...
Merci d'avance
 

mood
Publicité
Posté le 08-07-2004 à 11:52:20  profilanswer
 

n°790114
darkoli
Le Petit Dinosaure Bleu
Posté le 08-07-2004 à 12:05:46  profilanswer
 

burnedsoul a écrit :

Salut à tous,
J'aimerais pouvoir analyser la chaine retournée par un lecteur de code barre.  
Par analyse, j'entends pouvoir déterminer quel bout de chaine est numérique, quel autre serait numérique ... afin d'en faire un affichage personalisé (en gros séparer les nombre des caractères)
 
Au boulot, les aurtes stagiaires avaient pas l'air enthousiastes donc j'imagine que ca ne doit pas être facile à faire ?  
Est ce qu'on pourrait me dire comment ca fonctionne en gros, que je me débrouille après, car passer du PHP au C ca fait mal ...
Merci d'avance


Donc par exemple tu as une chaine qui ressemble à "123a456bc789def" et tu veux afficher "123 a 456 bc 789 def" ?
Tu peux considerer ta chaine comme une alternence de lettres et de chiffres. Tu affiches le premier groupe de lettre (si rien à afficher alors tu affiches rien !) et ensuite tu affiches un espace (si tu as affiché quelque chose), et après tu affiches le groupe de chiffres suivant suivi d'un espace, ...

Code :
  1. int ...()
  2. {
  3. char chaine[TAILLE]; /* Ou char* chaine=NULL; */
  4. ...
  5. /* Mise à jour de la chaine */
  6. ...
  7. while (chaine[i] != '\0')
  8. {
  9.   j=i;
  10.   /* Suite de lettres */
  11.   while (chiffre(chaine[i]) != 1)
  12.    {
  13.     fprintf(stdout, "%c", chaine[i]);
  14.     i++;
  15.    }
  16.   if (chaine[i] == '\0') break;
  17.   if (j < 1) fprintf(stdout, " " );
  18.   /* Suite de chiffres */
  19.   j=i;
  20.   while (chiffre(chaine[i]) == 1)
  21.    {
  22.     fprintf(stdout, "%c", chaine[i]);
  23.     i++;
  24.    }
  25.   if (chaine[i] == '\0') break;
  26.   if (j < 1) fprintf(stdout, " " );
  27. }
  28. fprintf(stdout, "\n" );
  29. ...
  30. return ...
  31. }
  32. int chiffre(char* chaine)
  33. {
  34. if (chaine == NULL) return -1;
  35. if (chaine[i] < '0') return 0;
  36. if (chaine[i] > '9') return 0;
  37. return 1;
  38. }

Le code que je te propose sépare les chiffres des "non chiffres" (lettre ou non). :D
J'utilise la variable j pour savoir si jeviens d'afficher quelque chose ou non.
Si tu as des questions n'hésite pas.


Message édité par darkoli le 08-07-2004 à 12:06:45

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Analyser une chaine d'un code barre ?

 

Sujets relatifs
Quel est l'utilité, etc...de ce Code (voir sujet)???ajout bouton barre de titre
Decoupage de chaîne[Resolu]chercher code nouvelles par php
Problème de taille de la barre de défilement sur iframe(Javascript) Proteger son code source, Script Encoder...la solution?
créer une barre d'outilsCode correct ?
(overflow dans un div [résolu]) > Code correct ?écran d'attente sur code long en vb excel
Plus de sujets relatifs à : [C] Analyser une chaine d'un code barre ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR