Générateur de mots de passe aléatoire

Soyez le premier à donner votre avis sur cette source.

Vue 5 600 fois - Téléchargée 540 fois

Description

C rien de compliqué, c'est mon deuxième code, ça sert à aider les gens qui n'ont pas d'inspiration (mais alors vraiment pas) pour créer un mot de passe assez sûr et aléatoirement ! Je pense que j'ai été clair !
Ps: Ca utilise la fonction Random et Randomize (pour les débutants comme moi qui la connaissent pas, vous pouvez l'étudier ds ce code). Voilà !

Source / Exemple :


Tout le source est dans le zip !!! 

Ici, la source du zip simplifiée de chez simplifiée (g su que après coup, sinon je me serais pas fait autant ch**r ...)

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, ComCtrls, XPMan, Buttons;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Fichier1: TMenuItem;
    Quitter1: TMenuItem;
    About1: TMenuItem;
    XPManifest1: TXPManifest;
    StatusBar1: TStatusBar;
    Edit1: TEdit;
    UpDown1: TUpDown;
    Edit2: TEdit;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    procedure Quitter1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure About1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
  Chiflettre, Deflettre, Defchiffre, NbBoucles, Bouclecount: integer;
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Quitter1Click(Sender: TObject);
begin
Application.Terminate
end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin
Bouclecount := 0;
NbBoucles := StrToInt(Edit2.Text);
Edit1.Text := '';
 repeat
 Randomize;
 Chiflettre := Random(2);
  Case Chiflettre of
    0:
      begin
         Randomize;
         Inc(Bouclecount);
         Edit1.Text := Edit1.Text + IntToStr(Random(10));
      end;
    1:
      begin
         Randomize;
         Inc(Bouclecount);
         Edit1.Text := Edit1.Text + chr(Random(26)+65);
      end;
  end;
 until Bouclecount = NbBoucles;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
 Form2.Show;
end;

end.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
50
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
5 février 2004

ah d'accord ! J'ai compri cette fois, merci ! Mais il ne faut pas trop m'en demander, je suis un noobie encore, un ptit bébé du delphi
^^
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
29
C'était donc çà ?
Le code qui sert à générer le mot de passe aléatoire est appelé à être réutilisé. Ausi, il serait bon de le mettre dans une fonction et cette dernière, de la mettre dans une unité à part. Ainsi, le générateur de mot de passe aléatoire pourrait être réutilisé dans une autre application sans avoir à lier le code de l'unité ci-dessus (pire des cas de figure) ou, c'est un moindre mal, à faire du copier/coller de la partie de code qui t'intéresse (obligation de maintenir deux versions du code). Encore que dans le code ci-dessus, l'affectation du mot de passe au contrôle Edit1 rend les choses plus compliquées.
Par découpler, j'entends séparer le code de gestion de l'interface utilisateur de tout ce qui peut de ce qui peut être réutilisable.
Messages postés
50
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
5 février 2004

Delphiprog :Qu'est-ce que tu entends par "isoler le code de ta fonction de celui de l'interface et le rendre réutilisable. Il faut découpler" ? (dsl mais je suis encore un novice alors, il faut me parler avec des mots simples) ;)
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
29
Allez JackTheRipp3r, encore un petit effort pour isoler le code de ta fonction de celui de l'interface et le rendre réutilisable. Il faut découpler ! (Cette remarque vaut aussi pour TheWhiteShadow).

Pourquoi avoir exposé, en variables globales, Chiflettre, Deflettre, Defchiffre, NbBoucles et Bouclecount. Je pense qu'elles n'ont pas à être visibles de l'extérieur de l'unité. D'ailleurs, le reste du code le prouve.

Sais-tu que tu peux modifier ton code-source (voir le lien plus haut) et ne nous exposer que la substantifique moëlle de ton oeuvre ? ;-}

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.