Delphi boîte de dialogue de saisie de mot de passe?
Inputbox:
answer:=Inputbox('a','b','c');
marche bien, mais je suis à la recherche d'un masqués, comme un mot de passe de la boîte où vous ne voyez que des petites étoiles à la place des caractères tapés.
Vous pouvez envoyer un message de Windows pour le contrôle d'édition créée par InputBox, qui marquera le contrôle d'édition pour la saisie du mot de passe. Le Code ci-dessous prise de http://www.swissdelphicenter.ch/en/showcode.php?id=1208:
Dans XE2 InputBox() et InputQuery() ont été mis à jour pour supporter nativement le masquage de la TEdit d'entrée, bien que cette fonctionnalité n'a pas été encore documentées. Si le premier caractère de la APrompt paramètre est réglé sur une valeur < #32 puis le TEdit.PasswordChar sera mis à *, par exemple:
answer := InputBox('a',#31'b','c');
Maintenant que c'est intuitif! Ils sont allés à la difficulté de l'expansion de InputQuery() (qui InputBox() utilise en interne) avec de nouveaux paramètres pour le multi-invites et une OnCloseQuery de rappel, mais ils ne pouvaient pas être pris la peine de créer un nouveau paramètre permettant de spécifier le mot de passe de masquage? Le multi-invites de soutien par l'invite de masquage, mais ils auraient pu faire qu'une interface plus intuitive. Au lieu d'utiliser un tableau de chaînes de caractères spéciaux caractères de plomb, ils devraient avoir utilisé un éventail de documents contenant chaîne/masque paires. Que se serait même permis de futurs champs à ajouter pour un contrôle plus fin sur la TEdit contrôles. Mais nope.
InputBox appelle la InputQuery fonction dans les boîtes de dialogue, qui crée la forme de façon dynamique. Vous pouvez toujours faire une copie de cette fonction et de changer le TEdit de la propriété PasswordChar.
Je ne pense pas que Delphi comprend une telle chose hors de la boîte. Peut-être que vous pouvez en trouver un à http://www.torry.net/ ou ailleurs dans le filet. Sinon, il suffit d'écrire un vous-même - ne devrait pas être difficile. 🙂 Vous pouvez même regarder le code source si vous avez un "assez grand" Delphi version.
Vous pouvez envoyer un message de Windows pour le contrôle d'édition créée par
InputBox
, qui marquera le contrôle d'édition pour la saisie du mot de passe. Le Code ci-dessous prise de http://www.swissdelphicenter.ch/en/showcode.php?id=1208:OriginalL'auteur overslacked
Dans XE2
InputBox()
etInputQuery()
ont été mis à jour pour supporter nativement le masquage de laTEdit
d'entrée, bien que cette fonctionnalité n'a pas été encore documentées. Si le premier caractère de laAPrompt
paramètre est réglé sur une valeur <#32
puis leTEdit.PasswordChar
sera mis à*
, par exemple:Ils sont allés à la difficulté de l'expansion de
InputQuery()
(quiInputBox()
utilise en interne) avec de nouveaux paramètres pour le multi-invites et uneOnCloseQuery
de rappel, mais ils ne pouvaient pas être pris la peine de créer un nouveau paramètre permettant de spécifier le mot de passe de masquage? Le multi-invites de soutien par l'invite de masquage, mais ils auraient pu faire qu'une interface plus intuitive. Au lieu d'utiliser un tableau de chaînes de caractères spéciaux caractères de plomb, ils devraient avoir utilisé un éventail de documents contenant chaîne/masque paires. Que se serait même permis de futurs champs à ajouter pour un contrôle plus fin sur laTEdit
contrôles. Mais nope.OriginalL'auteur Remy Lebeau
InputBox appelle la InputQuery fonction dans les boîtes de dialogue, qui crée la forme de façon dynamique. Vous pouvez toujours faire une copie de cette fonction et de changer le TEdit de la propriété PasswordChar.
OriginalL'auteur Bruce McGee
Je ne pense pas que Delphi comprend une telle chose hors de la boîte. Peut-être que vous pouvez en trouver un à http://www.torry.net/ ou ailleurs dans le filet. Sinon, il suffit d'écrire un vous-même - ne devrait pas être difficile. 🙂 Vous pouvez même regarder le code source si vous avez un "assez grand" Delphi version.
Uli.
OriginalL'auteur Uli Gerhardt
Vous pouvez utiliser InputQuery au lieu de InputBox. Quand le VRAI argument est défini, le champ mot de passe sera masqué.
Certaines ressources ici; http://lazarus-ccr.sourceforge.net/docs/lcl/dialogs/inputquery.html
OriginalL'auteur PodTech.io