Passwort eingeben, aber ***** anzeigen

Hallo,

ist wohl eine simple Frage:
Wie kann man in Delphi eine typische Passworteingabemaske erstellen?
D.h. einfach ein Edit-Feld, in dem pro Buchstabe immer ein * erscheint, jedoch das Programm intern das Passwort richtig verarbeitet?
Danke im Voraus!

Hallo,

im TEdit gibt es eine Eigenschaft, die heisst „PasswordChar“. Wenn dort was anderes als #0 steht, wird das entsprechende Zeichen anstelle des Textes gezeigt.

Gruss, Niels

Hallo Niels,

vielen Dank. Das ist ja praktisch.
Mich würde trotzdem interessieren, wie man so etwas von Hand programmiert. Weiss das zufällig jemand?

Hallo,

Mich wĂĽrde trotzdem interessieren, wie man so etwas von Hand
programmiert. Weiss das zufällig jemand?

In TEdit existiert ein Feld, das den Inhalt des TEdit enthält. Diese Feld kann zum Beispiel über die Text-Eigenschaft ausgelesen werden. Immer, wenn das TEdit newu gezeichnet werden soll, wird nun die Eigenschaft PasswordChar abgefragt. Ist sie 0, so wird nur dieser Char ausgegeben, sonst der Inhalt.

Wenn du etwas ähnliches selbst machen willst (zB wenn du statt immer dem gleichen Zeichen zufällige Buchstaben ausgeben willst) hast du die elegante Möglichkeit, eine eigenen Komponente von TEdit abzuleiten und darin die entsprechende Zeichenroutine zu ändern (ich weiss aber so auf die schnelle nicht, ob du diese Routine überschreiben kannst).
Oder du speicherst den Inhalt in einer eigenen Variablen und beim OnChange-Ereignis fĂĽllst du die Texteigenschaft mit irgendwelchen Zeichen. Beim Auslesen nimmst du den Inhalt dann aus deiner neuen Variablen statt aus der Text-Eigenschaft (da steht dann ja nur Mist drin). Das ist dann aber nicht so elegant!

Gruss, Niels