else{sinon} if (pass <> '') and (pass <>'strong') then begin beep; messagedlg('Le mot de passe est incorrect !!!',mtError,[mbOK],0); (ici) then begin // j'aimerai passer à l'autre module si seulement si le mot de passe est correct end else
Pass := InputBox('Mot de passe', 'Saisir un mot de passe SVP!', ''); {* Si on appuie sur OK Pass prend comme valeur ce qui a été saisi si rien na été saisi pass prend comme valeur '' qui est la chaine indiquée comme valeur par défaut Si on appuie sur Annuler Pass rend comme valeur ''. La chaine indiquée comme valeur par défaut *} If Pass <> 'strong' then begin MessageDlg('Le mot de passe est incorrect !!!',mtError,[mbOK],0); // Peut etre incrémenter un compteur du Nb de fois ou l'utilisateur peut recommencer la saisie end Else begin // Le MP est correct. Faire les modifications End;
// appel de la fiche de saisie du MP dans la fiche appelante. Dans ce cas MainForm Procedure TMainForm.mnu_ModifAvecMPClick(Sender: TObject); Var fMotPasse: TfMotPasse; begin // Controle de la présence du fichier MotPasse.INI sur le disque dur If Not IsFichierPasseExiste(FPasse) then Exit; {* Le fichier mot de passe n'est pas présent sur le HD. On quitte A toi de voir ce qu'il faut faire dans ce cas *} fMotPasse := TfMotPasse.Create(Self); Try fMotPasse.ShowModal; // Saisie du mot de passe dans la fiche fMotPasse If fMotPasse.ModalResult = mrCancel then Exit; Finally fMotPasse.Free; End; // ***************************************** // L'unité MotPasse de la fiche fMotPasse unit MotPasse; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TfMotPasse = class(TForm) EdMotPasse: TEdit; StaticText1: TStaticText; BitBtnOk: TBitBtn; BitBtnAnnuler: TBitBtn; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure BitBtnOkClick(Sender: TObject); procedure BitBtnAnnulerClick(Sender: TObject); private { Déclarations privées } cMot: string; nTry: Integer; public { Déclarations publiques } end; implementation uses Main; {$R *.DFM} procedure TfMotPasse.FormCreate(Sender: TObject); Var FTxt: System.Text; begin {* Lire le mot de passe enregistré dans le fichier FPasse pour comparaison avec le mot saisi dans le TEdit *} System.Assign(FTxt, FPasse); Try System.Reset(FTxt); ReadLn(FTxt, cMot); nTry := 0; Finally System.Close(FTxt); End; ActiveControl := EdMotPasse; end; procedure TfMotPasse.FormDestroy(Sender: TObject); begin cMot := ''; end; procedure TfMotPasse.BitBtnOkClick(Sender: TObject); begin If EdMotPasse.Text = cMot then ModalResult := mrOk Else begin Inc(nTry); EdMotPasse.Text := ''; If nTry < 3 then begin MessageDlg('Mot de passe incorrect ! Corrigez SVP', mtWarning, [mbOk],0); EdMotPasse.Setfocus; End Else begin // 3 tentatives de saisie du mot de passe infructueuses. On quitte MessageDlg('Désolé!.'+ CRLF + 'Cette fonction ne vous est pas autorisée !', mtError, [mbOk],0); ModalResult := mrCancel; end End; end; procedure TfMotPasse.BitBtnAnnulerClick(Sender: TObject); begin ModalResult := mrCancel; end; end.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionConst CRLF = #13+#10; DataPourScq = 'D:\Sav\Data\'; // Chemin des données FPasse = 'D:\SAV\Passe.ini'; // Fichier mot de passe FSav = 'D:\Sav\Sav.ini'; // Fichier d'initialisation ImpParDefaut= -1; // Imprimante par défaut;