Autor |
Beitrag |
netscanner
Hält's aus hier
Beiträge: 5
|
Verfasst: Do 16.02.06 20:55
Hi ich habe eine kleine Frage:
Um mein Programm zu öffnen muss man am Anfang ein Passwort in eine InputBox eingeben.
Das was ich reinschreibe wird logischerweise als normale Buchstaben dargestellt...
Wie kann ich das nun so programmieren, dass anstatt der Buchstaben *** angezeigt wird?
Gruß Martin
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Do 16.02.06 21:04
Hi Martin,
ist ganz einfach, markiere Dein Edit Feld und gebe im Objektinspektor
bei PasswordChar einen * ein.
Das wars
Uwe
|
|
Tobias1
      
Beiträge: 454
Win 98, XP Prof
D3 Prof, D2005 Prof
|
Verfasst: Do 16.02.06 21:07
Aber wie ist es bei einer InputBox?
Würde mich auch interssieren
_________________ Auch das schlechteste Buch hat seine gute Seite: die letzte. (John Osborne)
|
|
netscanner 
Hält's aus hier
Beiträge: 5
|
Verfasst: Do 16.02.06 21:08
Titel: wäre schön
wäre schön wenn's so einfach ginge...es ist aber kein edit feld sondern eine InputBox (Funktion in Delphi ^^)...
Leider hat das Ding keinen Object Inspector
|
|
Marco D.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: Do 16.02.06 21:22
In der Unit 'Dialogs' musst du folgendes einfügen:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72:
| function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean; var Form: TForm; Prompt: TLabel; Edit: TEdit; DialogUnits: TPoint; ButtonTop, ButtonWidth, ButtonHeight: Integer; begin Result := False; Form := TForm.Create(Application); with Form do try Canvas.Font := Font; DialogUnits := GetAveCharSize(Canvas); BorderStyle := bsDialog; Caption := ACaption; ClientWidth := MulDiv(180, DialogUnits.X, 4); Position := poScreenCenter; Prompt := TLabel.Create(Form); with Prompt do begin Parent := Form; Caption := APrompt; Left := MulDiv(8, DialogUnits.X, 4); Top := MulDiv(8, DialogUnits.Y, 8); Constraints.MaxWidth := MulDiv(164, DialogUnits.X, 4); WordWrap := True; end; Edit := TEdit.Create(Form); with Edit do begin Parent := Form; passwordchar:='*'; Left := Prompt.Left; Top := Prompt.Top + Prompt.Height + 5; Width := MulDiv(164, DialogUnits.X, 4); MaxLength := 255; Text := Value; SelectAll; end; ButtonTop := Edit.Top + Edit.Height + 15; ButtonWidth := MulDiv(50, DialogUnits.X, 4); ButtonHeight := MulDiv(14, DialogUnits.Y, 8); with TButton.Create(Form) do begin Parent := Form; Caption := SMsgDlgOK; ModalResult := mrOk; Default := True; SetBounds(MulDiv(38, DialogUnits.X, 4), ButtonTop, ButtonWidth, ButtonHeight); end; with TButton.Create(Form) do begin Parent := Form; Caption := SMsgDlgCancel; ModalResult := mrCancel; Cancel := True; SetBounds(MulDiv(92, DialogUnits.X, 4), Edit.Top + Edit.Height + 15, ButtonWidth, ButtonHeight); Form.ClientHeight := Top + Height + 13; end; if ShowModal = mrOk then begin Value := Edit.Text; Result := True; end; finally Form.Free; end; end; |
Allerdings muss man jetzt die VCL neu kompilieren, frag mich net wie das geht 
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Do 16.02.06 21:23
Sorry,
habe ich überlesen.
Warum verwendest Du überhaupt eine Inputbox???
Es gibt doch Extra das Form Password Dialog.
Uwe
|
|
Danniolo
      
Beiträge: 693
|
Verfasst: Do 16.02.06 21:25
Warum willst du dafür unbedingt eine InputBox nehmen?
Nimm doch einfach eine Form + Edit(Passwordchar:='*') + 2 Buttons - fertig..
Die VCL neu zu kompilieren is meiner Meinung nach ein bisschen übertriben 
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Do 16.02.06 22:01
Habe mal ein bißchen gegoogelt, es gibt bestimmt 10 verschiedene
Möglichkeiten das Problem mit einer InputBox zu lösen.
Allerdings geht es schneller mit Password Dialog oder wie Danniolo schon sagte,
"eine Form + Edit(Passwordchar:='*') + 2 Buttons - fertig.."
|
|
netscanner 
Hält's aus hier
Beiträge: 5
|
Verfasst: Do 16.02.06 22:19
@ Danniolo: Wie komm ich dann von dieser Form in die "geschützte Form"?
@ uwewo: wo finde ich den pw dialog?
|
|
uwewo
      
Beiträge: 154
|
Verfasst: Do 16.02.06 22:31
Datei -> Neu
Registerkarte Dialoge
|
|
Danniolo
      
Beiträge: 693
|
Verfasst: Fr 17.02.06 00:09
Wenn du mit "Form in die geschützte Form bringen" meinst, dass man das fenster weder schließen, noch maximieren, noch minimieren kann, dann solltest du die Form auf BorderStyle "byDialog" stellen und einen Punkt darüber bei "BorderIcons" "biStystemMenu" deaktivieren. Dann kann die Form nicht "verändert" werden. Ich hoffe, dass dein Problem damit gelöst ist  .
Zuletzt bearbeitet von Danniolo am Di 11.08.09 01:41, insgesamt 1-mal bearbeitet
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Fr 17.02.06 01:21
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 17.02.06 01:29
@Koller: Mal abgesehen davon dass dein Delphi damit inkompatible zu anderen Delphis wird, macht man das so, indem man eine neue Klasse ableitet und diese um die gewünschten Eigenschaften erweitert.
|
|