Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Werte an andere Form übergeben (https://www.delphipraxis.net/16736-werte-andere-form-uebergeben.html)

Snooze 22. Feb 2004 17:09

Re: Werte an andere Form übergeben
 
Zitat:

Zitat von Plague
@ Spider

Also ich nutze Delphi 7 und bei mir wird die Implemention von Unit1 automatisch übernommen...

MfG
Thomas


genau, wenn man einmal zugreift auf eine formx.dkdkdk dann fragt er ja

aber trotzdem klappts nicht

Manzoni 22. Feb 2004 17:15

Re: Werte an andere Form übergeben
 
hi,

globale Variablen sind für mich ein altes Pascal Relikt. In Objekt-Pascal sollte man besser objektorientierte Strukturen verwenden.
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
    variable : String;
  public
    { Public-Deklarationen }
    function _variable : string;
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}
function TForm1._variable : string;
begin
  result:=variable;
end;

end.
Die andere Unit:
Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Label1: TLabel;
  private
    { Private-Deklarationen }
    procedure beispiel;
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}
procedure TForm2.beispiel;
begin
  Label1.Caption:=Form1._variable;
end;

end.
Auf den ersten Blick etwas umständlicher, aber wie ich finde auf jedenfall strukturierter.

Matze 22. Feb 2004 17:15

Re: Werte an andere Form übergeben
 
Also, so sieht's bei mir aus und geht einwandfrei:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

Uses Unit2;

{$R *.dfm}

end.
Edit: Zu langsam ;)

Sharky 22. Feb 2004 17:17

Re: Werte an andere Form übergeben
 
Zitat:

Zitat von Snooze
...wie kann ich Werte eines Edit-Feldes (z. Bsp.: Text) einer anderen Form übergeben?...

Hai Snooze,

ich würde dafür in deiner zweiten Form im Public-Teil eine Procedure deklarieren.

Delphi-Quellcode:
type
  TForm2 = class(TForm)
  private
    { Private-Deklarationen }
    s_editform1 : String;
  public
    { Public-Deklarationen }
    procedure SetEdit (const value : String = '');
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.SetEdit (const value : String = '');
begin
  s_editform1 := value;
end;
Wenn deinen Unit von Form2 jetzt in der Uses deiner ersten steht kannst Du den Text einfach übergeben:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.SetEdit(Edit1.Text);
end;
[Edit]Manzoni scheint fast so zu coden wie ich *gg*. Nur das ich es genau anderes herum gemacht habe. [/edit]

Snooze 22. Feb 2004 17:20

Re: Werte an andere Form übergeben
 
Zitat:

Zitat von Matze
Also, so sieht's bei mir aus und geht einwandfrei:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

Uses Unit2;

{$R *.dfm}

end.
Edit: Zu langsam ;)


so habe ich es auch und es geht nicht :)

normalerweise sollte es ja gehen,,,

aber warum es nicht geht gibt mir zu rätseln

das andere werde ich halt sonst verwenden müssen, obwohl mir das sehr aufwendig erscheint, schließlich musse ich ca. 20-30 Werte übergeben :?

Snooze 22. Feb 2004 17:23

Re: Werte an andere Form übergeben
 
noch ein kleiner Anhang:

ich entlade die Form2 nicht einmal sondern mache sie nur unsichtbar.

wenn ich dann direkt auf das Edit-Feld zugreife kriege ich den wert ''

warum:

ich habe dem Edit-Feld als Standard-Text nichts angegeben.

aber jetzt fülle ich das Feld zur Laufzeit aus, nur will er trotzdem dann den Standardwert zurückgeben


dürfte vielleicht weiterhelfen

Snooze 22. Feb 2004 18:13

Re: Werte an andere Form übergeben
 
hm habe mal auch das mit der Prozedur probiert, nur erwartet er da irgendein Resultat

aber das andere will einfach nicht gehen :(

Matze 22. Feb 2004 18:22

Re: Werte an andere Form übergeben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab mal so'n Beispiel im Anhang, falls du's fehlerfrei kompilieren kannst, dann musst du bei dir einen anderen Fehler haben.

Manzoni 22. Feb 2004 18:34

Re: Werte an andere Form übergeben
 
poste doch mal dein Quellcode. :dp:

Snooze 22. Feb 2004 18:39

Re: Werte an andere Form übergeben
 
ich glaube langsam flippe ich komplett aus.

habe es jetzt wirklich genau so gemacht, aber wieder ohne erfolg


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr.
Seite 2 von 3     12 3      

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