déclaration variable héxacimale [Résolu]

Messages postés
18
Date d'inscription
jeudi 16 avril 2009
Dernière intervention
15 février 2011
- - Dernière réponse : taf06
Messages postés
18
Date d'inscription
jeudi 16 avril 2009
Dernière intervention
15 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

apparemment ça ne marche pas.
merci d'avance.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
3
Merci
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.

Qui retourne une valeur String

@+ Mayzz

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de Mayzz
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
0
Merci
Le type Hexadécimal n'existe pas en vb,

Déclare une vairable String

Le type Byte est réservé à un nombre de 0 à 255.

Pour convertir un des décimales ou autre en Hexa utilise la fonction Hex

Dim Hexa As String = Hex (255)

++ Mayzz
Commenter la réponse de Mayzz
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
0
Merci
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)
Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
0
Merci
Rappel :  Long en VB6 = Integer en .Net
Commenter la réponse de cs_Jack
Messages postés
18
Date d'inscription
jeudi 16 avril 2009
Dernière intervention
15 février 2011
0
Merci
ok, d'accord, je crois que je vais me servir de la fonction hex();
merci!
Commenter la réponse de taf06
Messages postés
133
Date d'inscription
dimanche 20 mai 2007
Dernière intervention
13 juillet 2012
0
Merci
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 !
++
Commenter la réponse de sturtrid
Messages postés
133
Date d'inscription
dimanche 20 mai 2007
Dernière intervention
13 juillet 2012
0
Merci
Oups, j'étais parti sans réactualiser la page...
Donc un peut tard pour les explications !

++
Commenter la réponse de sturtrid
Messages postés
18
Date d'inscription
jeudi 16 avril 2009
Dernière intervention
15 février 2011
0
Merci
slt!
ok merci sturtrid.
Commenter la réponse de taf06

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.