Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как перебрать все объекты типа TEdit на форме?? [D7, WinXP]


Страницы:   1 2 3

Lamer666 ©   (2007-11-06 21:52:00) 

Подскажите пожалуйста Как перебрать все объекты типа TEdit на форме??
Спасибо!


Riply   (2007-11-07 00:32:00) [41]

Как вызываешь ?
procedure TMainForm.SpeedButton1Click(Sender: TObject);
begin
EnumEditRec(Self);
end;

Может у тебя на форме Edit`ов нет ? :)


Tmp   (2007-11-07 00:28:00) [42]


> Riply ©   (07.11.07 00:17) [7]

Ээээ.... Нэ работает :(
:)


Riply   (2007-11-07 00:17:00) [43]

> [6] Tmp   (07.11.07 00:12)
> Цэ шо? :)

Эта... рекурсивная перебора эдитов однако. :)


Tmp   (2007-11-07 00:12:00) [44]

Riply ©   (06.11.07 23:53) [5]

Цэ шо? :)


Riply   (2007-11-06 23:53:00) [45]

procedure EnumEditRec(const aComp: TComponent);
var
EnumComp: TComponent;
begin
for EnumComp in aComp do
 if EnumComp is TEdit then ShowMessage(EnumComp.Name) else
  if EnumComp is TFrame then EnumEditRec(EnumComp);
end;


Kolan   (2007-11-06 22:27:00) [46]

> Dib@zol ©   (06.11.07 22:13)

Прикрати маятся. ПЕши хоть на ассемблере в соотв ветке, не трож начинающих. :(


DrPass   (2007-11-06 22:18:00) [47]


>  for i:=0 to ComponentCount-1 do begin
>    GetMem(P, s);
>    try
>      GetClassName((Components[i] as TWinControl).Handle,
>  P, s);
>      ShowMessage(P);
>      // ...
>      // Тут проверяешь на принадлежность класса к TEdit
> и делаешь что нужно
>      // ...
>      FreeMem(P, s);
>    except end;
>  end;

Шо за бред?

for i:=0 to ComponentCount-1 do
  if Components[i] is TEdit then ...

и все


palva   (2007-11-06 22:17:00) [48]

procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
for i:=0 to ComponentCount - 1 do
 if Components[i].ClassName = 'TEdit' then
   ShowMessage((Components[i] As TEdit).Text);
end;


Dib@zol   (2007-11-06 22:13:00) [49]

procedure TForm1.FormCreate(Sender: TObject);
const
 s = 255;
var
 i : Cardinal;
 P : PChar;
begin
 for i:=0 to ComponentCount-1 do begin
   GetMem(P, s);
   try
     GetClassName((Components[i] as TWinControl).Handle, P, s);
     ShowMessage(P);
     // ...
     // Тут проверяешь на принадлежность класса к TEdit и делаешь что нужно
     // ...
     FreeMem(P, s);
   except end;
 end;
end;


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо