Conversion hex/dec en vb

Fermé
kamel_bxz Messages postés 7 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 12 avril 2008 - 16 févr. 2008 à 15:34
kaadooze Messages postés 2 Date d'inscription mardi 6 mai 2014 Statut Membre Dernière intervention 6 mai 2014 - 6 mai 2014 à 14:25
Bonjour,
je veux deux fonction de conversion en VB6
-conversion hexa/dec
-conversion hexa/bin
merci

6 réponses

Polux31, tu es une merde.
Ce genre de réponses n'apportent rien et ne sont que le reflet de ta pitoyable intelligence.
Va mourir.


Voici les fonctions que j'utilise :

Function hexadecimal_en_decimal(chaine_hexa)
resultat = 0
For i = Len(chaine_hexa) To 1 Step -1 ' Depuis i = longueur chaine à i = 1
longueur = Mid(chaine_hexa, i, 1) ' renvoit le (1) caractère à partir de la position i de la chaine (on commence donc par la fin)
position = Instr("0123456789ABCDEF", UCase(longueur))-1 ' On prend milieu, on met en majuscule au cas où on aurait écrit abcdef au lieu de ABCDEF,
' On met dans position la position du 1er caractère de milieu dans 0123456789ABCDEF et on retire 1 => on a converti de l'hexa en dec
If position >= 0 Then
valeur = position * (16 ^ (Len(chaine_hexa)-i)) ' Formule de maths de conversion
resultat = resultat + valeur
Else
resultat = 0
i = 0 ' Fin de la boucle en cas d'erreur
End If
Next
hexadecimal_en_decimal = resultat
End Function

Function decimal_en_hexadecimal(chaine_dec)
Do While chaine_dec > 0
chaine_dec_tmp = Int(chaine_dec/16)
If chaine_dec - (chaine_dec_tmp * 16) = 10 Then
caractere_hexa = "A"
Else If chaine_dec - (chaine_dec_tmp * 16) = 11 Then
caractere_hexa = "B"
Else If chaine_dec - (chaine_dec_tmp * 16) = 12 Then
caractere_hexa = "C"
Else If chaine_dec - (chaine_dec_tmp * 16) = 13 Then
caractere_hexa = "D"
Else If chaine_dec - (chaine_dec_tmp * 16) = 14 Then
caractere_hexa = "E"
Else If chaine_dec - (chaine_dec_tmp * 16) = 15 Then
caractere_hexa = "F"
Else
caractere_hexa = chaine_dec - (chaine_dec_tmp * 16)
End If
End If
End If
End If
End If
End If
decimal_en_hexadecimal = caractere_hexa & decimal_en_hexadecimal
chaine_dec = chaine_dec_tmp
caractere_hexa = ""
Loop
End Function

wscript.echo "FFFF ça fait : " & hexadecimal_en_decimal("FFFF")
wscript.echo "65535 ça fait : " & decimal_en_hexadecimal("65535")
10
En VB il existe la fonction Hex (valeur) qui permet de convertir en chaine Hexa, malheureusement elle n'accepte pas les valeurs qui dépassent un double donc merci pour cette fonction qui me permet de m'en sortir avec élégance.
Salutations,
Martin T
0