Convertir une chaine de caracatères en hexadécimal

vinc524 Messages postés 2 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 4 mars 2004 - 26 févr. 2004 à 16:38
cs_Funcky Messages postés 59 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 11 mai 2006 - 26 févr. 2004 à 22:01
salut all !

voilà je voulais savoir s'il existe une fonction pour convertir une chaine de caractètes provenat du port série RS232 récupéré par la méthode Input de MsComm (buffer = MSComm.Input) en code hexadecimal.
La fonction Int.Parse(maString) ne me retourne rien.
Quand a la fonction Convert.ToInt(maString,16) j'ai une erreur (manque un paramètre)

maString = MSComm.Input.ToString();

//convertir en hexa

la chaine peu ressembler a ça par exemple:
maString = "ÿÿ\0\0"\b”";

Peut on convertir le caractère 'ÿ' de la chaine en code hexadecimal ?
pour info VB le fait très bien par ce code en me renvoyant le code hexa du caractère 'ÿ':
buff = "ÿÿ\0\0"\b”"
textbox1.text = Hex(Asc(Mid(buff, 1, 2)))

merci de votre réponse
Vinc

1 réponse

cs_Funcky Messages postés 59 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 11 mai 2006
26 févr. 2004 à 22:01
il faut faire un peu de logique et partrtir sur un conversion de base 10 vers base 16

je t'eqplique le principe par exemple pour convertir 231 en base 16 tu fait :
213 / 16 13 reste 5> première partie : 5
13 / 16 0 reste 13> deuxième partie (13 en dec donc D en hex)

Resultat : D5
En fait une boucle while suffit, tant que le resultat n'est pas à 0, tu le redivise par 16, en ajoutant le reste à chaque fois. A la fin tu obtient le reésultat

Funcky 8-)

=============================

On dit que seulement dix personnes au monde comprenaient Einstein. Personne ne me comprend. Suis-je un génie ?
0
Rejoignez-nous