taf06
Messages postés18Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention15 février 2011
-
29 mai 2009 à 15:02
taf06
Messages postés18Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention15 février 2011
-
30 mai 2009 à 22:56
Bonjour,
je voudrais savoir comment déclarer et initialiser une variable héxadécimale sous visual basic studio.
j'essaye
dim var As Byte
var = 0x01
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 29 mai 2009 à 17:11
Pour ce qui est de la conversion des types en .Net il est vrais que l'on peut utiliser le Variable.To...
Cela ne fonctionne malheureusement pas pour ToHex, en effet l' Hexa n'étant pas un type, il n'y a donc pas de conversion en Hexa, il est considéré comme un simple string,
ce que démontre d'ailleurs la fonction Hex
Public Function Hex(ByVal NumberAs [...]) As String Membre de Microsoft.VisualBasic.Conversion
Résumé :
Returns a string representing the hexadecimal value of a number.
Paramètres :
Number: Required. Any valid numeric expression or String expression.
Valeurs de retour :
Returns a string representing the hexadecimal value of a number.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 mai 2009 à 16:52
Salut
En effet, pas de type Hexa.
Sous VB6, il y avait possibilité d'une notation particulière sur une variable de type Long (32 bits) : &H01
Par exemple :
Dim maVar As Long
maVar = &H01
Pour lire le contenu en hexa, il fallait avoir recours à la fonction Hex qui renvoie une chaine :
MsgBox Hex(maVar)
Pas de temps d'essayer sous .Net, mais je pense que la première convention existe toujours et que la conversion à l'affichage doit exister avec un truc du genre
maVar.ToHex
A tester, donc
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
sturtrid
Messages postés133Date d'inscriptiondimanche 20 mai 2007StatutMembreDernière intervention13 juillet 20121 29 mai 2009 à 18:14
Salut Taf !
Ce que tu veux c'est pouvoir écrire une valeur entière sous forme hexadécimale dans ton code ?
DimvarHexAs Byte = &H20
DimvarByteAs Byte = 32
Ici, varHex et varByte sont égales mais on indique au compilateur que varHex est initialisée avec un entier noté en hexadécimal grâce à '&H' placé devant la valeur.
En fait il n'y à pas de variable de type "Hexadécimal", mes deux variables sont de type Byte et pas de type hexadécimal... On aurait d'ailleurs pu les instancier avec les types Integer, Long ou Decimal avec ces même valeurs !
Voici deux fonctions de convertions qui peuvent te servir :
1) D'une chaine représentant une valeur hexadécimale en Integer : Dim IntFromHexString As Integer = System.Convert.ToInt32("20", 16 )
IntFromHexStringvaut 32.
2)D'un Integer en chaine représentant une valeur hexadécimale : Dim hexStringFromInt As String = Hex(32)
hexStringFromInt vaut "20"
Voilà, j'espère avoir répondu à ta question...
Bonne continuation !
++