Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chaine de caractères

4 réponses
Avatar
Brat'ac
Bonjour,

Comment faire pour récupérer dans une variable TOUS les caractères
d'une chaîne y compris les caractères de contrôle comme "LF" "CR" ....
en Hexa ?

Merci de l'aide

GS

4 réponses

Avatar
MichD
Bonjour,

Essaie comme ceci. J'ai mis une virgule entre chaque caractère transformé en hexadécimal.

'------------------------------------------
Sub test()

Dim X As String, D As String, A As Integer

X = "auto" 'L'expression à transformer

For A = 1 To Len(X)
char = Mid(X, A, 1)
D = D & Application.Dec2Hex(Asc(char)) & ","
Next
If D <> "" Then
D = Left(D, Len(D) - 1)
MsgBox D
End If
End Sub
'------------------------------------------


MichD
------------------------------------------
Avatar
Brat'ac
MichD a présenté l'énoncé suivant :
Bonjour,

Essaie comme ceci. J'ai mis une virgule entre chaque caractère transformé en
hexadécimal.

'------------------------------------------
Sub test()

Dim X As String, D As String, A As Integer

X = "auto" 'L'expression à transformer

For A = 1 To Len(X)
char = Mid(X, A, 1)
D = D & Application.Dec2Hex(Asc(char)) & ","
Next
If D <> "" Then
D = Left(D, Len(D) - 1)
MsgBox D
End If
End Sub
'------------------------------------------



Merci cela fonctionne bien, mais je ne vois pas apparaître les
caractères de fin de ligne comme CR et LF.
GS
Avatar
MichD
| mais je ne vois pas apparaître les caractères de fin de ligne comme CR et LF.

La procédure fait une boucle sur tous les caractères de la chaîne.
Donne un exemple où le résultat attendu n'est pas au rendez-vous.
Avatar
Brat'ac
Dans son message précédent, MichD a écrit :

La procédure fait une boucle sur tous les caractères de la chaîne.
Donne un exemple où le résultat attendu n'est pas au rendez-vous.



Bonjour,
J'ai modifié comme cela
' --------------------------------------------------
Sub Transforme_En_Hexa(X As String)
Dim D As String, A As Integer, Char As String
'X = "auto" 'L'expression à transformer
For A = 1 To Len(X)
Char = Mid(X, A, 1)
D = D & Application.Dec2Hex(Asc(Char)) & " "
Next
If D <> "" Then
D = Left(D, Len(D) - 1)
MsgBox D
End If
End Sub
'-----------------------------------------------------
Et je l'appelle comme ça:
'-----------------------------------------------------
Sub Essai()
Dim Code as String
Code = InputBox("")
End Sub
' -----------------------------------------------------

C'est bon ?