![]() |
Daten an Formular übergeben und zurücbekommen
Schönen guten Tag!
Ich habe folgendes (Anfänger?) Problem. Ich möchte gerne ein Formular dazu benutzen die Daten eines Record Datentyps zu editieren. Dazu ist es halt nötig die Daten von verschiedenen Punkten des Programmes an das Edit-Formular zu übergeben. Wenn ich in diesem auf "Okay" gehe bzw. das Fenster nach positivem Ende schließe, soll der geänderte Datentyp an die Stelle des Programmes zurückgegeben werden von der der Aufruf kam. Wie löse ich das am besten? Ich vermute, dass ich noch nich objektorientiert genug denke :-) |
Re: Daten an Formular übergeben und zurücbekommen
Hallo Fischli,
die anderen Teile des Programmes können doch auf das Edit-Feld des Formulars einfach zugreifen. Oder habe ich hier nicht verstanden, was du wirklich willst? |
Re: Daten an Formular übergeben und zurücbekommen
eigentlich recht simpel die Lösung. Im Prinzip funktioniert das ganze wie bei einem Öffnendialog auch. Folgendes ist ein abgespeckter Beispielsource für das Editform.
Delphi-Quellcode:
der Aufruf lautet dann ganze einfach
[...]
type TYourRecord = record Entry1: String; Entry2: String; end; PYourRecord = ^TYourRecord; TEditForm = class(Form) [...] private FYourRecord: PYourRecord; public function Execute(var YourRecord: TYourRecord): Boolean; end; function TEditForm.Execute(var YourRecord: TYourRecord): Boolean; begin FYourRecord := @YourRecord; result := ShowModal = mrOk; end; procedure TEditForm.OKButtonClick(Sender: TObject); begin FYourRecord^.Entry1 := Edit1.Text; FYourRecord^.Entry2 := Edit2.Text; modalresult := mrOK; end; function TEditForm.AbbrechenButtonClick(Sender: TObject); begin modalresult := mrCancel; end;
Delphi-Quellcode:
if EditForm.Execute(MeinZuEditierenderRecord) then
showMessage('Erfolgreich') else showMessage('Nicht editiert'); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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 by Thomas Breitkreuz