Вниз
Скачать: 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.01 c
2-1211872333
Первокласник Вася
2008-05-27 11:12
2008.06.22
Отправка письма на NMSMTP1


2-1211805768
opoloXAI
2008-05-26 16:42
2008.06.22
CF_Text и CF_Bitmap вместе


15-1210102201
Маэстро
2008-05-06 23:30
2008.06.22
Программисты вопрос!!!!!


2-1211786887
Сергей
2008-05-26 11:28
2008.06.22
Подскажите, пожалуйста как передать данные из формы в форму.


2-1211990948
StiTch
2008-05-28 20:09
2008.06.22
Блок Схема




   Наверх