Conversion texte ascii

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 354 fois - Téléchargée 39 fois

Contenu du snippet

voila deux fonctions pour crypter et decrypter des chaines de texte vers ascii lorsqu'on clique sur des boutons et d'ecrire et le resultat dans des zones de textes

Source / Exemple :


Private Sub crypt_Click()
Text2.Text = ""
texte = Text1.Text
For x = 1 To Len(texte)
lettre = Mid(texte, x, 1)
Text2.Text = Text2.Text & Hex(Asc(lettre))
Next
End Sub

Private Sub decrypt_Click()
texte = Text2.Text
Text1.Text = ""
texte = UCase(texte)
If Len(texte) Mod 2 = 1 Then texte = Left(texte, Len(texte) - 1)
For z = 1 To Len(texte) Step 2
lettre = Mid(texte, z, 2)
chaine = "0123456789ABCDEF"
If InStr(chaine, Right(lettre, 1)) = 0 Or InStr(chaine, Right(lettre, 1)) = 0 Then
mes = MsgBox("vous avez entrez un caractère non valide", vbOKOnly)
Text2.Text = ""
Exit Sub
End If

x = 0
Do
x = x + 1
Loop Until Mid(chaine, x, 1) = Right(lettre, 1) Or x > 16

y = 0
Do
y = y + 1
Loop Until Mid(chaine, y, 1) = Left(lettre, 1) Or y > 16
If lettre = "DA" Then
Text1.Text = Text1.Text + Chr$(13) + Chr$(10)
Else
nombre = x - 1 + 16 * (y - 1)
Text1.Text = Text1.Text & Chr(nombre)
End If
Next
End Sub

A voir également

Ajouter un commentaire

Commentaire

cs_Warny
Messages postés
478
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015
-
Petite question comme ça,
Pourquoi tu n'utilise pas la fonction instring pour récuperer la position du caractère, c'est plus rapide que ta boucle while ?
ça ferait un truc du genre :

Private Sub decrypt_Click()
Dim x as long
Dim hbit as integer, lbit as integer
Const hexCars as String = "0123456789ABCDEF"

For x=1 to len(chaine) step 2 'pour prendre par 2 caractères
hbit = instr(hewCars,mid(chaine,x,1) - 1
lbit = instr(hewCars,mid(chaine,x+1,1) - 1
if hbit -1 or lbit -1 Then
'erreur on traite
end if
lettre = chr(hbit*16 + lbit)
sortie = sortie + lettre
Next
End Sub

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.