Petite question sur Mscomm32

cs_lordko Messages postés 12 Date d'inscription samedi 18 septembre 2004 Statut Membre Dernière intervention 25 janvier 2006 - 29 janv. 2005 à 15:31
cs_lordko Messages postés 12 Date d'inscription samedi 18 septembre 2004 Statut Membre Dernière intervention 25 janvier 2006 - 29 janv. 2005 à 17:44
Bonjour,

Je pensais pouvoir éviter de faire patienter mon application quand je lancais une commande AT et que j'attendais la réponse complète ("OK" & Chr(13) & Chr(10)
pour définir la fin de réception) en faisant une petite boucle qui lisait le tampon de réception jusqu'au moment où il tombait sur les 4 derniers caractères soient "OK" & Chr(13) & Chr(10). Mais ca ne marche pas comme je le voudrais... ;)

En fait je stock dans la variable temp une chaine avec des virgules,que je récupère via le port de com, je split ensuite cette chaine dans un tableau. Le problème est que je ne reçois jamais deux fois la même chaine (alors qu'elle devrait être identique) donc au lieu d'avoir une chaine que je split sur 4 cellules, des fois je split sur 3 ou 2... et donc jamais complète.

voilà mon code:


Dim temp
As
String



Dim TableauTemp()
As
String


Communicateur.Output = CommandeATMonNuméro


Attente(100) 'Fonction de threading


temp = Communicateur.Input



Do
Until Microsoft.VisualBasic.Right(temp, 4) = "OK" & Chr(13) & Chr(10)


temp = Communicateur.Input



Loop

Help :)

2 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
29 janv. 2005 à 16:35
Salut,

Dans ton code, je ne vois pas le split, oubli ?

Cordialement, CanisLupus
0
cs_lordko Messages postés 12 Date d'inscription samedi 18 septembre 2004 Statut Membre Dernière intervention 25 janvier 2006
29 janv. 2005 à 17:44
Non mais je voyais pas trop l'utilité vu que ca ne pose pas de pb qd la string est complète :-/

au cas où...


TableauTemp = Split(temp, ",")
0
Rejoignez-nous