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

Как обратиться к нескольким компонентам за раз?   Найти похожие ветки 

← →
Intell ©   (2003-04-04 15:00) [0]

Мне нужно обратиться к нескольким компонентам за раз (например: от label1 до label5). При этом изменить какое-то свойство(например: visible). Просто вы не думаёте что мне лень 5 компонентов набить вручную, у меня на самом деле их 80. Есть пример, но не могу понять в чём дело, исправлял, но на свойстве visible всё остановилось.

Как через индекс обратиться к нескольким компонентам?

for t := 1 to 5 do
FindComponent("Label" + IntToStr(t)).Visible := TRUE;

Подскажите - чё не правильно или дайте свой вариант.

sergein@nojabrsk.ru


← →
Leshiy ©   (2003-04-04 15:02) [1]

TLabel(FindComponent("Label" + IntToStr(t))).Visible:=True


← →
Mike Kouzmine ©   (2003-04-04 15:02) [2]

for I := 0 to ComponentCount -1 do
if Components[I] is TLabel then
if TLabel(Components[I].Name = .... then
begin
end;


← →
Skier ©   (2003-04-04 15:05) [3]

var
AComponent : TComponent;
begin
//........................
for ii := 1 to 5 do begin
AComponent := FindComponent("Label" + IntToStr(ii));
if (AComponent <> nil) and (AComponent is TLabel) then
TLabel(AComponent).Visible := True;
end; //for
//........................
end;


← →
Johnmen ©   (2003-04-04 15:13) [4]

>Leshiy © (04.04.03 15:02)
>Skier © (04.04.03 15:05)

Вот только имена лейблов могут быть весьма экзотическими...:)

Всем см. Mike Kouzmine © (04.04.03 15:02)


← →
Skier ©   (2003-04-04 15:16) [5]

>Johnmen
Согласен.
Префикс Label оставим на совести автора :)


← →
vuk ©   (2003-04-04 15:20) [6]

По ссылке есть несколько вариантов решения:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=1166


← →
Intell ©   (2003-04-04 15:21) [7]

Skier - СПАСИБО, сработало. Может ещё кто подкинет пример. Немножко попроще.


← →
sniknik ©   (2003-04-04 16:25) [8]

> Немножко попроще.

for i:= 0 to ComponentCount -1 do
if Components[i].Tag = 1 then TLabel(Components[i]).Visible:= false;


установку Tag-ов > оставим на совести автора :).
можно менять группами (у одной групы установить 1 у другой 2 и т.д.)


← →
Intell ©   (2003-04-04 16:30) [9]

sniknik - чего-то не работает


← →
sniknik ©   (2003-04-04 16:43) [10]

Tag у нужных тебе лейбелов выстави в 1 (по умолчанию 0, свойство в обжект инспекторе идет перед Top,Transparent,Visible....).

> установку Tag-ов > оставим на совести автора :).


← →
Intell ©   (2003-04-04 17:34) [11]

Спасибо, понял. Просто не сообразил.



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

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



Память: 0.47 MB
Время: 0.014 c
1-54580
jen_bond
2003-04-07 08:10
2003.04.17
Размер шрифта.


1-54694
valera
2003-04-04 18:39
2003.04.17
В TOpenDialog с любым фильтром -> *.pif - ы, подскажите plz!


1-54653
Брат
2003-04-08 14:33
2003.04.17
EInvalidOperation with message Control Grid has no parent wind


1-54716
meskalin1974
2003-04-05 12:06
2003.04.17
Подсветка синтаксиса


1-54730
PrettyFly
2003-04-05 14:08
2003.04.17
Internal error: URW3950




   Наверх