GÉNÉRER DES NUMÉROS DE SÉRIE POUR VOTRE APPLI

cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015 - 9 oct. 2004 à 15:41
vbmarh Messages postés 60 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 30 novembre 2010 - 26 janv. 2007 à 03:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26702-generer-des-numeros-de-serie-pour-votre-appli

cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 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és 38 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 25 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és 38 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 25 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és 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 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és 127 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 11 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 ;)