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

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

Как создать цикл, который изменит настройки нескольких компонент [D7, WinXP]


Zloy ©   (2004-11-17 17:27:00) 

Приветствую!!!
Дело такое, есть предположим на форме 10 компонет Edit,
и нужно изменить состояние visible. Можно конечно просто написать:
edit1.visible:= false;
edit2.visible:= false;
....
Но как это сделать в цикле, что то типа
for i:= 0 to 10 do
begin
With Edit[i] do  //так конечно не получается сразу ругается что нет такой компоненты как Edit
begin
Visible:= false;
end;


YurikGL   (2004-11-17 20:35:00) [1]

EditArr:array[1..20] of TEdit

Потом создаешь их где надо, а дальше

EditArr[1].text:='Первый едит'
....


Jay   (2004-11-17 17:43:00) [2]

Можно так:
var
 ed: TEdit;
 i: Byte;

for i := 1 to 10 do
begin
 ed := TEdit(FindComponent('Edit' + IntToStr(i));
 ed.Visible := false
end

Вроде так.


Digitman   (2004-11-17 17:33:00) [3]

форма - это наследник TComponent

любой объект-наследник класса TComponents имеет св-во-список Components[] и св-во СomponentCount.. отсюда и пляши ..

при выборке очер.элемента списка проверяй, является ли он наследником TEdit


begin...end   (2004-11-17 17:32:00) [4]

var
 I: Integer;

begin
 for I := 0 to MyForm.ControlCount - 1 do
   if MyForm.Controls[I] is TEdit then
     MyForm.Controls[I].Visible := False
end.


Наверх

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