Вниз
Скачать: 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.022 c
4-1098600632
Глеб
2004-10-24 10:50
2004.12.05
Завершение программы, которая ранее была запущена


3-1099920344
msguns
2004-11-08 16:25
2004.12.05
Обновление с подсчетом в Аксесе


1-1100802937
lp
2004-11-18 21:35
2004.12.05
Dbgrid


1-1101051334
Al1
2004-11-21 18:35
2004.12.05
Hex в String и наоборот


1-1100977821
Antonmm2
2004-11-20 22:10
2004.12.05
Asm




   Наверх