boule7
Messages postés3Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention24 septembre 2003
-
22 sept. 2003 à 20:22
sitewebenligne
Messages postés18Date d'inscriptionsamedi 7 février 2015StatutMembreDernière intervention14 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.
gwiwi
Messages postés127Date d'inscriptionlundi 8 juillet 2002StatutMembreDernière intervention 4 janvier 20071 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 ?
stacco
Messages postés106Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention22 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
stacco
Messages postés106Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention22 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
riton27
Messages postés7Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention28 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é.
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.
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.
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
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.
sitewebenligne
Messages postés18Date d'inscriptionsamedi 7 février 2015StatutMembreDernière intervention14 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?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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)
sitewebenligne
Messages postés18Date d'inscriptionsamedi 7 février 2015StatutMembreDernière intervention14 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
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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.