Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
J'ai une douchette USB (Intermec SR30 pour être précis) et j'aimerais savoir comment je peux récupérer l'information m'indiquant que la lecture du code barre est terminée.
J'ai cherché dans l'aide et j'ai trouvé des pistes : ISCP, GID, FID mais tout cela reste flou pour moi et je ne sais pas comment faire.
Visiblement, il y a un event end of read session qui est levé mais je ne sais pas comment le récupérer
Merci
Hors ligne
Salut Sebou,
perso quand j'ai utilisé des scanners / douchettes usb c'était toujours simplement en rempalcement d'un clavier.
c-à-d que au lieu de taper à la main un n° dans un SingleLineEdit par exemple et bien la douchette scanne le code barre, le transforme en équivalent numérique et envoie ensuite cette chaine de caractère au pc comme le ferait un clavier. donc si le focus est sur un champ texte il se remplit avec le n° scanné.
Ensuite je pense que la plupart des scanners envoie un CarriageReturn/LineFeed juste après le n° donc ça permets de déclencher l'event modified d'un sle par exemple. Si ta douchette ne le fait pas par défaut peut être regarder si on peut pas la configurer comme ça.
Sinon au pire déclarer un custome user event dans ton contrôle sle mappé sur "pbm_enchange" (event déclenché à chaque fois que le sle est modifié, sans besoin de presser enter/tab)
ça t'aide ou pas du tout ?
Hors ligne
rincevent a écrit:
Salut Sebou,
perso quand j'ai utilisé des scanners / douchettes usb c'était toujours simplement en rempalcement d'un clavier.
c-à-d que au lieu de taper à la main un n° dans un SingleLineEdit par exemple et bien la douchette scanne le code barre, le transforme en équivalent numérique et envoie ensuite cette chaine de caractère au pc comme le ferait un clavier. donc si le focus est sur un champ texte il se remplit avec le n° scanné.
Ensuite je pense que la plupart des scanners envoie un CarriageReturn/LineFeed juste après le n° donc ça permets de déclencher l'event modified d'un sle par exemple. Si ta douchette ne le fait pas par défaut peut être regarder si on peut pas la configurer comme ça.
Sinon au pire déclarer un custome user event dans ton contrôle sle mappé sur "pbm_enchange" (event déclenché à chaque fois que le sle est modifié, sans besoin de presser enter/tab)
ça t'aide ou pas du tout ?
Pas vraiment car la zone de saisie peut être remplie aussi à l'aide d'un clavier virtuel.
En gros, soit on scanne la référence, soit on la remplit à la main en cliquant sur un clavier virtuel
Hors ligne
et donc comment tu détectes que la frappe est finie si on fait par clavier virtuel alors ?
et qu'en est-il de l'envoi d'un CR/NL àla fin du scan par la douchette ?
Hors ligne
rincevent a écrit:
et donc comment tu détectes que la frappe est finie si on fait par clavier virtuel alors ?
et qu'en est-il de l'envoi d'un CR/NL àla fin du scan par la douchette ?
Je détecte que la frappe manuelle est terminée car j'ai un bouton Valider à côté du clavier ^^
La douchette renvoie CR + LN à la fin
Hors ligne
Sebou a écrit:
La douchette renvoie CR + LN à la fin
Donc si tu détectes le CR + LN c'est que la lecture est bien finie...
Hors ligne
Sebou a écrit:
La douchette renvoie CR + LN à la fin
Donc à priori déclenche l'event itemchanged/modified dans lequel tu n'a plus qu'a coder la même chose que dans ton bouton valider...
Dernière modification par rincevent (11-04-2013 12:05:10)
Hors ligne
Dans ma société nous utilisons beaucoup de module avec des lecteurs de code à barre et la technique que nous utilisons est simplissime mais pas forcément la meilleur :
- l'utilisateur positionne le curseur dans une zone de saisie (ou positionnement automatique)
- si l'utilisateur saisie au clavier virtuel, pas de soucie
- si l'utilisateur badge une référence, un code "retour chariot" est envoyé par le lecteur de code à barres et l'astuce consiste à mettre le bouton de validation en "DEFAULT", comme ça l'action de validation est automatique
Hors ligne
rincevent a écrit:
Sebou a écrit:
La douchette renvoie CR + LN à la fin
Donc à priori déclenche l'event itemchanged dans lequel tu n'a plus qu'a coder la même chose que dans ton bouton valider...
Tu as testé si le itemchanged est déclenché ?
Hors ligne
Oui, après avoir reparamétré la douchette, l'itemchanged est bien déclenché.
Je voulais juste récupérer l'événement qui était levé sous Windows.
C'était une manière aussi pour moi de savoir le faire dans d'autres cas
Hors ligne
Pages: 1