Vorrei far si che una volta inserito un testo nella casella di Edit e assegnato alla variabile Testo, il contenuto
della variabile Testo potesse essere trasmesso alla Form2 e assegnato alla Caption di Label2, ho creato il codice
piu' sotto, ma mi fermo all'invocazione della Form2 perchè non so come poter passare alla Form2 la variabile Testo;
vi allego il codice
unit Unit1;
.
.
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,Unit2;
type
{ TForm1 }
TForm1 = class(TForm)
BtMostra: TButton;
ETesto: TEdit;
procedure BtMostraClick(Sender: TObject);
procedure ETestoEditingDone(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
Testo:string;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.ETestoEditingDone(Sender: TObject);
begin
testo:=ETesto.Text;
end;
procedure TForm1.BtMostraClick(Sender: TObject);
var
Frm: TForm2;
begin
Application.CreateForm(TForm2,Frm);
try
Frm.ShowModal;
finally
Frm.Free;
end;
end;
end.
e Form2
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm2 }
TForm2 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.lfm}
end.
grazie per l'aiuto.
basta assegnare la proprietà Caption di Label2 prima dello ShowModal
(e non hai bisogno della variabile Testo, puoi usare direttamente il controllo ETesto)
...
try
Label2.Caption:=ETesto.Text;
Frm.ShowModal;
finally
Frm.Free;
end;
...
end.