Communication avec le lecteur de code à barre

boule7 Messages postés 3 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 24 septembre 2003 - 22 sept. 2003 à 20:22
sitewebenligne Messages postés 18 Date d'inscription samedi 7 février 2015 Statut Membre Dernière intervention 14 mai 2015 - 28 avril 2015 à 15:48
Je voudrais insérer la lecture de code à barre dans mon programme de gestion de point de vente mais je sais pas comment faire. Aidez moi.

24 réponses

stacco Messages postés 106 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 22 mai 2004
23 sept. 2003 à 10:48
tout d'abord ton lecteur de code barre a une interface clavier (brancher en serie avec le clavier) ou une interface serie ?

dans le premier cas pas de pb tu le gere comme des appuies de touches via un textbox

dans le deuxieme cas il faut que tu te serves d'un mscomm pour lire ton port serie

n'hesites pas :o)
0
gwiwi Messages postés 127 Date d'inscription lundi 8 juillet 2002 Statut Membre Dernière intervention 4 janvier 2007 1
23 sept. 2003 à 11:20
Salut,

Je suis moi aussi interressé par un lecteur Code Barre, cependant, qu'entends tu par "gerer comme des touches via un textbox", il te faut bien recevoir quelque part le code barre , NON ?
0
stacco Messages postés 106 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 22 mai 2004
23 sept. 2003 à 12:52
oui si ton lecteur a une interface clavier des que tu lis qqchose il te l'envoi via le "cable" clavier
dans ce cas il te faut juste metre un textbox avec le focus dessus et quand tu lis ca arrive directe dans le textbox (comme si tu tapeait au clavier puisque c'est la meme interface)

par contre si c'est une interface serie la c'est different tu dois utiliser un mscomm

quelle est ton interface clavier ou serie ?
je dois avoir qqchose la dessus car j'ai deja programmer avec une lecture code barre

a+ :o)
0
gwiwi Messages postés 127 Date d'inscription lundi 8 juillet 2002 Statut Membre Dernière intervention 4 janvier 2007 1
24 sept. 2003 à 08:43
Je vais faire l'acquisition d'un lecteur Serie pour faire des tests, j'ai compris le fonctionnement, merci de ton aide.

Et merci a Boule7 d'avoir posé la question.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
boule7 Messages postés 3 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 24 septembre 2003
24 sept. 2003 à 13:54
Merci Stacco,
Ceci est édifiant. Mais si tu peux envoyer le code sur le lecteur ce serait plus intéressant
0
stacco Messages postés 106 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 22 mai 2004
24 sept. 2003 à 19:34
je pense que pour un lecteur interface clavier ya pas trop de pb

pour l'interface serie :

sur ta form tu met un mscomm parametrer (vitesse, nb de bit,parite, bit de stop) de la meme facon que ton lecteur code barre (tu regarde dans la doc du lecteur)
tu met egalement un label (ou un text)

Private Sub Form_Load()

form1.mscomm1.portopen = true

End Sub

Private Sub MSComm1_OnComm()

resultat= form1.mscomm1.input

End Sub

maintenant il ne te reste plus qu'a mettre "resultat" en global si tu veux le recuperer ailleur
le plus important (et le plus dur car parfois il faut eplucher le manuel du lecteur et c'est pas toujours facile) c'est de bien parametrer ton mscomm avec ton lecteur

un conseil si tu n'as pas de lecteur et que tu dois en acheter un prend un avec une interface clavier (t'as plus de pb de config entre lecteur et pc) ils se reconnaise car ils ont un cable en Y

bonne chance o:)
0
riton27 Messages postés 7 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 28 mars 2006
11 févr. 2005 à 15:59
la réponse de stacco n'est pas toute à fait exact car la fonction input permet de lirre le buffer du port série. qui se rempli au fur et à mesure de la réception des données.

Donc il faut utiliser l'évenement 'onComm' de l'objet MScomm et écrire une boucle de réception.

Les lecteur on généralement ce que l'on apelle un terminator ou deux dans le car ou ils sont paramétré en <CR><LF>.

donc il faut mettre dans l'évenement On comm :

dim InBuffer as string

Select Case mscScanner1.CommEvent


Case comEvReceive ' Réception d'un nombre RThreshold de caractères.

While InStr(1, InBuffer, vbCrLf) = 0
InBuffer = InBuffer & mscScanner1.Input
Wend
et don on récupere dans In Buffer la trame compléte du lecteur

selon les différents cas du select case vous pouvez gérer aussi les signaux RTS,DCD et ainsi de suite;

Pour finir si vous voulez envoyer des caracteres hexa en trame sur le port ex: CR qui est CARRIAGE RETURN et qui est un caractere non imprimable il faut :
ça c'est un envoi en décimal (oups!)
Sur le net vous trouvez facilement des tables ASCII avec leur correspondance hexa<=>décimal.

mscomm1.ouput = CHR$(13) & CHR$(10)

Sinon dans le MSDN il y a un exemple trés détaillé.

