Serialport_"commande suite à donnée spécifique"

Résolu
UltimataL Messages postés 18 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 16 novembre 2009 - 19 mai 2009 à 19:26
UltimataL Messages postés 18 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 16 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

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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é.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 mai 2009 à 19:48
Dans la mesure ou, dans la chaine "22222" le premier caractère, donc "2", est bien un nombre il est logique que ton port série envoie "z 3 0 6"

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
UltimataL Messages postés 18 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 16 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 !???????

Merci à vous pour votre temps et vos réponses!
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
UltimataL Messages postés 18 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 16 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????

Merci pour tes réponses Casy
0
UltimataL Messages postés 18 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 16 novembre 2009
20 mai 2009 à 09:20
Merci, la c est claire!


Pourrais-tu me donner une piste???

Merci
0
Rejoignez-nous