Вниз
Скачать: CL | DM;

Как создать цикл, который изменит настройки нескольких компонент   Найти похожие ветки 

← →
Zloy ©   (2004-11-17 17:27) [0]

Приветствую!!!
Дело такое, есть предположим на форме 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;


← →
begin...end ©   (2004-11-17 17:32) [1]

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.


← →
Digitman ©   (2004-11-17 17:33) [2]

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

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

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


← →
Jay   (2004-11-17 17:43) [3]

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

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

Вроде так.


← →
YurikGL ©   (2004-11-17 20:35) [4]

EditArr:array[1..20] of TEdit

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1101044563
ИМХО
2004-11-21 16:42
2004.12.05
Работая с текстовым файлом


11-1083646322
Николай Сергеевич
2004-05-04 08:52
2004.12.05
Таймер


3-1099419559
avkar
2004-11-02 21:19
2004.12.05
Сообщения от SQL Server


6-1096296123
The X
2004-09-27 18:42
2004.12.05
Как убрать стандартные сообщения NMSMTP и NMPOP3 об ошибках?


1-1100846847
hgd
2004-11-19 09:47
2004.12.05
Разрешение экрана




   Наверх