Soyez le premier à donner votre avis sur cette source.
Vue 9 032 fois - Téléchargée 920 fois
procedure TPasswordDemoMainForm.FormCreate(Sender: TObject); const //nombre maximum d'essais autorisés MaxRetries = 3; //le sésame Password = 'Password'; var //compteur du nombre de tentatives NbRetries : integer; //booléen indiquant si le mot de passe saisi est correct ValidPassword : boolean; begin //Initialisations NbRetries := 0; ValidPassword := False; { Utilisation de la boite de dialogue de mot de passe standard } PasswordDlg := TPasswordDlg.Create(Application); { Tant que le nombre de tentatives autorisées n'est pas atteint et que le mot de passe saisi n'est pas correct, réafficher la boite de dialogue} while (NbRetries < MaxRetries) and (not ValidPassword) do begin Inc(NbRetries); {Si l'utilisateur a appuyé sur Annuler, sortir de la boucle While} if PasswordDlg.ShowModal = mrCancel then break; {Comparaison avec le sésame} ValidPassword := PasswordDlg.Password.Text = Password; end; {while (NbRetries < MaxRetries) and (not ValidPassword)} PasswordDlg.Free; {Enfin, si le mot de passe saisi n'est pas correct, on éjecte et on ferme l'application.} if not ValidPassword then begin ShowMessage ('Goddbye stranger !'); Application.Terminate; end; end;
je suis sur Delphi 5...
J'ai un problème sur PasswordDlg. Est-ce du à Delphi5 ou est-ce que j'ai oublié de déclarer quelquechose ?
Merci d'avance.
Rickless
Pourquoi comparer aussi la taille ?
Ce code traite de la saisie de mot de passe : seule une chaine identique à celle recherchée peut avoir un intérêt. Et si elle est identique, c'est qu'elle a la même taille.
merci
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.