Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Inputbox Eingabe als "*********" (https://www.delphipraxis.net/84912-inputbox-eingabe-als-%2A%2A%2A%2A%2A%2A%2A%2A%2A.html)

shmia 24. Jan 2007 17:18

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.

xZise 24. Jan 2007 17:21

Re: Inputbox Eingabe als "*********"
 
Zitat:

Zitat von gordon freeman
Wofür dann diese "aborted" Variable, das habe ich noch nicht verstanden. Ist die dann nicht überflüssig?

Da ich dachte das du einen Dialog wolltest (OK, Abbrechen), habe ich das mit aborted gesagt. In der steht, ob die Form über Abbrechen oder über OK geschlossen worde.
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:
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;
Um das mit meheren Modi zu machen (OK, Ignorieren etc.), funktioniert das ganze dann über Integer, welche dann entsprechend gesetzt werden.
Am besten dazu dann noch Konstanten schreiben, oder viel besser, die vorhanden nehmen (ID_YES etc.) ^^

Die Muhkuh 24. Jan 2007 17:23

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.

xZise 24. Jan 2007 17:29

Re: Inputbox Eingabe als "*********"
 
Zitat:

Zitat von Die Muhkuh
Wofür gibt es dann den ModalResult.

Sry, aber mit ModalResult habe ich mich nicht beschäftigt, und weiß leider net, wie ich das beeinflussen kann ...

gordon freeman 24. Jan 2007 21:40

Re: Inputbox Eingabe als "*********"
 
Zitat:

Zitat von xZise
Sry, aber mit ModalResult habe ich mich nicht beschäftigt, und weiß leider net, wie ich das beeinflussen kann ...

Einfach für den Button im Objeltinspektor unter der EIgenschaft "ModalResult" einstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Seite 2 von 2     12   

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