jessoulabrute
Messages postés33Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention28 avril 2005
-
28 avril 2005 à 02:05
ticomic
Messages postés57Date d'inscriptionmercredi 22 décembre 2004StatutMembreDernière intervention29 avril 2005
-
29 avril 2005 à 22:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
ticomic
Messages postés57Date d'inscriptionmercredi 22 décembre 2004StatutMembreDernière intervention29 avril 2005 29 avril 2005 à 22:31
Eum, pour le français je comprend pas trop, je le trouve correcte, surtout qu'il n'y a pas beaucoup de mots la-dedans.
Mais ce que je voulais dire c'est plutot de faire une fonction au lieu d'un boutton. Bon, je donne un exemple plus clair:
Private Function Binaire2Hexa (byval nombrebinaire as string)
Ici ya tout le code pour convertir
Binaire2hexa = Nombre hexadécimal
End function
De cette façon, tu n'as qu'a mettre ca dans le boutton:
(ok, disons que tu le fais avec un msgbox par exemple)
msgbox "Le nombre hexadécimal est:" & Binaire2hexa(Zt_Binaire.Text)
C'est la particularité des fonctions, elle peuvent retourner une valeur et donc être utilisées presque comme des variables. Cela sert aussi de manière à ce que tu puisse mettre la fonction disons dans un module ou une dll (ca je ne connais pas ca, mais je crois que c'est possible). Comme ça tu peux convertir un nombre sans faire call bo_binaire2hexa_click et tu peux convertir un nombre qui n'est pas nécéssairement dans un endroit précis (tu n'as besoin que de la variable), et je répete que ça évite d'enlever ce qu'il y a déjà dans le clipboard. Bon, voila à peu près ce que devrais avoir l'air ton code (bon, c'est juste mon avis quand même, mais je crois que les autres membres seront d'accord):
Private Function Binaire2Hexa(ByVal nombre As String) As String
Dim nombrehexa As String
nombrehexa = ""
Var_Len = Len(nombre)
Var_OK = Var_Len / 4
Select Case Right(Var_OK, 2)
Case "25"
nombre = "000" + nombre
Case ",5"
nombre = "00" + nombre
Case "75"
nombre = "0" + nombre
End Select
Do Until Var_Fois >= (Var_Len / 4)
Var_Fois = Var_Fois + 1
Select Case Right(Left(nombre, (Var_Fois * 4)), 4)
Case "0000"
nombrehexa = nombrehexa + "0"
Case "0001"
nombrehexa = nombrehexa + "1"
Case "0010"
nombrehexa = nombrehexa + "2"
Case "0011"
nombrehexa = nombrehexa + "3"
Case "0100"
nombrehexa = nombrehexa + "4"
Case "0101"
nombrehexa = nombrehexa + "5"
Case "0110"
nombrehexa = nombrehexa + "6"
Case "0111"
nombrehexa = nombrehexa + "7"
Case "1000"
nombrehexa = nombrehexa + "8"
Case "1001"
nombrehexa = nombrehexa + "9"
Case "1010"
nombrehexa = nombrehexa + "A"
Case "1011"
nombrehexa = nombrehexa + "B"
Case "1100"
nombrehexa = nombrehexa + "C"
Case "1101"
nombrehexa = nombrehexa + "D"
Case "1110"
nombrehexa = nombrehexa + "E"
Case "1111"
nombrehexa = nombrehexa + "F"
End Select
Loop
Binaire2Hexa = nombrehexa
End Function
Et pour transformer un nombre binaire tu fais tout simplement nombrehexa = Binaire2hexa(nombrebinaire)
Bonne prog!
didyman
Messages postés86Date d'inscriptionvendredi 26 novembre 2004StatutMembreDernière intervention 8 novembre 2007 28 avril 2005 à 13:06
je ne comprend pas... j'écris français??? jme suis même forcer sur mes faute d'orthographe!!!
Merci pour vos commentaires!
Je vais tous le recorriger aujourd'hui... changer les IF par des Select Case et ajouter des commentaires.
Tukkkko
Messages postés29Date d'inscriptionlundi 22 mars 2004StatutMembreDernière intervention29 janvier 2007 28 avril 2005 à 12:42
Ce code n'est pas terrible, ceci dit, MERCI DE BIEN VOULOIR ECRIRE FRANCAIS, ça ne serait pas mal du tout
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 28 avril 2005 à 09:54
Ton code de conversion en hexa et vraiment lourd, tu peut t'y prendre par un calcul.
didyman
Messages postés86Date d'inscriptionvendredi 26 novembre 2004StatutMembreDernière intervention 8 novembre 2007 28 avril 2005 à 02:20
Se code date de ya 2 ans et je ne connaisssais pas Select Case dans se temps la....
Mais c'est vrai que j'aurais pu l'adapter a se que je connais aujourd'hui avant de le poster...
et en passant Bo_Binaire2Hexa_Click() est un bouton alors impossible de mettre une variable! (messenble... logiquement)
Merci pour tes commentaire, j'en prend note!
ticomic
Messages postés57Date d'inscriptionmercredi 22 décembre 2004StatutMembreDernière intervention29 avril 2005 28 avril 2005 à 02:07
Désolé, c'est moi qui a posté tout ca, pas Jesslabrute (auto login oups)
jessoulabrute
Messages postés33Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention28 avril 2005 28 avril 2005 à 02:05
Je sais pas si tu sais, mais ya déjà plusieurs codes de ce genre sur le site, disont que ca devient redondant si les sources n'ont rien de spécial.
Deuxièmement, je peux tout de suite voir que tu aurait pu utiliser end select au lieux de tous ces ifs (le processus en serait accéléré théoriquement).
De plus, tu te sert du clipboard?? Pas fort, ça, tu aurait en premier lieu du te servir d'une fonction, qui peux retourner un type ce qui est son utilité comparée a un sub, et puis au moins si tu utilise un sub, tu aurait pu mettre la valeur dans une variable au lieu que l'utilisateur aurait alors pu utiliser.
Encore une chose, Bo_Binaire2Hexa_Click() ne prend aucun argument! bon, une fonction aurait été mieux comme je disais, mais sinon tu aurait pu faire:
sub Bo_Binaire2Hexa_Click(byval nombrebinaire as string)
Bon, en tk, je te suggère d'aller voir les autres sources qui font la même chose (mais mieux) sur vbfrance je crois qu'il y en a a peu près 10 sinon plus.
29 avril 2005 à 22:31
Mais ce que je voulais dire c'est plutot de faire une fonction au lieu d'un boutton. Bon, je donne un exemple plus clair:
Private Function Binaire2Hexa (byval nombrebinaire as string)
Ici ya tout le code pour convertir
Binaire2hexa = Nombre hexadécimal
End function
De cette façon, tu n'as qu'a mettre ca dans le boutton:
(ok, disons que tu le fais avec un msgbox par exemple)
msgbox "Le nombre hexadécimal est:" & Binaire2hexa(Zt_Binaire.Text)
C'est la particularité des fonctions, elle peuvent retourner une valeur et donc être utilisées presque comme des variables. Cela sert aussi de manière à ce que tu puisse mettre la fonction disons dans un module ou une dll (ca je ne connais pas ca, mais je crois que c'est possible). Comme ça tu peux convertir un nombre sans faire call bo_binaire2hexa_click et tu peux convertir un nombre qui n'est pas nécéssairement dans un endroit précis (tu n'as besoin que de la variable), et je répete que ça évite d'enlever ce qu'il y a déjà dans le clipboard. Bon, voila à peu près ce que devrais avoir l'air ton code (bon, c'est juste mon avis quand même, mais je crois que les autres membres seront d'accord):
Private Function Binaire2Hexa(ByVal nombre As String) As String
Dim nombrehexa As String
nombrehexa = ""
Var_Len = Len(nombre)
Var_OK = Var_Len / 4
Select Case Right(Var_OK, 2)
Case "25"
nombre = "000" + nombre
Case ",5"
nombre = "00" + nombre
Case "75"
nombre = "0" + nombre
End Select
Do Until Var_Fois >= (Var_Len / 4)
Var_Fois = Var_Fois + 1
Select Case Right(Left(nombre, (Var_Fois * 4)), 4)
Case "0000"
nombrehexa = nombrehexa + "0"
Case "0001"
nombrehexa = nombrehexa + "1"
Case "0010"
nombrehexa = nombrehexa + "2"
Case "0011"
nombrehexa = nombrehexa + "3"
Case "0100"
nombrehexa = nombrehexa + "4"
Case "0101"
nombrehexa = nombrehexa + "5"
Case "0110"
nombrehexa = nombrehexa + "6"
Case "0111"
nombrehexa = nombrehexa + "7"
Case "1000"
nombrehexa = nombrehexa + "8"
Case "1001"
nombrehexa = nombrehexa + "9"
Case "1010"
nombrehexa = nombrehexa + "A"
Case "1011"
nombrehexa = nombrehexa + "B"
Case "1100"
nombrehexa = nombrehexa + "C"
Case "1101"
nombrehexa = nombrehexa + "D"
Case "1110"
nombrehexa = nombrehexa + "E"
Case "1111"
nombrehexa = nombrehexa + "F"
End Select
Loop
Binaire2Hexa = nombrehexa
End Function
Et pour transformer un nombre binaire tu fais tout simplement nombrehexa = Binaire2hexa(nombrebinaire)
Bonne prog!
28 avril 2005 à 13:06
Merci pour vos commentaires!
Je vais tous le recorriger aujourd'hui... changer les IF par des Select Case et ajouter des commentaires.
28 avril 2005 à 12:42
28 avril 2005 à 09:54
28 avril 2005 à 02:20
Mais c'est vrai que j'aurais pu l'adapter a se que je connais aujourd'hui avant de le poster...
et en passant Bo_Binaire2Hexa_Click() est un bouton alors impossible de mettre une variable! (messenble... logiquement)
Merci pour tes commentaire, j'en prend note!
28 avril 2005 à 02:07
28 avril 2005 à 02:05
Deuxièmement, je peux tout de suite voir que tu aurait pu utiliser end select au lieux de tous ces ifs (le processus en serait accéléré théoriquement).
De plus, tu te sert du clipboard?? Pas fort, ça, tu aurait en premier lieu du te servir d'une fonction, qui peux retourner un type ce qui est son utilité comparée a un sub, et puis au moins si tu utilise un sub, tu aurait pu mettre la valeur dans une variable au lieu que l'utilisateur aurait alors pu utiliser.
Encore une chose, Bo_Binaire2Hexa_Click() ne prend aucun argument! bon, une fonction aurait été mieux comme je disais, mais sinon tu aurait pu faire:
sub Bo_Binaire2Hexa_Click(byval nombrebinaire as string)
Bon, en tk, je te suggère d'aller voir les autres sources qui font la même chose (mais mieux) sur vbfrance je crois qu'il y en a a peu près 10 sinon plus.
Vraiment, c'est à améliorer.