Conversion

cs_machto Messages postés 179 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 février 2009 - 27 janv. 2003 à 10:02
cs_machto Messages postés 179 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 février 2009 - 27 janv. 2003 à 21:08
Bonjour,
j'en suis aux prémices de la suspicion de connaîssance en VB6, ....... c'est vous dire!!!
Je cherche à obtenir en affichage dans un label l'expession Hexa du chiffre que je viens d'entrer.
Exemple:
Je rentre 25 dans ma textbox et je veux afficher dans un label: "00011001".
La doc que je possède n'est pas explicite là dessus.
Merci d'une réponse rapide.
Bonne journée à tous
JM M@chto

6 réponses

cs_machto Messages postés 179 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 février 2009 1
27 janv. 2003 à 10:27
Re-Bonjour,
je m'aperçois que j'ai dit Hexa au lieu de binaire (faute de débutant, on va dire)
Mille excuses, merci
JMM
machto@ifrance.com
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
27 janv. 2003 à 11:37
Bonjour.
Une TextBox Text1 dans laquelle tu entres ton nombre en décimal
Un Label Label1 où s'affichera ton nombre en binaire
Un bouton Command1 pour lancer l'affichage

Une fonction de conversion :

Private Function decimal_binaire(dec As Long) As String
Do decimal_binaire ("1" And dec Mod 2 1) & decimal_binaire
dec = dec \ 2
If dec = 0 Then Exit Do
Loop
End Function

Private Sub Command1_Click()
Label1.Caption = decimal_binaire(CLng(Text1.Text))
End Sub
0
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
27 janv. 2003 à 12:40
Une vieille fonction pas optimisé (desolé j'ai meme plus vb6 pour l'instant... .net etant suffisant) mais elle à le merite d'etre comprehensive je trouve. (et ca a été fait a mes debuts en vb6, donc c'est simple...bref)

Function DeciBinr(decibin As Variant)
dim decibin2 as variant
dim reslt as string
Do Until decibin <0.5 ' on fait tourner la boucle jusqu'a ce que decibin soit ou inferieur a 0,5
decibin2 = decibin / 2

'cette ligne tient sur une ligne, mais bon, je la laisse comme tel pour les commentaires :
If Int(decibin2) = decibin2 Then ' si la valeur integer de decibin2 est egale a decibin2 , alors :
reslt = 0 & reslt ' on ajoute un zero a droite
Else
reslt = 1 & reslt ' sinon on ajoute un 1
End If
decibin = Int(decibin2) ' on garde la valeur integer decibin2 dans decibin
Format decibin2 ' on format decibin2
Loop ' fin de boucle

DeciBinr = reslt 'le resultat de la fonctiin DeciBinr est reslt
End Function
0
cs_machto Messages postés 179 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 février 2009 1
27 janv. 2003 à 14:17
Rebonjour et merci pour ta réponse très efficace. puis-je abuser en te demandant comment faire apparaître les 8 bits même s'il sont à 0.?
A bientôt
JM M@chto
0

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

Posez votre question
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
27 janv. 2003 à 18:13
Bonjour.

Remplace :

Label1.Caption = decimal_binaire(CLng(Text1.Text))

par

Label1.Caption = Format(decimal_binaire(CLng(Text1.Text)), "00000000")
0
cs_machto Messages postés 179 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 18 février 2009 1
27 janv. 2003 à 21:08
Merci, je ne connaissais pas cette instruction.
Bonne soirée
JM M@chto
0
Rejoignez-nous