begin process at 2012 02 16 02:43:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > GÉNÉRATEUR DE CLÉ TRILINGUE

GÉNÉRATEUR DE CLÉ TRILINGUE


 Information sur la source

Note :
Aucune note
Catégorie :Tutoriaux Niveau :Débutant Date de création :29/05/2004 Vu / téléchargé :8 167 / 332

Auteur : Sharkiller

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

C'est un générateur de clé qui peut se mettre en français, en espagnol ou en anglais.

Cette source permet au débutant de gérer la fonction case.

C'est un générateur de clé basique...

Source

  • Private Sub Command1_Click()
  • 'Permet de générer un nombre aléatoirement
  • For n = 1 To 41
  • Randomize
  • nbrnd = Int((1 * Rnd) * n)
  • Next n
  • 'à partir du nombre généré, on va définir la clé à afficher
  • Select Case nbrnd
  • Case 1
  • Text1 = "RHKG3-8YW4W-4RHJG-83M4Y-7X9GW"
  • Case 2
  • Text1 = "QW4HD-DQCRG-HM64M-6GJRK-8K83T"
  • Case 3
  • Text1 = "PQTHM-RWBHR-3BPVW-TFB22-V8HXQ"
  • Case 4
  • Text1 = "KQC2B-X683R-2CDXT-PQ7HQ-47MPT"
  • Case 5
  • Text1 = "JFQYM-YJQFQ-VBRCY-4VV7W-QRXBY"
  • Case 6
  • Text1 = "KMTTB-68H32-8MKRK-GBHKT-RKCP6"
  • Case 7
  • Text1 = "CX7DD-4GX4Y-BTTR4-H88Y7-GQPWQ"
  • Case 8
  • Text1 = "XP8BF-F8HPF-PY6BX-K24PJ-TWT6M"
  • Case 9
  • Text1 = "8RCKG-36TH8-VWBGK-T3CB6-RHG48"
  • Case 10
  • Text1 = "7G4H4-T4XXW-BVXTH-4QP4V-9CV28"
  • Case 11
  • Text1 = "PG274-383QX-6C32H-P8RWC-48M4Q"
  • Case 12
  • Text1 = "CWY3F-JGYHJ-W6KBG-3VYK7-DGG7M"
  • Case 13
  • Text1 = "X6YWJ-M4TG2-DPGWJ-QCFR8-927M6"
  • Case 14
  • Text1 = "QCP6D-7VGVJ-JBKB4-DQMB2-9GTJ3"
  • Case 15
  • Text1 = "F7GV4-B7JGY-Q2KQW-6R8BM-FR8D6"
  • Case 16
  • Text1 = "HFVK4-TFWFG-4JKDH-H3FTT-8B23W"
  • Case 17
  • Text1 = "HRPR7-WGJFC-VPHRB-XVFRW-2KPWY"
  • Case 18
  • Text1 = "V3V63-3QW2G-JMFBY-8F4CM-PDMQW"
  • Case 19
  • Text1 = "WX736-8YJCM-2JW33-4KJGY-XCDJ6"
  • Case 20
  • Text1 = "CQKYH-GKDJC-MJTWP-FPTJX-PKK23"
  • Case 21
  • Text1 = "CHYVW-V63RT-67XVC-XJ4VC-M3YWD"
  • Case 22
  • Text1 = "XMDCV-2TJMR-7JD66-YTVMK-V7PBD"
  • Case 23
  • Text1 = "RQHFJ-X47QJ-G2XKK-WYQ8P-7W6RG"
  • Case 24
  • Text1 = "X6MYY-6BH3T-YRBT8-H8YPH-RG68T"
  • Case 25
  • Text1 = "KVXQ3-RVQFG-FW8KC-2QYC6-67WCD"
  • Case 26
  • Text1 = "KMM7J-FCXMM-WV8PG-6FQMD-CPTQD"
  • Case 27
  • Text1 = "D6T24-3FBGM-WTDG8-6Y3WP-77QRJ"
  • Case 28
  • Text1 = "V88FQ-MFFRR-8D2VY-PG87J-FG7PY"
  • Case 29
  • Text1 = "XK39D-3PDMC-JMMDK-X8T8M-77YVM"
  • Case 30
  • Text1 = "6G3J7-RQ233-FJGHD-GKYP4-QGKPG"
  • Case 31
  • Text1 = "BKRFY-XPMQP-Y8PTW-BP6JM-B76FJ"
  • Case 32
  • Text1 = "GP7DR-2T2CQ-JYW2M-DXTMG-DTQWY"
  • Case 33
  • Text1 = "YWVHF-GT3M6-3QYB2-FCYCH-X47PQ"
  • Case 34
  • Text1 = "QJ68H-G7T8R-WFR77-D8X8Y-VJ398"
  • Case 35
  • Text1 = "6KYDY-JT4MB-6V3JQ-4KKFG-P6C63"
  • Case 36
  • Text1 = "6JQPJ-84CFG-JCBQP-PVRJP-9G24Q"
  • Case 37
  • Text1 = "MQ8JV-XXKVG-DB8V3-67WJB-RCB6W"
  • Case 38
  • Text1 = "J3T66-JTP72-TGT7H-PMMWH-XM4K3"
  • Case 39
  • Text1 = "DB4H8-DQJJB-KXMWP-GPJVY-H7P6W"
  • Case 40
  • Text1 = "38BXC-F2C4R-PXMXV-DBQXM-3C7V6"
  • Case 41
  • Text1 = "7FMM3-W4FMP-4WRXX-BKDRT-7HG48"
  • Case Else
  • 'Si le nombre n'est pas compri entre 1 et 41,
  • 'On régénère le nombre
  • For n = 1 To 41
  • Randomize
  • nbrnd = Int((1 * Rnd) * n)
  • Next n
  • End Select
  • 'Si le nombre dépasse 41,
  • 'On régénère ce nombre
  • If nbrnd > 41 Then
  • For n = 1 To 41
  • Randomize
  • nbrnd = Int((1 * Rnd) * n)
  • Next n
  • End If
  • 'Si le nombre est inférieur à 41,
  • 'On régénère ce nombre
  • If nbrnd < 1 Then
  • For n = 1 To 41
  • Randomize
  • nbrnd = Int((1 * Rnd) * n)
  • Next n
  • End If
  • End Sub
  • Private Sub Command2_Click()
  • 'Pour quitter
  • End
  • End Sub
  • Private Sub Command3_Click()
  • 'Pour copier la clé
  • Clipboard.SetText (Text1)
  • End Sub
  • Private Sub Form_Unload(Cancel As Integer)
  • 'Pour bien fermer l'application
  • End
  • End Sub
  • Private Sub Picture2_Click()
  • 'Retour à la feuille de présentation
  • Me.Hide
  • Form2.Show
  • End Sub
