Вниз
Скачать: 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
1-1100627915
RedLord
2004-11-16 20:58
2004.12.05
сопоставление типов переменных C и Delphi


1-1101109577
Артем К.
2004-11-22 10:46
2004.12.05
Компонент TreeView, чтобы узел дерева имел несколько колонок?


6-1095868242
redlord
2004-09-22 19:50
2004.12.05
сколько подсетей в сети


1-1100967790
Matrex
2004-11-20 19:23
2004.12.05
TList и расход памяти


1-1101207056
markers
2004-11-23 13:50
2004.12.05
Алтернативный прогрессбар, с градиентом...




   Наверх