Entwickler-Ecke
Sonstiges (Delphi) - Fenster als Funktion öffnen
Zaubär - Mo 02.12.02 20:31
Titel: Fenster als Funktion öffnen
Ist es möglich ein zweites Fenster zu öffnen und dieses zu behandeln wie eine Funktion. Das heisst in diesem Fenster werden ein paar Daten eingegeben, welche dann zurückgegeben werden sollten...je nachdem von wo aus das Fenster geöffnet wird.
Eigentlich eine Art DialogBox. Wie realisiere ich sowas??
Delete - Mo 02.12.02 20:37
Bitte in der Hilfe "Form.ShowModal" anschauen, und die Buttons dieser zweiten Form mit entsprechenden "ModalResult" belegen. Soll heißen: der OK-Button bekommt "mrOk", Abbrechen "mrCancel", usw.
Dieser Wert lässt sich dann durch o.g. "ShowModal" auswerten.
Zaubär - Mo 02.12.02 20:48
Habe gar nicht gewusst, dass ShowModal sowas kann.
Aber wenn ich's richtig angeschaut habe wird es schwierig ein paar Strings zu übergeben ?
Delete - Di 03.12.02 09:01
Na ja, das kommt eigentlich darauf an, wohin diese Strings müssen oder sollen. Wenn du z.B. ein Edit-Feld damit füllen willst, kannst du ja über den Form-Namen darauf zugreifen, etwa
Quelltext
1:
| DieNeueForm.Edit1.Text := MeinString; |
Und umgekehrt natürlich
Quelltext
1: 2: 3: 4:
| if(DieNeueForm.ShowModal = mrOk) then MeinString := DieNeueForm.Edit1.Text else MeinString := ''; |
Mal so als wirklich simples Beispiel. Klickst du in der zweiten Form den Button an, der als ModalResult "mrOk" besitzt (dürfte ja meist auch OK sein), dann -und nur dann!- wird der String aus dem Edit-Feld ausgelesen. In jedem anderen Fall wird der String "MeinString" quasi gelöscht.
Wenn die Strings nicht in Form von Edit- u.ä. Feldern sichtbar sind, könntest du sie im public-Bereich der Form deklarieren:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| type TDieNeueForm = { ... } private { Private-Deklarationen } public { Public-Deklarationen } EinString, NocheinString : string; end; |
dann kannst du ebenfalls über
Quelltext
1: 2:
| DieNeueForm.EinString DieNeueForm.NocheinString |
darauf zugreifen.
Zaubär - Di 03.12.02 18:33
Danke!
Jetzt sollte ich weiterkommen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!