Conversion string en trame hexa

Signaler
Messages postés
9
Date d'inscription
mercredi 3 décembre 2003
Statut
Membre
Dernière intervention
7 juillet 2015
-
Messages postés
9
Date d'inscription
mercredi 3 décembre 2003
Statut
Membre
Dernière intervention
7 juillet 2015
-
Salut tous,

qui peut me tuyauter sur une méthode pour passer d'une chaine de car (string de car 0..F) en une string qui contient les car en hexa
"ABC012" : 6 Car
AB C0 12 : 3 car

Bien sûr tu l(auras reconnu c'est pour envoyer une foutue trame hexa taper dans un text box à la mano.

Ciao LOL ;)
8-)
8-)

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
Salut shakey 00 à FF 0 à 255 le jeu de caractères disponible

Pour transformer un caractère par son équivalent en hexa :
CarHexa$ = Hex(Asc(CarString$))
Pour être sûr d'avoir toujours 2 digits par code hexa :
CarHexa$ = Right$("00" & Hex(Asc(CarString$)), 2)

Pour refabriquer un caractère à partir d'un code héxa de 2 digits :
CarString$ = Chr(Val("&h" & CarHexa$))

Vala
Jack
Messages postés
216
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 mai 2004

c poche jack
voici MA solution pour coder en hexa :

Function Hexa(Str As String) As String
Dim car
For i = 1 To Len(Str)
car = Mid$(Str, i, 1)
Hexa = Hexa & Hex$(Asc(car))
Next
End Function
Messages postés
216
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 mai 2004

p.s si il doit y avoir un espace entre chaque valeur hexa (00 ff 3d) :
Function Hexa(Str As String) As String
Dim car
For i = 1 To Len(Str)
car = Mid$(Str, i, 1)
if i = Len(Str) then
Hexa = Hexa & Hex$(Asc(car))
else
Hexa = Hexa & Hex$(Asc(car)) & " "&
end if
Next
End Function
Messages postés
9
Date d'inscription
mercredi 3 décembre 2003
Statut
Membre
Dernière intervention
7 juillet 2015

Salut à tous,
Merci pour vos réactions et comme vous y avez consacré du temps, je poste les solutions symétriques que j'ai finalement implantées et qui ronronnent :

***************************************
Public Function Str2hex(ByVal s As String) As String
'Convertie une string en char hexa pour en faire une trame hexa RTU

Dim i, j As Integer
i 1: Str2hex ""
While (i < Len(s))
j = CInt("&H" & Mid(s, i, 2))
Str2hex = Str2hex & Chr(j)
i = i + 2
Wend
End Function

***************************************
Public Function Hex2str(ByVal s As String) As String
'Convertie une trame hexa RTU en une string

Dim i As Integer
Dim u As String
i 1: Hex2str ""
While (i <= Len(s))
u = Hex(Asc(Mid(s, i, 1)))
If Len(u) = 1 Then
u = "0" & u
End If
Hex2str = Hex2str & u & " "
i = i + 1
Wend
Hex2str = RTrim(Hex2str) ' retirer le blanc de droite
End Function
***************************************

LOL