Wurzag
Messages postés3Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention25 mai 2008
-
24 mai 2008 à 19:34
Wurzag
Messages postés3Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention25 mai 2008
-
25 mai 2008 à 23:40
Bonjour,
Tout d'abor merci d'avance a ceux qui me lirons et peut-être m'aideron ;)
Mon problème : Je souhaite faire une confirmation de mot de passe. Et j'aimerais savoir s'il existe un équivalent de la fonction Inputbox qui est très pratique pour cela. Car l'inputbox ne me permet pas de cacher le mot de passe en remplacant le test par d'autre caractère.
En gros : Y a-t-il un équivalent ou bien dois-je créé une nouvelle form pour créé moi même ma fenêtre de confirmation grace a la propriété PasswordChar d'un Edit ?
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 24 mai 2008 à 23:54
Bonjour,
il n'existe pas à ma connaissance de fonction pour afficher une fiche d'entrée de mot de passe. Néanmoins, Borland à pensé à nous et a implémenté une sympathique fiche préfaite : va dans Fichier => Nouveau => Autre puis cherche dans l'onglet "Dialogues" puis sélectionne "Dialogue Mot de Passe".
CAD créer une nouvelle fiche, ce que tu voulais éviter je crois :/
C'est vrai que c'est pas pratique et qu'une fiche est encombrante.
Tu peux aussi essayer de créer ta propre fonction qui afficherait une InputBox, avec protection et masque du mot de passe (regarde le code de InputQuery/Box ...)
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 25 mai 2008 à 20:15
Bonjour, bien sur !
Il te faudra déclarer Form1 dans ta clause Uses :
quand tu vois "implementation", tu mets après :
uses (le nom de l'unité de ta première fenêtre [en général je l'appelle "main"]);
Il te faudra créer une nouvelle procédure, appellons la "Finished", tu la mets dans la fiche mère (celle qui n'est pas la fenêtre au mot de passe) et elle sera appellée quand l'utilisateur cliquera sur OK. Elle contiendra l'equivalent de ce que tu mets après le "IF" de ton InputBox !
Alors dans la fenêtre mère :
procedure TForm1.Finished;
begin
*le code après ton IF habituel*
end;
procedure Button1Click(Sender: TObject);
begin
// Correspond au code qui appelle la fenêtre (a partir d'un bouton par exemple)
Form2.ShowModal;
end;
Dans la fenêtre fiche, quand on clique sur le bouton OK
procedure OKClick(Sender: TObject);
begin
Finished; // On appelle la procédure
Close; // On ferme
end;
N'oublie pas de déclarer ta fenêtre mère dans la fenêtre au mot de passe, sinon ca ne marchera pas.
Je te laisse trouver le reste, sinon c'est trop facile :p
Cordialement, Bacterius !
PS : je me suis surement très mal exprimé : indique-nous ce que tu n'as pas compris, et je te réexpliquerai !
Wurzag
Messages postés3Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention25 mai 2008 25 mai 2008 à 18:39
Alors avant tout merci à vous 2 pour vos réponses.
Pour mon niveau qui est plutôt médiocre en delphi je pense que CreateMessageDialog est un petit peu compliquer pour moi :)
J'ai donc choisis la solution de créer une nouvelle fenêtre. Par contre un avantage que j'avais avec l'inputbox etait de pouvoir attendre la réponse dans un if comme ceci :
if InputBox('Confirmation du mot de passe', 'Retappez votre mot de passe', 'Votre mot de passe') = EdCryptKey.Text then
Comment pourrais-je créé un équivalent à l'aide d'une nouvelle fenêtre ?
Puis-je attendre la valeur de retour lorsque l'on appuie sur le boutton de confirmation ou non ?
Merci d'avance encore une fois pour vos éventuelles réponse.