Private Sub Command1_Click()
'Permet de générer un nombre aléatoirement
    For n = 1 To 41
    Randomize
    nbrnd = Int((1 * Rnd) * n)
    Next n

    'à partir du nombre généré, on va définir la clé à afficher
    Select Case nbrnd
    Case 1
    Text1 = "RHKG3-8YW4W-4RHJG-83M4Y-7X9GW"
    Case 2
    Text1 = "QW4HD-DQCRG-HM64M-6GJRK-8K83T"
    Case 3
    Text1 = "PQTHM-RWBHR-3BPVW-TFB22-V8HXQ"
    Case 4
    Text1 = "KQC2B-X683R-2CDXT-PQ7HQ-47MPT"
    Case 5
    Text1 = "JFQYM-YJQFQ-VBRCY-4VV7W-QRXBY"
    Case 6
    Text1 = "KMTTB-68H32-8MKRK-GBHKT-RKCP6"
    Case 7
    Text1 = "CX7DD-4GX4Y-BTTR4-H88Y7-GQPWQ"
    Case 8
    Text1 = "XP8BF-F8HPF-PY6BX-K24PJ-TWT6M"
    Case 9
    Text1 = "8RCKG-36TH8-VWBGK-T3CB6-RHG48"
    Case 10
    Text1 = "7G4H4-T4XXW-BVXTH-4QP4V-9CV28"
    Case 11
    Text1 = "PG274-383QX-6C32H-P8RWC-48M4Q"
    Case 12
    Text1 = "CWY3F-JGYHJ-W6KBG-3VYK7-DGG7M"
    Case 13
    Text1 = "X6YWJ-M4TG2-DPGWJ-QCFR8-927M6"
    Case 14
    Text1 = "QCP6D-7VGVJ-JBKB4-DQMB2-9GTJ3"
    Case 15
    Text1 = "F7GV4-B7JGY-Q2KQW-6R8BM-FR8D6"
    Case 16
    Text1 = "HFVK4-TFWFG-4JKDH-H3FTT-8B23W"
    Case 17
    Text1 = "HRPR7-WGJFC-VPHRB-XVFRW-2KPWY"
    Case 18
    Text1 = "V3V63-3QW2G-JMFBY-8F4CM-PDMQW"
    Case 19
    Text1 = "WX736-8YJCM-2JW33-4KJGY-XCDJ6"
    Case 20
    Text1 = "CQKYH-GKDJC-MJTWP-FPTJX-PKK23"
    Case 21
    Text1 = "CHYVW-V63RT-67XVC-XJ4VC-M3YWD"
    Case 22
    Text1 = "XMDCV-2TJMR-7JD66-YTVMK-V7PBD"
    Case 23
    Text1 = "RQHFJ-X47QJ-G2XKK-WYQ8P-7W6RG"
    Case 24
    Text1 = "X6MYY-6BH3T-YRBT8-H8YPH-RG68T"
    Case 25
    Text1 = "KVXQ3-RVQFG-FW8KC-2QYC6-67WCD"
    Case 26
    Text1 = "KMM7J-FCXMM-WV8PG-6FQMD-CPTQD"
    Case 27
    Text1 = "D6T24-3FBGM-WTDG8-6Y3WP-77QRJ"
    Case 28
    Text1 = "V88FQ-MFFRR-8D2VY-PG87J-FG7PY"
    Case 29
    Text1 = "XK39D-3PDMC-JMMDK-X8T8M-77YVM"
    Case 30
    Text1 = "6G3J7-RQ233-FJGHD-GKYP4-QGKPG"
    Case 31
    Text1 = "BKRFY-XPMQP-Y8PTW-BP6JM-B76FJ"
    Case 32
    Text1 = "GP7DR-2T2CQ-JYW2M-DXTMG-DTQWY"
    Case 33
    Text1 = "YWVHF-GT3M6-3QYB2-FCYCH-X47PQ"
    Case 34
    Text1 = "QJ68H-G7T8R-WFR77-D8X8Y-VJ398"
    Case 35
    Text1 = "6KYDY-JT4MB-6V3JQ-4KKFG-P6C63"
    Case 36
    Text1 = "6JQPJ-84CFG-JCBQP-PVRJP-9G24Q"
    Case 37
    Text1 = "MQ8JV-XXKVG-DB8V3-67WJB-RCB6W"
    Case 38
    Text1 = "J3T66-JTP72-TGT7H-PMMWH-XM4K3"
    Case 39
    Text1 = "DB4H8-DQJJB-KXMWP-GPJVY-H7P6W"
    Case 40
    Text1 = "38BXC-F2C4R-PXMXV-DBQXM-3C7V6"
    Case 41
    Text1 = "7FMM3-W4FMP-4WRXX-BKDRT-7HG48"
    Case Else
