Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

Как обоити все компоненты   Найти похожие ветки 

 
Virus   (2003-10-17 08:23) [0]

Как обоити все компоненты через цикл?
У меня на форме есть 25 компонентов Edit. Нужно во всех свойству text присвоить значение например "1". К каждому обращаться по отдельности, получается слишком большой код.


 
MBo ©   (2003-10-17 08:34) [1]

ComponentCount, Components, for, is, as
см. также ControlCount, Controls


 
TUser ©   (2003-10-17 09:40) [2]

Создай эдиты динамически в виде массива. Типа так
for i:=0 to 24 do begin
edit1[i]:=TEdit.Create;
//Здесь укажи св-ва эдита, на какой он форме, расположение
end;

// .....

for i:=0 to 24 do
edit1[i].Text:="1";


 
AIDix ©   (2003-10-17 10:36) [3]

А можно ещё и так:
procedure X;
var I:Integer;
const CountEdit=25;
begin
for I:= 0 to CountEdit do
begin
TEdit(Self.FindComponent("Edit"+IntToStr(I))).Caption:="1";
{ "begin-end" y "for" на всякий пожарный! }
end;
end;


 
KSergey ©   (2003-10-17 12:09) [4]

Я добрый сегодня ;)

Обойти все компоненты на форме и для TEdit уст. св-ство Text в "1"

procedure TAnyForm.SetAllEditsTextTo_1;

// ф-ция перебирает все элементы, лежащие на указанном AWinCtrl и для найденных edit уст. Text в 1
// на найденных ТWinCtrl пытается найти дочерние
procedure LookAllEdits (const AWinCtrl: TWinControl);
var
i: Integer;
begin
if (AWinCtrl is TEdit) then TEdit(AWinCtrl).Text := "1";
with AWinCtrl do
for i := 0 to ControlCount-1 do
if Controls[i] is TWinControl then
LookAllEdits(TWinControl(Controls[i])); // рекурсивно вызвать эту ф-цию
end;

begin
LookAllEdits (Self); // стартовать рекурсивную ф-цию просмотра элементов
end;



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

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-98545
AlexanderSK
2003-10-17 15:37
2003.10.30
DataSnap (midas) - отключение клиента от сервера


1-98560
Rradion
2003-10-21 14:47
2003.10.30
Что-то он сортировать не хочет...


1-98580
stranniks
2003-10-17 20:44
2003.10.30
И снова combobox


1-98648
REA
2003-10-21 15:19
2003.10.30
TOleContainer


7-98889
poha
2003-08-20 01:03
2003.10.30
измерение частоты