AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Variablenübergabe

Ein Thema von wireless · begonnen am 2. Nov 2007 · letzter Beitrag vom 3. Nov 2007
Antwort Antwort
Seite 2 von 2     12   
wireless

Registriert seit: 2. Okt 2007
Ort: Auerbach im Vogtland
15 Beiträge
 
Delphi 5 Professional
 
#11

Re: Variablenübergabe

  Alt 3. Nov 2007, 08:19
Ich möchte eine Variable in einem Formular eingeben und in einem anderen Formular weiterverarbeiten.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Variablenübergabe

  Alt 3. Nov 2007, 09:51
Delphi-Quellcode:
unit Meine_ERSTE_Unit;

interface

type
  TForm1 = class(TForm)
  private
    Mein_privates_Feld: String; // Hier kann man nicht von außen zugreifen
  public
    Mein_öffentliches_Feld: String; // Hier schon
    property Feld: String read Mein_privates_Feld write Mein_privates_Feld;
      // Mit dem hier greife ich dann doch auf das erste Feld zu
  end;

var
  Form1: TForm1;
  Globale_Variable: String; // einfach eine globale Variable

implementation

// Nur wenn du auch auf Meine_ZWEITE_Unit zugreifen willst:
uses
  Meine_ZWEITE_Unit;

// usw
Delphi-Quellcode:
unit Meine_ZWEITE_Unit;

interface

// blablabla

implementation

uses
  Meine_ERSTE_Unit; // jetzt kennt diese Unit unsere erste Unit

procedure WasWeisIch;
begin
  showmessage(Globale_Variable);
  showmessage(Form1.Mein_öffentliches_Feld);
  showmessage(Form1.Feld);
end;
Der Ort wo uses mit der Unit steht entscheidet auch wo du diese Unit nutzen kannst.
Wenn du zB die Unit unter interface bekannt gibst iste diese in der ganzen Unit zu sehen, wenn due Unit im Implemantation-Bereich steht kannst du auch nur im Implementation-Bereich darauf zugreifen.

Es dürfen aber nicht beide Unit jeweils in der anderen Unit im Interface stehen, da es sonst eine Zirkuläre Unit-Referenz gibt.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Variablenübergabe

  Alt 3. Nov 2007, 09:53
Hallo wireless,

vielleicht hilft ein Beispiel weiter.

Also einmal das Hauptformular:

Delphi-Quellcode:
unit frmMainMenu;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  THautFormular = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    vString: String; // <------- Die Variable die weitergegeben soll.
  end;

var
  HautFormular: THautFormular;


implementation

uses frmunterformular;

{$R *.dfm}

procedure THautFormular.Button1Click(Sender: TObject);
begin
  vString:= Edit1.Text; // <--------------- Text in die Variable abspeichern.
  Edit1.Clear;
end;

procedure THautFormular.Button2Click(Sender: TObject);
begin
  Unterformular.Show; // <---------------- Unterformular aufrufen
end;

procedure THautFormular.Button3Click(Sender: TObject);
begin
  Edit1.Text := vString; // <-------- Nachdem die Variable im Unterformular geändert worden ist.
end;

end.
Nun das Unterformular:

Delphi-Quellcode:
unit frmunterformular;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TUnterformular = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Unterformular: TUnterformular;

implementation

uses frmMainMenu;


{$R *.dfm}

procedure TUnterformular.Button1Click(Sender: TObject);
begin
  Edit1.Text := HautFormular.vString; // <-------- Die Variable im TEdit anzeigen.
end;

procedure TUnterformular.Button2Click(Sender: TObject);
begin
  HautFormular.vString := Edit1.Text; // <-------- Ein veränderter Text in die Variable speichern.
end;

end.
Roter Kasten
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
wireless

Registriert seit: 2. Okt 2007
Ort: Auerbach im Vogtland
15 Beiträge
 
Delphi 5 Professional
 
#14

Re: Variablenübergabe

  Alt 3. Nov 2007, 12:51
Hallo Gemeinde,

danke für die Hilfe, manchmal sieht man den Wald vor lauter Bäumen nicht.
Vor allem, wenn man permanent irgendwas ändert und dann die richtig übergebene Variable noch überschreibt und an der falschen Stelle ausliest.
Jetzt weiß ich endlich, wie man mit showmessage eine Variable ausgibt. Das hat mir gezeigt, dass ich die Variable überhaupt ÜBERGEBEN habe!

freundliche Grüße

Sigi -- wireless
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:51 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