![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Edit1 [D5, Win2k, WinXP]
NOE © (2003-02-07 15:31:00)Вопрос простой
Передаю в функцию, которая лежит в отдельном модуле форму:
SeaVal(Form1);
Как обратится к Edit1 размещенному на Form1.
// модуль
Function SeaVal(f: TForm): Boolean;
begin
Application.MessageBox(Pchar(F.Edit1.Text),"",mb_ok);
// ^^^ Незадекларированый идентификатор
end;
NOE (2003-02-11 17:27:00) [1]Спасибо
Anatoly Podgoretsky (2003-02-08 13:00:00) [2]FindComponent, но налицо неудачная постановка, лучше перепроектировать.
Vlad1 (2003-02-08 12:37:00) [3]>NOE ©
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
RadioGroup1: TRadioGroup;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
procedure test(form:Tform);
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure TForm1.test(form: Tform);
var i:integer; t:TEDIT;
begin
t:=nil;
for i:=0 to form.ComponentCount -1 do
if AnsiUpperCase(form.Components[i].Name)="EDIT1" then
t:=Tedit(form.Components[i]);
if assigned(t) then Caption:=t.Text;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0:
test(Form2);
1:test(Form3);
2:test(Form4);
end;//case
end;
end.
Романов Р.В. (2003-02-07 15:50:00) [4]см. Mike Kouzmine (07.02.03 15:47)
Mike Kouzmine (2003-02-07 15:47:00) [5]Создай форму с эдтом1, а от нее все остальные.
NOE (2003-02-07 15:47:00) [6]Да есть. Мне нужно анализировать эдиты и в зависимости от значения эдитов форм блокировать кнопки этих же форм.
А форм несколько, и в каждой писать огромный кусок кода взападло
Романов Р.В. (2003-02-07 15:45:00) [7]И что у всех Edit1 есть?
NOE (2003-02-07 15:44:00) [8]так мне нужно передавать разные формы, в том то и загвоздка
Smithson (2003-02-07 15:43:00) [9]Или, Pchar((F as TClass your form).Edit1.Text),"",mb_ok);
Palladin (2003-02-07 15:37:00) [10]дык...
Function SeaVal(f: класс именно твоей формы, а не TForm): Boolean;