Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.027 c
1-98618
Стекляшкин
2003-10-17 10:12
2003.10.30
Интерфейсы и result


4-98940
CIH
2003-08-24 09:22
2003.10.30
Как вызвать стандартные диалоги?


1-98579
Chuha
2003-10-20 10:43
2003.10.30
Части предложения


1-98720
Максим
2003-10-13 13:36
2003.10.30
Delphi + TheBat


3-98485
Bovdur
2003-10-09 17:17
2003.10.30
Помогите плиз новичку.




   Наверх