![]() |
Inputbox Eingabe als "*********"
hallo,
also ich möchte so ne kleine nöchte-gern-passwortabfrage über einen inputdialog gestalten, indem man dort sein PW eingibt, dies dann mit nem vorher festgelegten string verglichen wird un dann entweder was passiert oder nicht! so mein problem ist jetz wie ich das mache, dass in dem inputdialog solche * kommen wie das so üblich ist! soll ja schließlich nich jeder mein topgeheimes PW sehen^^ hoffe mir kann das jmd näher bringen das in dem feld nur ******* zu sehen is |
Re: Inputbox Eingabe als "*********"
Schau Dir mal die Eigenschaft PasswordChar vom TEdit im Objektinspektor an ;)
...:cat:... |
Re: Inputbox Eingabe als "*********"
Setze "PasswordChar" auf #42.
|
Re: Inputbox Eingabe als "*********"
@ Vorposter:
Zitat:
Erstelle eine neue Form, und benutzte da den Tipp von oben. [edit]Mal eine Anleitung: - Erstelle eine public-function "ShowModal" mit einen Boolean als Rückgabewert - Erstelle eine Variable (oder Property) "Password" (o.s.ä.) von dem Typ "string" - Erstelle eine private Variable "Aborted" (o.s.ä.) vom Typ Boolean - Schreibe in der ShowModalFunktion:
Delphi-Quellcode:
ePW ist das Edit in den man das Passwort schreibt.
ePW.text := '':
aborted := true; inherited ShowModal; Result := not aborted; - Schreibe beim Klick auf den Button "OK" folgenden Code:
Delphi-Quellcode:
- Jetzt kann man in der Hauptanwendung die Form aufrufen fast so wie ein Dialog ;)
Password := ePW.Text;
aborted := false;
Delphi-Quellcode:
[/edit]
if frmPW.ShowModal then
PW := frmPW.Password; |
Re: Inputbox Eingabe als "*********"
Hi,
ich wollte mir ein Modal angezeigtes Form bauen, was genau wie nach deiner Anleitung beschrieben angezeigt werden soll. Es wird eine TXT-Datei angezeigt und dann kann das Form mit einem Klick auf den Weiter-Button geschlossen werden. Allerdings schließt sich das Form nicht. Hier der Quelltext:
Delphi-Quellcode:
@Mods Ich weiß, dass gilt: Neue Frage - Neuer Thread, allerdings hängt meine Frage IMHO direkt mit der hier gestellten Frage zusammen. Wenn ihr nicht der Ansicht seit, verschiebt meine Frage bitte in einen geeigneten Bereich.
unit UFrmMsg;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFrmMsg = class(TForm) MemoMsg: TMemo; BtnContinue: TButton; procedure BtnContinueClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private-Deklarationen } public { Public-Deklarationen } function ShowModal(MsgFilePath : string):boolean; end; var FrmMsg: TFrmMsg; aborted : boolean; implementation {$R *.DFM} { TFrmMsg } function TFrmMsg.ShowModal(MsgFilePath: string): boolean; begin aborted := true; MemoMsg.Clear; try MemoMsg.Lines.LoadFromFile(MsgFilePath); except Application.MessageBox('An Error occured opening the file','File not found',MB_OK); end; inherited ShowModal; result := not aborted; end; procedure TFrmMsg.BtnContinueClick(Sender: TObject); begin aborted := false; end; procedure TFrmMsg.FormClose(Sender: TObject; var Action: TCloseAction); begin Application.Terminate; end; end. tia, Martin |
Re: Inputbox Eingabe als "*********"
Liste der Anhänge anzeigen (Anzahl: 1)
Die Passwort Abfrage gibt es schon fix & fertig.
Der Dialog erlaubt nicht nur das Abfragen eines Passworts, sondern enthält auch einen Passwort-Ändern-Dialog. Hier die relevanten Properties:
Delphi-Quellcode:
// PwChange = True: Change PW Dialog
// PwChange = False: Input PW Dialog property PwChange:Boolean read FPwChange write FPwChange; property Caption : string read FCaption write FCaption; property OldPassword : string read FOldPassword write FOldPassword; property MinLen : integer read FMinLen write FMinLen; property NewPassword : string read FNewPassword; |
Re: Inputbox Eingabe als "*********"
Ich glaube, du hast mich nicht richtig verstanden, ich wollte KEINEN Passwortdialog, sondern nur vom Gedanken her einen Modal-Dialog, in dem ein Memo mit Text angezeigt wird und der nach dem Klick auf einen Button verschwindet. Leider funktioniert es nicht so, wie es oben beschrieben wurde, das ist mein Problem.
|
Re: Inputbox Eingabe als "*********"
Zitat:
|
Re: Inputbox Eingabe als "*********"
Wofür dann diese "aborted" Variable, das habe ich noch nicht verstanden. Ist die dann nicht überflüssig?
|
Re: Inputbox Eingabe als "*********"
Diente zur Unterscheidung zwischen OK und Abbrechen. Und wenn, dann bitte als privates Feld ;) .
|
Re: Inputbox Eingabe als "*********"
Nimm mal ein neues Formular und setze zwei BitButtons drauf.
BitBtn1: property Kind=bkOK BitBtn2: property Kind=bkCancel Damit ist das Grundgrüst für ein modales Formular schon fertig. Es wird kein Eventhandler benötigt, da über das Property ModalResult der Buttons alles von selbst geht. Es wird keine sonstige Variable ("aborted") oder ähnliches benötigt, das regelt alles ModalResult. |
Re: Inputbox Eingabe als "*********"
Zitat:
Du muss natürlich das schließen selber übernehmen. Du könntest alternativ das als Property anlegen, und bei "write" "SetAborted" schreiben, mit der Methode, die FAborted setzt & schießt. Ich poste mal den Code für Dialoge mit OK und Abbrechen:
Delphi-Quellcode:
Um das mit meheren Modi zu machen (OK, Ignorieren etc.), funktioniert das ganze dann über Integer, welche dann entsprechend gesetzt werden.
type
TDialogFrm = class(TForm) // etc. private aborted : Boolean; // etc. end; procedure bAbortClick... begin close; end; procedure bOKClick... begin aborted := false; close; end; function ShowModal... : Boolean; begin aborted := true; // Alles auf "Ursprung" setzten, wenn die Form nicht seperat erstellt wird inherited; // ggf. inherited ShoModal; result := not aborted; end; Am besten dazu dann noch Konstanten schreiben, oder viel besser, die vorhanden nehmen (ID_YES etc.) ^^ |
Re: Inputbox Eingabe als "*********"
Mit Integer? Wofür gibt es dann den ModalResult. Shimas Variante ist die einfachste und auch schnell mit anderen Buttons erweiterbar.
|
Re: Inputbox Eingabe als "*********"
Zitat:
|
Re: Inputbox Eingabe als "*********"
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz