Conversion INT vers HEX avec formatage

Résolu
space_walker Messages postés 84 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 22 juillet 2008 - 28 juil. 2007 à 14:41
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 28 juil. 2007 à 23:01
bonjour,

je souhaite convertir un integer en hexa, mais avec une representation sur 32 bits dans tous les cas ..
exemples :
int = 15         ==> 0000000F
int = 16845    ==> 000041CD
int = 2784592 ==> 002A7D50

j'arrive pas à me depatouiller avec la fonction Hex(..) .. ca me tronque les 0 non significatifs ..

merci

10 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 juil. 2007 à 14:56
Essaye peut-etre avec ceci :

toto = Right("00000000" & Hex(titi) , 8)

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
28 juil. 2007 à 22:49
mmmm moi j'aurais fait plus simplement :
toto=Convert.ToString(i, 16).PadLeft(8,

"0")

où i est la valeur entiere. C'est la même chose mais je ne comprend pas à quoi sert la variable "titi" au dessus

casy : Content que tu sois de mon avis, je me bas souvent pour cette cause depuis que je la soutien. ^^
Je prevois d'ailleurs, (je te le reproposerais), de créer une source commune qui referencerait toutes les équivalences les plus demandée.

HvB a.k.a BaTo ^^x
http://chat.batto.info/ ^^'
http://batto.info/ 
3
space_walker Messages postés 84 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 22 juillet 2008
28 juil. 2007 à 15:09
nickel, mercy casy, que ferait on sans toi ;)
0
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
28 juil. 2007 à 17:21
mais.... casy tu es le premier à être d'accord avec moi pour eviter d'utiliser les residus de vb en .net non?

HvB a.k.a BaTo ^^x
http://chat.batto.info/ ^^'
http://batto.info/ 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 juil. 2007 à 17:52
Exact, j'avais pas fait gaffe que c'était en .Net

Tellement d'accord avec toi que de plus en plus qu'en je vois du code VB6 (comme ici), je n'imagine plus (et ne vérifie pas non plus) que ça peut etre dans la rubrique .Net

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
space_walker Messages postés 84 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 22 juillet 2008
28 juil. 2007 à 18:12
alors en .net pur .. ca donnerait quoi ?
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 juil. 2007 à 20:36
En pur .Net, déjà il n'est pas évident de faire une conversion en Hexa en se passant des service de l'assembly Microsoft.VisualBasic (la fameuse bibliothèque qui pour moi ne devrait jamais etre utilisée en .Net)

Mais il existe quand même certainement plusieurs possibilités, l'une d'elles pourrait etre celle-ci :

        toto = titi.ToString("X").PadLeft(8, "0"c)

ToString("X") pour convertir en Hexa,
PadLeft pour faire le remplissage à gauche.

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 juil. 2007 à 22:55
titi est tout simplement le nombre à convertir, ta variable i en fait

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
28 juil. 2007 à 22:59
c'est donc bien EXACTEMENT la même chose ^^'

pas grave, y avait un message dans ma contribution :p

HvB a.k.a BaTo ^^x
http://chat.batto.info/ ^^'
http://batto.info/ 
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 juil. 2007 à 23:01
Pour la source d'équivalence, pourquoi pas, mais ça va peut-etre pas etre si évident car pour moi il n'y a pas forcément équivalence aussi simplement, à part peut-etre pour les fonctions de chaines comme Left, Mid, Split, ....

Sinon plus qu'une équivalence de fonctions, c'est plutot une organisation du code qui est à repenser. Ce n'est donc pas une fonction VB6 dont il faut trouver l'équivalence, mais quelques fois c'est les 10 lignes + les 10 lignes après qu'il faut réencoder, quand ça ne se reporte pas sur plusieurs niveau d'appel de fonctions.

D'autant plus que avec la puissance de .Net, suivant comment tu pense ton code, tu peux avoir plusieurs chemins pour arriver à la même chose.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Rejoignez-nous