cs_Tioneb
Messages postés193Date d'inscriptiondimanche 16 décembre 2001StatutMembreDernière intervention29 juillet 2015 9 oct. 2004 à 15:41
J'ai oublié de dire que bien sur il est possible de modifier le nombre de terme composant le s/n, il suffit pour celà de changer la valeur de la boucle For (le "5" pour être précis). Et de la même façon il est aussi possible et vivement conseillé de modifier le calcul de certification (et sa valeur résultante) comme ça, vous êtes sur d'avoir un numéro unique.
pwoc
Messages postés38Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention25 décembre 2007 9 oct. 2004 à 17:16
Je me suis juste permis d'améliorer un petit peu ton code.... Je suis sur que tu vas comprendre en lisant
Private Sub BoutGenerer_Click()
Dim a, b, c, d, e, Num As Integer
Dim CharStr As String, FirstPass As Boolean
CharStr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim Resultat As String
For Num = 1 To 5
FirstPass = True
Do While (a + e) + (d - b) - (2 * e + (d - c)) <> 0 Or FirstPass
a = Aleatoire(0, 35)
b = Aleatoire(0, 35)
c = Aleatoire(0, 35)
d = Aleatoire(0, 35)
e = Aleatoire(0, 35)
FirstPass = False
Loop
'traitement de a
Resultat = Resultat & Mid(CharStr, a + 1, 1)
'traitement de b
Resultat = Resultat & Mid(CharStr, b + 1, 1)
'traitement de c
Resultat = Resultat & Mid(CharStr, c + 1, 1)
'traitement de d
Resultat = Resultat & Mid(CharStr, d + 1, 1)
'traitement de e
Resultat = Resultat & Mid(CharStr, e + 1, 1)
If Num <> 5 Then Resultat = Resultat & "-"
Next Num
Text1.Text = Resultat
TextCrypte.Text = Crypter(Text1.Text & "")
End Sub
pwoc
Messages postés38Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention25 décembre 2007 9 oct. 2004 à 17:18
Ah oui, j'ai retiré ce bout de code ne comprenant pas son utilité (il ne porte que sur la dernière génération...)
TextA.Caption = "a=" & a
TextB.Caption = "b=" & b
TextC.Caption = "c=" & c
TextD.Caption = "d=" & d
TextE.Caption = "e=" & e
TextCalcul.Caption = "Calcul=" & (a + e) + (d - b) - (2 * e + (d - c))
cs_Tioneb
Messages postés193Date d'inscriptiondimanche 16 décembre 2001StatutMembreDernière intervention29 juillet 2015 9 oct. 2004 à 17:34
Ah oui super, j'y avais pas pensé!!! C'est vrai que c'est mieux comme ça et pis ça tient sur 1 écran!
Sinon pour le bout de code que tu as retiré, c'était juste pour moi voir les valeurs choisies mais il est vrai que ça n'a aucune utilité. Par contre ce qui peut être plus intéressant (pour le développeur, pas pour celui qui utiliserait le programme commercial) c'est de compter le nombre d'itération.
Encore merci pour ton optimisation
AtomiKiller
Messages postés127Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention11 juin 2008 9 oct. 2004 à 21:02
Salut , franchement bravo c'est bien pensé , c'est pas con du tout et c'est assez simple :) , 9/10 car une amélioration était possible ;)
9 oct. 2004 à 15:41
9 oct. 2004 à 17:16
Private Sub BoutGenerer_Click()
Dim a, b, c, d, e, Num As Integer
Dim CharStr As String, FirstPass As Boolean
CharStr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim Resultat As String
For Num = 1 To 5
FirstPass = True
Do While (a + e) + (d - b) - (2 * e + (d - c)) <> 0 Or FirstPass
a = Aleatoire(0, 35)
b = Aleatoire(0, 35)
c = Aleatoire(0, 35)
d = Aleatoire(0, 35)
e = Aleatoire(0, 35)
FirstPass = False
Loop
'traitement de a
Resultat = Resultat & Mid(CharStr, a + 1, 1)
'traitement de b
Resultat = Resultat & Mid(CharStr, b + 1, 1)
'traitement de c
Resultat = Resultat & Mid(CharStr, c + 1, 1)
'traitement de d
Resultat = Resultat & Mid(CharStr, d + 1, 1)
'traitement de e
Resultat = Resultat & Mid(CharStr, e + 1, 1)
If Num <> 5 Then Resultat = Resultat & "-"
Next Num
Text1.Text = Resultat
TextCrypte.Text = Crypter(Text1.Text & "")
End Sub
9 oct. 2004 à 17:18
TextA.Caption = "a=" & a
TextB.Caption = "b=" & b
TextC.Caption = "c=" & c
TextD.Caption = "d=" & d
TextE.Caption = "e=" & e
TextCalcul.Caption = "Calcul=" & (a + e) + (d - b) - (2 * e + (d - c))
9 oct. 2004 à 17:34
Sinon pour le bout de code que tu as retiré, c'était juste pour moi voir les valeurs choisies mais il est vrai que ça n'a aucune utilité. Par contre ce qui peut être plus intéressant (pour le développeur, pas pour celui qui utiliserait le programme commercial) c'est de compter le nombre d'itération.
Encore merci pour ton optimisation
9 oct. 2004 à 21:02