0/5 (4 avis)
Vue 5 789 fois - Téléchargée 590 fois
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.
4 mai 2003 à 20:43
^^
4 mai 2003 à 20:01
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.
4 mai 2003 à 16:45
3 mai 2003 à 09:50
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.