'Si le nombre n'est pas compri entre 1 et 41,
'On régénère le nombre
    For n = 1 To 41
    Randomize
    nbrnd = Int((1 * Rnd) * n)
    Next n
End Select
'Si le nombre dépasse 41,
'On régénère ce nombre
If nbrnd > 41 Then
    For n = 1 To 41
    Randomize
    nbrnd = Int((1 * Rnd) * n)
    Next n
End If
'Si le nombre est inférieur à 41,
'On régénère ce nombre
If nbrnd < 1 Then
    For n = 1 To 41
    Randomize
    nbrnd = Int((1 * Rnd) * n)
    Next n
End If
End Sub

Private Sub Command2_Click()
'Pour quitter
    End
End Sub

Private Sub Command3_Click()
'Pour copier la clé
    Clipboard.SetText (Text1)
End Sub

Private Sub Form_Unload(Cancel As Integer)
'Pour bien fermer l'application
    End
End Sub

Private Sub Picture2_Click()
'Retour à la feuille de présentation
    Me.Hide
    Form2.Show
End Sub

 Conclusion

Voilà, c'est aussi simple que ça...

N'essayez tout de même pas de chercher ce que ces clés permettent d'activer...

Ceci n'est qu'un exemple, ce ne doit en aucun cas être pris au sérieux...


Merci et bonne prog ;)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) SUIVI DE TRAJECTOIRE
Source avec Zip Source avec une capture CGP TO HTML CONVERTER
Source avec Zip Source avec une capture COMPTE À REBOURS INTÉGRÉ DANS UN MODULE !!
Source avec Zip Source avec une capture GÉNÉRATEUR DE CLÉS ALÉATOIRE
Source avec Zip Source avec une capture ARACHNICIDE (GENRE JEU DE LA TAUPE, MAIS AVEC UNE ARAIGNÉE)

 Sources de la même categorie

