Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anfängerfrage Daten zwischen 2 Forms austauschen (https://www.delphipraxis.net/84850-anfaengerfrage-daten-zwischen-2-forms-austauschen.html)

MaGe 22. Jan 2007 20:18


Anfängerfrage Daten zwischen 2 Forms austauschen
 
Moin, moin,

nochmals ne einfache Frage, wo ich gerade so grübel. Ganz einfach eigentlich ich hab 2 Froms & 2 Units. Aus Form1/Unit1 öffne ich via Button Form2/Unit2. Im letzeren ist ein Eingabefeld (Tedit) und ein Send button. Wie bekomme ich den Inhalt vom Eingabefeld aus Form2/Unit2 zu ersteren?
In Unit1 sieht der Aufruf so aus:
Delphi-Quellcode:
procedure TForm1.Button1(Sender: TObject);
begin
   if Form2 = nil then
    Form2:= TForm2.Create(Application);
    Form2.Caption := 'Einen Text eingeben!';
    Form2.Show
end;
bzw. in Unit2:
Delphi-Quellcode:
procedure TForm2.Button1(Sender: TObject);
var temp : String;
begin
    temp := TEdit1.text;
    Form2.Close;
end;
Sorry dass ich so eine Frage stelle aber irgendwie steh ich aufn der Leitung, wäre einer so nett mich davon runter zu ziehen?

Gruß

Ma.Ge

Mr_G 22. Jan 2007 20:32

Re: Anfängerfrage Daten zwischen 2 Forms austauschen
 
Du könntest dazu dem ersten Form eine Prozedur hinzufügen die den String übergeben bekommt und dann das macht was damit gemacht werden muss :wink::
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    ...
  private
    { Private-Deklarationen }
    ...
  public
    { Public-Deklarationen }
    procedure DoSomething(MyStr: String); //Deine Prozedur deklarieren
    ...
  end;

...

implementation

procedure TForm1.DoSomething(MyStr: String); //Und hier noch implementieren
begin
  Showmessage(MyStr);
end;
Nun muss du nur noch die Unit (z.B. Unit1) in die uses-Klausel der zweiten Unit packen und fertig:
Delphi-Quellcode:
procedure TForm2.Button1(Sender: TObject);
var temp : String;
begin
    Form1.DoSomething(TEdit1.text);
    Form2.Close;
end;
Gruß

Mr_G

SirThornberry 22. Jan 2007 20:50

Re: Anfängerfrage Daten zwischen 2 Forms austauschen
 
ein kleiner Tipp: Innerhalb von TForm2 nie die Variable Form2 benutzen sondern immer Self. Genauso innerhalb von TForm1 immer Self nutzen anstelle von Form1 etc.
Ansonsten macht die ganze Objectorientierte Programmierung keinen Sinn wenn man dann auf feste Instanzen zugreift. Zudem schleichen sich so sehr schnell Fehler ein.

MaGe 22. Jan 2007 21:02

Re: Anfängerfrage Daten zwischen 2 Forms austauschen
 
Moin, moin - nochmals,
vielen, vielen Dank für die schnelle Hilfe & den Tipp mit dem Self! Funktioniert und ich bin einen Schritt weiter, so macht es dann auch gleich wieder richtig Spass Delphi zu lernen.

Gruß

Ma.Ge


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz