Форум: "Начинающим";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
ВнизПередача информации между двумя модальными фармами Найти похожие ветки
← →
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 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c