Bonjour à tous
Je suis en train de réaliser un programme Windows forms sous VB.
Une des consignes est d'afficher dans un label en binaire.
J'ai trouvé sur internet une fonction pour convertir un nombre en binaire, mais elle n'est pas parfaite.
Elle ne tient pas compte des 4 bits ni des points entre 4 bits.
Donc au lieu de 0001.0000 j'ai 10000
Je pensais avoir résolu le problème des 4 bits mais ça me fait une boucle infinie si le nombre est supérieur à 15...
Voici le code :
labbinaire.Text c'est un label où est affiché le nombre en binaire.
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 labbinaire.Text = Convert.ToString(CInt(txtNombre.Text), 2) 'convertion en décimale labhexa.Text = UCase(Convert.ToString(CInt(txtNombre.Text), 16)) 'conversion en hexadécimale Do While Len(labbinaire.Text) = 4 Or Len(labbinaire.Text) = 8 Or Len(labbinaire.Text) = 12 Or Len(labbinaire.Text) = 16 labbinaire.Text = "0" & labbinaire.Text Loop End sub
txtNombre.Text c'est le nombre en décimale
J'ai essayé avec 3 If de suite et ça marche, mais c'est long pour rien.
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 If Not Len(labbinaire.Text) = 4 Or Len(labbinaire.Text) = 8 Or Len(labbinaire.Text) = 12 Or Len(labbinaire.Text) = 16 Then labbinaire.Text = "0" & labbinaire.Text End If If Not Len(labbinaire.Text) = 4 Or Len(labbinaire.Text) = 8 Or Len(labbinaire.Text) = 12 Or Len(labbinaire.Text) = 16 Then labbinaire.Text = "0" & labbinaire.Text End If If Not Len(labbinaire.Text) = 4 Or Len(labbinaire.Text) = 8 Or Len(labbinaire.Text) = 12 Or Len(labbinaire.Text) = 16 Then labbinaire.Text = "0" & labbinaire.Text End If
Partager