riton27
0
sitewebenligne Messages postés 18 Date d'inscription samedi 7 février 2015 Statut Membre Dernière intervention 14 mai 2015
27 avril 2015 à 14:08
Bonjour, mon textbox reste vide après le scanne de la douchette, mais sur le bloc note ça marche, vous avez une idée?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 avril 2015 à 15:01
Bonjour,
Au moment de la lecture, il va de soi que ta textbox doit être le contrôle actif et ne doit pas être inhibée
0
sitewebenligne Messages postés 18 Date d'inscription samedi 7 février 2015 Statut Membre Dernière intervention 14 mai 2015
27 avril 2015 à 15:14
Ca veut dire inhibé? Je lui donne déjà le cocus avant le scan avec textbox.setfocus
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 27/04/2015 à 15:54
on peut inhiber une textbox de différentes manières, par exemple
- en en empêchant la modification au clavier
- en la rendant indisponible
Examine donc toutes les propriétés de cette textbox.

EDIT :
Et (sait-on jamais ?) j'espère que tu n'as pas donné à cette textbox la même couleur de caractères que celle de fond ...

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
sitewebenligne Messages postés 18 Date d'inscription samedi 7 février 2015 Statut Membre Dernière intervention 14 mai 2015
27 avril 2015 à 17:15
La saisie avec le clavier est visible et
les propriété de mon textbox sont initiales
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 27/04/2015 à 17:51
Désolé, mais je ne comprends pas.
Si ta textbox a le focus au moment ou tu scannes avec la douchette et qu'elle n'est pas inhibée à ce même moment et que les caractères de la textbox sont d'une couleur différente de son fond, tout devrait marcher sans aucun problème.

A moins, bien entendu, que tu ne scannes un codebarre incompréhensible et/ou contenant des caractères inacceptables par ta textbox (composé de caractères illisibles une fois traduits)

Si, par exemple, ta douchette lit un caractère traduit en caractère de tabulation, ta textbox perd le focus de ce seul fait. Ce qui ne se produirait pas avec le bloc notes, qui accepte, lui la tabulation.
D'autres traductions de caractères peuvent également avoir des conséquences imprévisibles.

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
sitewebenligne Messages postés 18 Date d'inscription samedi 7 février 2015 Statut Membre Dernière intervention 14 mai 2015
Modifié par sitewebenligne le 27/04/2015 à 18:51
Oui j'ai tester sur bloc note, les caractères
Sont des chiffres, je teste en même temps sur
La textbox Du formulaire et sur le bloc note,
Ca marche pour le bloc note et pas sur le textbox
Et aussi j'ai programmer la douchette pour qu'elle
n'affiche aucune retour a la ligne ni tabulation pour tester
Mais ca ne fonctionne pas.
les chiffres affiché sont de ce type: 30987656789876

Une configuration au niveau de visual basic 2013 est nécessaire je crois
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 27/04/2015 à 19:48
Je dirais plutôt que c'est au niveau de la configuration de ton lecteur de douchette, que tu dois intervenir.
Il n'est pas impossible que tu aies des différences de caractères, dues à des différences de langages (arabe ou asiatique, peut-être ?) entre ton Visual Basic et ton lecteur de code barre (alors que ces mêmes différences ne sont pas présentes avec ton bloc-notes).
Voir, donc, dans ce sens.

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
sitewebenligne Messages postés 18 Date d'inscription samedi 7 février 2015 Statut Membre Dernière intervention 14 mai 2015
27 avril 2015 à 19:48
Il y a une manipulation a faire dans vb.net 2013 pour la langue?
Tu pense que la douchette affiche des chiffes dans le bloc note et
autre caractères dans zone de text de vb.net?
Vous avez essayez personnellement en pratique le scanne d'une douchette dans vb.net ou simple conclusion que puisque ca marche dans bloc note ca marche dans textbox?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 avril 2015 à 19:55
Simple conclusion, pardi. Et elle est logique, cette conclusion.
Mais dis-nous : as-tu des différences de langages/caractères entre ton VB et ton lecteur ?
En quel langage est configuré ton VB, déjà ?

Vérifie par ailleurs également que ton lecteur de code barre et ton clavier sont configurés de la même manière (A1ZERTY ou QWERTY)


0
sitewebenligne Messages postés 18 Date d'inscription samedi 7 février 2015 Statut Membre Dernière intervention 14 mai 2015
27 avril 2015 à 20:06
Mon vb est en français.
Pardon, même si votre conclusion est
logique, elle ne marche pas, merci d'essayer
avec vb.net 2013 et me répondre, tu verra
car je travail avec un projet vierge, form+textbox
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 avril 2015 à 20:42
Bon. Ton VB est en français.
Et ta douchette ?
Et ton bloc-notes ?
Et quid du clavier (des deux, douchette et pc) ?
Je ne vais pas essayer. Pour une seule raison : je n'ai pas de douchette.
Ce que je sais, c'est que cela marche lorsque tout est en harmonie (clavier et langue). La raison en est simple : la douchette agit exactement comme un clavier.
Bon. Moi, j'ai terminé.
Bonne chance.
0
sitewebenligne Messages postés 18 Date d'inscription samedi 7 février 2015 Statut Membre Dernière intervention 14 mai 2015
27 avril 2015 à 20:54
Pas pour mon textbox,
Merci a vous aussi
0
Rejoignez-nous