J'utilise mon lecteur de code-barres via un port COM, avec le code ci-dessous, qui simule un terminal PDV et imprime le nom du produit et son prix sur l'écran tiré d'une base de données MySQL. Le problème est que pendant que le port COM est ouvert, et prêt à lire les données, le loop until inkey=chr(13)
ne fonctionnera pas, quand je veux quitter le "mode de balayage", et obtenir le montant total dû, par exemple.Comment quitter la lecture de code-barres via le port COM en appuyant sur une entrée?
Ceci est écrit en FreeBasic, mais je suis plutôt intéressé par le concept général de la façon de résoudre ce problème, pas une solution spécifique à la langue.
dim buffer as string*20 'reads a 20 character long string
do
if open com ("COM6:9600,N,,2" for input as #1) <> 0 then
print "Unable to open serial port. Press any key to quit application."
sleep
end
end if
get #1,,buffer
print buffer
close #1
loop
La seule façon que je pouvais quitter la boucle mettait une instruction IF dans la boucle avec un code-barres spécifique, par la lecture que la boucle quitté, mais c'est la solution la plus délicate. – Gabe