AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Anfängerfrage Daten zwischen 2 Forms austauschen
Thema durchsuchen
Ansicht
Themen-Optionen

Anfängerfrage Daten zwischen 2 Forms austauschen

Ein Thema von MaGe · begonnen am 22. Jan 2007 · letzter Beitrag vom 22. Jan 2007
Antwort Antwort
MaGe

Registriert seit: 19. Jan 2007
18 Beiträge
 
#1

Anfängerfrage Daten zwischen 2 Forms austauschen

  Alt 22. Jan 2007, 20:18
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
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Anfängerfrage Daten zwischen 2 Forms austauschen

  Alt 22. Jan 2007, 20:32
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 :
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
Jan
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Anfängerfrage Daten zwischen 2 Forms austauschen

  Alt 22. Jan 2007, 20:50
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MaGe

Registriert seit: 19. Jan 2007
18 Beiträge
 
#4

Re: Anfängerfrage Daten zwischen 2 Forms austauschen

  Alt 22. Jan 2007, 21:02
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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