Supprimer

Résolu
ced55957 Messages postés 108 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 19 juin 2012 - 24 juin 2005 à 07:48
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 - 24 juin 2005 à 17:37
bonjour



je voudrais savoir comment on fait pour suprimer une fiche si le code d'acces entré dans un tedit est correct??



je vous remercie

5 réponses

florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
24 juin 2005 à 17:37
J'oubliais:

Dans la fiche de vérification de mot de passe, il faut:

- Un Edit (ici EdtMDP) où l'utilisateur entre le mot de passe

- Un Bouton dont la propriété ModalResult soit à mrOK.

- Il ne doit pas y avoir de gestionnaire d'evenement associé au
OnClick du bouton (par contre à l'édit si vous voulez ...) : la fiche
se débrouille toute seule grâce au ModalResult.



C'est simple, ça marche mais ce n'est pas le comble en matière de
sécurité (en même temps, cela ne sert à rien d'être solide si on n'est
pas solidement attaché ).



'Le mot de passe' doit être evidemment remplacé par le mot de passe (il peut être récupéré dnas le registre ou autres).



Par contre, ne pas oublier d'écrire une méthode (même simple) qui
enlève les entrées de la base de registres: il n'y a rien de plus
ch**** pour moi que de d'enlever les clés que les programmes qui les
ont mises n'ont même pas pris la peine de les enlever.



@ ++

Florent

Si tu ne te plantes pas ......
tu ne poussera jamais
3
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
24 juin 2005 à 09:17
Salut



Je pense que tu veux dire Fermer une fenetre.

Form1.Close;



Bonne Prog
0
ced55957 Messages postés 108 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 19 juin 2012
24 juin 2005 à 14:05
non c'est une boite mot de passe et je veut que si le mot de pass et
correcte, a la prochaine utilisation il pass directement a la form2!!!



merci
0
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
24 juin 2005 à 16:37
Salut,



Je sais pas si tu peux le faire directement commme ca.



Ce que tu peux faire c'est mettre l'info dans un fichier ini, qui dit
que tu passe un parametre a 1 quand il a reussi a s'identifier et si il
essaye encore tu verifier l'etat de la variable, si 1 alors Ok tu va
directement a la form sinon tu lui affiche la boite de mot de passe.

Je sais pas si ca repond a ta question.



Bonne Prog
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
24 juin 2005 à 17:29
Si on veut vraiment retenir le mot de passe on peut faire comme cela (en utilisant le registre) :

Dans le source du projet faire un truc dans le genre (attention c'est assez long)

<hr size= "2" width="100%"> program Project1;



uses

Forms,

Unit1 in 'Unit1.pas' {FrmVerifMDP}, // Fiche de vérif de mot de passe.

Unit2 in 'Unit2.pas' {FrmPrinc}, // Fiche principale.

Registry, // Pour le registre.

Windows, // Pour HKEY_CURRENT_USER.

Controls; // Pour ModalResult (mrOK).



{$R *.res}



var

{ Le registre ... }

Reg: TRegistry;

{ La var qui dit si c'est bon. }

Bon: Boolean;

begin

{ Initialisation. }

Application.Initialize;

{ Cette fiche doit être crée avant celle de demande de mot de passe sinon

elle ne sera pas la fiche principale de l'application. }

Application.CreateForm(TFrmPrinc, FrmPrinc);



{ Ouverture du registre. }

Reg: =TRegistry.Create;

try

{ Utilisateur actuel. }

Reg.RootKey:= HKEY_CURRENT_USER;

{ Ouverture de la clé (si elle existe). }

Bon:=Reg.OpenKey('Software\Démo DelphiFr',False);

if Bon then

begin

{ Si la clé existe, on vérifie si la valeur existe. }

Bon: =Reg.ValueExists('Code');

{ Si la valeur existe, on vérifie qu'elle autorise l'acces. }

if Bon then

Bon:= Reg.ReadBool('Code');

{ On referme la clé. }

Reg.CloseKey;

end;



{ Test si c'est bon. }

if not Bon then

begin

{ On crée la fiche de demande de mot de passe. }

Application.CreateForm(TFrmVerifMDP, FrmVerifMDP);

{ On l'execute en modal: necéssite que les boutons aient une valeur de

ModalResult différente de mrNone. }

if FrmVerifMDP.ShowModal = mrOk then

if FrmVerifMDP.EdtMDP.Text = 'Le mot de passe' then

begin

{ On ouvre la clé ou on la crée. }

Reg.OpenKey('Software\Démo DelphiFr',True);

{ On remplit la valeur. }

Reg.WriteBool('Code',True);

{ On dit que c'est bon. }

Bon: =True;

{ Fermeture de la clé. }

Reg.CloseKey;

end;

{ On détruit la fiche de demande de mot de passe. }

FrmVerifMDP.Release;

end;

finally

{ Fermeture du registre. }

Reg.Free;

end; // Try.



{ Véréficaton finale. }

if Bon then

{ On peut y aller !! }

Application.Run;

end.

<hr size="2" width="100%">Bonne lecture ^^



@ ++

Florent




Si tu ne te plantes pas ......
tu ne poussera jamais
0
Rejoignez-nous