Serialport_"commande suite à donnée spécifique" [Résolu]

Signaler
Messages postés
18
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
16 novembre 2009
-
Messages postés
18
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
16 novembre 2009
-
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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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
Messages postés
18
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
16 novembre 2009

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!
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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
Messages postés
18
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
16 novembre 2009

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

Merci, la c est claire!


Pourrais-tu me donner une piste???

Merci