Вниз
Скачать: CL | DM;

Передача информации между двумя модальными фармами   Найти похожие ветки 

← →
uno-84   (2008-05-28 10:57) [0]

Помогите пожалуйста! У меня есть 2 формы: Form1 и Form2, в первой форме имеется компонеты ListView и кнопка Btn. При нажатии на кнопку Btn в Form1 появляется Form2. В Form2 есть компонент Edit и кнопка Btn2. Если я ввожу в Edit текст и нажимаю Btn2, то этот текст должен появиться в ListView первой формы! Подскажите как это сделать! Возможно у кого-то есть примеры кода?


← →
Vlad Oshin ©   (2008-05-28 11:03) [1]

Form1
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.showModal;
end;

Form2
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.Memo1.Lines.Add(edit1.Text);
form2.Close;
end;


← →
clickmaker ©   (2008-05-28 11:08) [2]

TModalForm2 = class(TForm)
 private
   function GetEditText: string;
   procedure SetEditText(const AValue: string);
 public
   property EditText: string read GetEditText write SetEditText;    
...

function TModalForm2.GetEditText: string;
begin
 Result := Edit.Text;
end;

procedure TModalForm2.SetEditText(const AValue: string);
begin
 Edit.Text := AValue;
end;

...
Form := TModalForm2.Create;
try
 if ( Form.ShowModal = mrOk ) then
 begin
   ListItem := ListView.Items.Add;
   ListItem.Caption := Form.EditText;
 end;
finally
 Free;
end;
 
ModalResult у Btn2 = mrOk


← →
clickmaker ©   (2008-05-28 11:36) [3]

но мне лично нравится такой способ

TModalForm2 = class(TForm)
public
  class function Execute(var AStr: string): boolean; // если несколько параметров, то лучше юзать record
...

class function TModalForm2.Execute(var AStr: string): boolean;
begin
 with TModalForm2.Create(Application) do
 begin
   try
     Result := ( ShowModal = mrOk );
     if Result then
       AStr := Edit.Text;
   finally
     Free;
   end;
 end;
end;

...

if TModalForm2.Execute(SomeStr) then
begin
 ListItem := ListView.Items.Add;
 ListItem.Caption := SomeStr;
 ...
end;


← →
uno-84   (2008-05-28 11:36) [4]

Спасибо большое



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
15-1210087838
dr_creigan
2008-05-06 19:30
2008.06.22
роды слов.......((((


15-1210428840
Cj
2008-05-10 18:14
2008.06.22
Side Bar вот только для ХР


2-1211998877
deled
2008-05-28 22:21
2008.06.22
узнать цвет пикселя в Image


2-1211678497
snake-as
2008-05-25 05:21
2008.06.22
Булевый тип данных в БД


15-1207571045
TIF
2008-04-07 16:24
2008.06.22
И снова про полупрозрачность :-(((




   Наверх