[Pascal] Wie zeigt man den Inhalt von Passwortfeldern an?

Tipp-ex

Cadet 3rd Year
Registriert
Okt. 2008
Beiträge
55
Hallo zusammen

ich arbeite mit delphi und wollte mal fragen wie man bei einer Passworteingabe
anstatt dem Wort ein * sieht pro Buchstabe (in Pascal)

z.B

man schreibt passwort ein und man sieht dan ********

Danke im voraus
 
AW: Wie zeigt man * an

Gibt es bei deinem Eingabe-Element eine Eigenschaft namens PasswordChar?
Wenn ja, so sollte dir das helfen. Ich bin selber kein Pascal-Programmierer, daher bin ich mir nicht sicher.

Gruß,

badday
 
AW: Wie zeigt man * an

Es kommt wahrscheinlich auch darauf an, wo das Passwort eingelesen werden soll. Über ein Gui-Element? Dann gibts sicher auch unter Delphi ein spezielles Passworteingabeelement, welches man nutzen kann. Oder direkt an der Konsole? Dort muss man die eingegebenen Zeichen abfangen und verarbeiten - für jedes, was nicht BACKSPACE oder ähnliches entspricht, also ein gültiges Zeichen für ein Passwort darstellt, muss nun statt dem Zeichen ein Stern ausgegeben werden.
 
Ich glaube das nennt sich MaskEdit, bin mir aber nicht mehr ganz sicher...
 
Wenn du das Handle des Edit-Controls hast, kannst du das wie folgt machen (c,WinApi):
Code:
	// hEdit = handle des Edit-Controls
	SendMessage(hEdit,EM_SETPASSWORDCHAR,0,0); // 'lösche' Passwort-Zeichen
	SetFocus(hEdit);	
	
	// und Umgekehrt
	SendMessage(hEdit,EM_SETPASSWORDCHAR,(WPARAM)'*',0); // setze Passwort-Zeichen '*'
	SetFocus(hEdit);
 
würde mich auch mal interessieren;)
@Badday: ja das gibt es in einer normalen Applikation, und da funktioniert das ja auch.
Aber wie sieht das denn in einer KonsolenApplikation aus?
@woey: hm da meckert der compiler :Inkompatyble typen:HWND und String
das password was eingegeben wird, wird in einer string variable gepeichert...
achja, bei D6 gibts keine "WinApi", sondern "Windows"
 
Aber wie sieht das denn in einer KonsolenApplikation aus?
Du könntest das einfach Zeichenweise einlesen, jedes mal ein * auf der Konsole ausgeben und das eingelesene Zeichen dann an einen String anschließen, sodass du darin am Ende das Passwort hast.

Gruß,

badday
 
Zurück
Oben