Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Variable einer anderen Form übergeben! (https://www.delphipraxis.net/41378-variable-einer-anderen-form-uebergeben.html)

Mitchl55 2. Mär 2005 16:03


Variable einer anderen Form übergeben!
 
Hallo,

wie kann ich den eine Variable x:='Test'; von Form1 an Form2 übergeben?
Bzw. gleich in ein CheckListView! Habe leider so nichts passendes gefunden!
Muss man die Variable vieleicht für alle Formen frei geben??

Danke & Gruß

Mitchl

Matze 2. Mär 2005 16:06

Re: Variable einer anderen Form übergeben!
 
Die Variable in Form1 global deklarieren (z.B. unter public).

Im Form2 bei den uses Unit1 eintragen und du kannst mittels

Delphi-Quellcode:
Variable := Form1.x;
darauf zugreifen oder ohne vorangestelltes "Form1", wenn die Variable in Form1 da deklariert ist, wo "Form1: TForm1;" steht.

Aber das hatten wir schon des öfteren. ;)

himitsu 2. Mär 2005 16:08

Re: Variable einer anderen Form übergeben!
 
Du mußt die Variable nur dort deklarieren, wo alle darauf zugreifen können, die müssen.


z.B.
* die Variable in Unit2 (wo Form2 ist) global definieren und in Unit1 (wo Form1 ist) im Uses-Abschnitt die Unit2 eintragen
* die Variable in einer eigenen Unit deklarieren und dann dieses Unit in Unit1 und Unit2 unter Uses angeben
...

Binärbaum 2. Mär 2005 16:09

Re: Variable einer anderen Form übergeben!
 
Wenn du in Form2 auf irgendeine Kompo aus Form1 zugreifen willst, sieht das in etwa so aus:
Delphi-Quellcode:
...
uses ...., Unit1;

...

procedure TForm2.WasWeissIch(Sender: TObject);
begin
  Form1.CheckBox1.Checked:= True;
  ...
end;
Du musst halt im QT nur mit Form1. angeben, dass die Komponente in einem anderen Formular ist.

MfG
Binärbaum

Sharky 2. Mär 2005 16:13

Re: Variable einer anderen Form übergeben!
 
Hai Mitchl55,

mein Vorschlag ist :

Dekrariere die Variable im Privat Teil deiner Form.
Dann schreibe Dir eine Methode um auf die Variable zugreifen zu können.
Jetzt machst Du jeden Zugriff auf deine Variable über diese Methode.

Mitchl55 2. Mär 2005 16:42

Re: Variable einer anderen Form übergeben!
 
Danke, funktioniert soweit. Wie funktioniert das, wenn ich mehrere Variablen
übergeben möchte? mit Variable [x]? Ist es möglich die Daten auch gleich in
eine Checklistbox in Form2 zu übergeben, das funktioniert si noch nicht?

Danke & Gruß

Mitchl

Binärbaum 2. Mär 2005 16:55

Re: Variable einer anderen Form übergeben!
 
Zitat:

Zitat von Mitchl55
Danke, funktioniert soweit. Wie funktioniert das, wenn ich mehrere Variablen
übergeben möchte? mit Variable [x]? Ist es möglich die Daten auch gleich in
eine Checklistbox in Form2 zu übergeben, das funktioniert si noch nicht?

Ja, prinzipiell geht das. Es kommt nur drauf an, in welcher Form die Daten vorliegen. Wenn man zum Beispiel in Form1 schon eine CheckListBox hat, kann man deren Items z.B. folgendermaßen an eine CheckListBox in Form2 übergeben:
Delphi-Quellcode:
Form2.CheckListBox1.Items:= Form1.andereCheckListBox.Items;
Nach diesem Prinzip kann man auch andere Werte übergeben.

himitsu 2. Mär 2005 16:58

Re: Variable einer anderen Form übergeben!
 
Klar, wenn du Unit2 (von Form2) in Unit1 unter User eingefügt hast, dann kannst du auch "alle" Objekte in Form2 zugreifen

Code:
// Unit1.pas
...
uses ...., [color=#ff0000]Unit2[/color];

...

procedure TForm1.WasWeissIch(Sender: TObject);
begin
  [color=#ff0000]Form2[/color].[color=#0000ff]CheckBox1[/color].Checked := ...
  [color=#ff0000]Form2[/color].[color=#0000ff]CheckBox2[/color]Checked := ...
  [color=#ff0000]Form2[/color].[color=#0000ff]CheckBox3[/color]Checked := ...
  ...
end;
[edit]
komisch, es hieß zwar, es sei ein Neuer Beitrag da, aber es wurde unten in den (letzten 10) Beiträgen nichts Neues angezeigt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 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