Source avec Zip DLL PERSONNALISÉ AVEC ÉVÈNEMENTS ET PROPRIÉTÉS EN VB6. par Number7
Source avec Zip Source .NET (Dotnet) EXEMPLE DU TUTORAIL "CLASSES MÉTIER" par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION DES LISTES : RANGEMENT (LIST.SORT) ET FILTRAGE (LIST... par kbalist
Source avec Zip EXEMPLE SUR LES MENUS POUR AIDER LES DÉBUTANTS COMME MOI ;-) par viragoloco
LES OPÉRATIONS DE LA LISTE CHAINÉE par smaili

Commentaires et avis

Commentaire de vlad2i le 29/05/2004 20:30:13

Je ne voudrais pas etre méchant, mais il y a juste qqch qui me tracasse...

D'après ce que je sais, tu pourrais remplacer tous tes for n = 1 to 41... par un tout simple NbRnd = fix(Rnd*41) qui te renverrais un entier entre 0 et 40... et puis +1 si tu veux qu'il soit entre 1 et 41...

Moi je dis ca c'est gratuit c'est juste une question que je me posais...

:P
Vlad

Commentaire de Sharkiller le 29/05/2004 22:47:04

oui, mais après, je pense pas qu'on puisse définir les clés à afficher...

Dis-moi si je me trompe...

@+
Sharky

Commentaire de vlad2i le 30/05/2004 18:26:13

D'après moi, et je peux me tromper...

Ca revient au meme, 15 lignes de codes en mois, de faire
NbRnd = Rnd×41
Que de faire une boucle inutile avant de vérifier si on a dépassé...

Commentaire de SimonKari le 03/06/2004 02:30:26

Moi je dois dire je vois déjà pas l'utilité de ces 40 lignes de Select ... Case ... A mon sens c'est complètement ridicile de mettre ces "clés" en dur dans le code mais bon. Je verrais mieux un VRAI générateur de clés style itérateur. Ca allègerais le style...

Commentaire de Sharkiller le 03/06/2004 22:49:38

Et bien enfait, le but de ce petit prog était d'expliquer comment définir la clé à générer... bien sûr qu'il était possible de générer une clé aléatoire à chaque fois, mais je ne vois pas l'utilité... car un générateur de clé définit une clé précise pour le programme...

du moins, c'estc e que je pense...

c'est du basique, c'est que du texte, je le rappelle...

Merci et bonne prog

Commentaire de vlad2i le 04/06/2004 20:37:59

Rhooooô

Jamais !
Jamais un constructeur consciencieux (a part M$ peut etre) ne mettrait "en dur" les codes dans le programme !!!

SimonKari as raison : rien n'est aléatoire en informatique, au mieux tu aura de l'imprédictif...

Héhé non mais essayes toi à un générateur qui respecte une loi mathématique (Checksum = 10, Somme des chiffres = 25) et pis voila !

Commentaire de speedyghost le 05/01/2007 10:57:41

ben si vous etes pas content, allez voir ailleur !
sinon faites le vous meme !

Commentaire de econs le 05/01/2007 12:23:07 administrateur CS


Il n'est pas question ici d'être content ou pas. On veut juste indiquer à Sharkiller que son code est très très optimisable, et pointer du doigt les points qui fachent. Sinon, aucune chance pour lui de s'améliorer.

Par exemple :

=====================================================================

# For n = 1 To 41
#     Randomize
#     nbrnd = Int((1 * Rnd) * n)
#     Next n

Au passage, 1 * Rnd = Rnd

Les deux lignes qui suivent font la même chose, et tu obtiendras un vrai résultat aléatoire. Sans regénérer le compteur de Rnd, tu obtiendrais toujours les mêmes valeurs.

Randomize Timer ' réinitialisation du générateur de nombres aléatoires;
nbrnd = Int(41*Rnd)+1

Ce qui donnera 1 <= nbrnd < 42

Avec çà, aucun risque de sortir des bornes.



==============================================================

# 'Si le nombre dépasse 41,
# 'On régénère ce nombre
# If nbrnd > 41 Then
#     For n = 1 To 41
#     Randomize
#     nbrnd = Int((1 * Rnd) * n)
#     Next n
# End If
# 'Si le nombre est inférieur à 41,
# 'On régénère ce nombre
# If nbrnd < 1 Then
#     For n = 1 To 41
#     Randomize
#     nbrnd = Int((1 * Rnd) * n)
#     Next n
# End If
Et si ici, après les 2 If, nbrnd > 41, tu fais quoi ? Le "If >41" est déjà passé ... Y'a comme un hic d'algo.

==============================================================
Enfin, les boucles For ne servent à rien du tout. Remplaces 'n' directement par 41, tu gagneras du temps CPU et de la lisibilité.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,416 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales