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

mouky66 Messages postés 49 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 13 juillet 2005 - 21 avril 2005 à 11:28
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 21 avril 2005 à 13:39
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
21 avril 2005 à 13:39
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.
0
Rejoignez-nous