Comment traiter le cas de :"pas de réponse"

Signaler
Messages postés
49
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2005
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
salut
voila deja un petit moment que je bosse sur des cartes électronique. je communique avec elles (com1) et elles me répondent jusque la pas de problème.
je voudrais traiter le cas ou la carte ne répond pas (je la débranche pour cela).
g essayer MScomm1.Input = ""
mais bon ca marche pas.
il y aurai pas une astuce pour traduire "pas de réponse"?
ou pe etre alors il faut utiliser un timer (ou delay) qui au bout de quelques secondes, si la carte ne répond pas alors je passe a la prochaine carte.........
merki de vos réponses

mouky66

1 réponse

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Tu ne peux pas traduire "pas de réponse" puisque c'est une réponse que tu n'obteindras pas.



Tu l'a dit toi même, il faut créer une attente, appelle là comme tu
veux mais dans ce cas precis on appelle ça gébéralement TimeOut.



une piste (je sais pas comment tu gère ton port) :



toto=time

do

if reponse_recu then

rep_recu=true

exit do

end if

dovents

loop while time<(toto + timeout)



if rep_recu=false then

' erreur timeout, pas de réponse

else

' réponse recue, traitement de la réponse

endif



Ce code ne marche peut-etre pas comme ça, mais il y a la base.

En fait tu tourne dans le do-loop tant que tu n'as pas recu de réponse
et au maxi pendant une durée définie par timeout. Dès que tu sort du
Do-loop, tu teste si t'es sortie sur timeout ou sur réponse recue.







<hr size="2" width="100%">Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.