cs_jamaica
Messages postés40Date d'inscriptiondimanche 11 janvier 2004StatutMembreDernière intervention 9 décembre 2006
-
1 déc. 2006 à 17:16
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
4 déc. 2006 à 11:22
Bonjour tout, le monde
voila j'ai un souci j'ai fait un prog. en vb6 qui m'envoie sur 2 variable ex: a et b .
Je devrait s'avoir les envoier sur le port rs232 en hexadecimale :
variable a = Hex$(224)
varaible b = Hex$(127)
jusque la tout va bien mais...
donc avec mscomm.ouput = ((a) +(b))
je recois sur l'autre pc : E07F bien coller ... je devrait recevoir pour bien faire ex: :E0 7F il y a t'il quelqu'un qui pourrait m'aider a d'ecoller c'est deux octet ou quel fonction emploier
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 1 déc. 2006 à 17:23
variable a = Hex$(224)
varaible b = Hex$(127)
mscomm.ouput = ((a) +(b))
Dans ce cas là, tu envois les caractères 'E','0','7' et 'F'. Est-ce bien ce que tu veux envoyer ou est-ce plutot les nombres &hE0 et &H7F que tu souhaite envoyer ?????
Sinon dans le cas ou ton code est bon, pour les séparer, tu peux rajouter un espace : ((a) & " " & (b))
(Dsl, je n'aime pas concaténer les chaines de caractères avec '+', j'utilise à la place '&' ce qui syntaxiquement est plus juste d'ailleur)
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 1 déc. 2006 à 19:15
Ok c'est les nombres que tu veux envoyer.
Dans ce cas, peu importe qu'ils soit en hexa, décimal, .... Ce n'est qu'une représentationpour nous programmeurs pour pouvoir les lire. Au niveau nombre, 127=&h7F c'est strictement la même chose. Donc pas de conversion en Hexa avec HEX. HEX te renvoie une chaine de caractère qui est la réprésentation hexa (différent de la valeur) du nombre. Hex sert juste pour de l'affchage.
Par contre dans notre cas, MsComm ne sait pas envoyer de nombre, il ne sait envoyer que des caractères. Donc si tu veux envoyer le nombre 224, il faut en fait envoyer le caractère correspondant en utilisant CHR$(224)
Donc ici il faut faire MsComm.Output = Chr$(224) & Chr$(127)
Pour faire l'opération inverse (à l'arrivée par exemple), tu utilise ASC(), asc() te convertie un caractère en sa valeur numérique (donc tu retrouvera 224 et 127).
Voila, je sais pas si j'ai été assez clair, c'est pas sur
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_jamaica
Messages postés40Date d'inscriptiondimanche 11 janvier 2004StatutMembreDernière intervention 9 décembre 2006 2 déc. 2006 à 23:26
bonjour
Voila, grand merci Casy pour touts t'es renseignement bien utile tout fonctionne.
J'aurait encore une question, pour quel résont j'ai des "instructions" a voir si sa en n'est réellement ex :