UltimataL
Messages postés18Date d'inscriptionlundi 3 septembre 2007StatutMembreDernière intervention16 novembre 2009
-
19 mai 2009 à 19:26
UltimataL
Messages postés18Date d'inscriptionlundi 3 septembre 2007StatutMembreDernière intervention16 novembre 2009
-
20 mai 2009 à 09:20
Bonjour,
J 'aimerais pouvoir trouver les lignes de codes qui definissent un caractère type lors de réception de données avec le port série.
Petit exemple:(la communication est déja établie et toutes les données sont affichées dans une textebox)
if char.isnumber("22222") then serialport1.writeline("z 3 0 6")
Mon probléme c est que le port serie envoi toujours ("z 3 0 6") peu importe le char reçu!
Merci à vous
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 mai 2009 à 09:00
Bon je vais essayer de dire tout ça autrement.
tu passe à la methode IsNumber, la chaine (au lieu d'un caractère) codée en dur "22222". Donc quelque soit ce que tu reçois du port série, ça sera toujours le premier 2 de cette chaine qui sera testé. Comme ce caractère est un nombre, ton test sera éternellement positif, quelque soit ce que tu reçois du port.
Ce n'est pas une chaine en dur que tu dois passer en paramètre mais bien le caractère que tu as reçu du port série, c'est lui qui doit être testé.
UltimataL
Messages postés18Date d'inscriptionlundi 3 septembre 2007StatutMembreDernière intervention16 novembre 2009 19 mai 2009 à 21:00
Merci pour ta réponse,
mais même avec autre chose il me renvoie "z 3 0 6"
char.isnumber() indique qu' il sagit d' un nombre, mais cela ne veut pas forcément dire que si je mets cette ligne:
if char.isnumber("22222") then serialport1.writeline("z 3 0 6")
il va juste me renvoyer l' info quand le char lu sera 22222 !???????
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 19 mai 2009 à 21:57
char.isnumber indique si le caractère passé en paramètre est un nombre.
Ici, comme tu lui passe une chaine de caractère, elle sera automatiquement convertie en caractère. C'est à dire que seul le premier caractère sera retenu.
De plus comme tu semble passer une chaine de caractère codée en dur, c'est toujours le même caractère qui sera testé. Et comme ce caractère est bien un nombre, le test sera toujours positif.
UltimataL
Messages postés18Date d'inscriptionlundi 3 septembre 2007StatutMembreDernière intervention16 novembre 2009 20 mai 2009 à 08:09
Si jŽ envoie "x" il me renvera aussi "z 3 0 6", dŽ ou ma question!
Est- ce moi qui force et qui indique que le char est un nombre??, est-ce que sous cette forme la:
if char.?????????("22222") then serialport1.writeline("z 3 0 6")
jŽ ai une chance d y arriver??
jŽ ai essayé tous les menbres de Char. sans meileurs résultats!
Je ne veux pas forcer sur un nombre, je veux juste faire une commande a partir dŽ un char prédefini.
( dans mon appli ces char seront de type "z 2 0 3")
Char est bien un ensemble de caracteres????