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

Вниз

как обращаться к элемантам формы с цикле   Найти похожие ветки 

 
ev ©   (2002-02-25 14:04) [0]

У меня есть labe1, label2.... label999
Как в цикле поменять Caption?


 
vrRaven   (2002-02-25 14:16) [1]

попробуй сделать массив компонентов

var a: array[1..99] of TLabel;

и в цикле обращайся к его ячейкам...

P.S. тока не забуть вызвать метод Create для каждой ячейки...


 
ded_di   (2002-02-25 14:17) [2]

Попробуй что-то типа
j:=1;
while ((UpperCase((Self.Components[j] as TObject).Name))<>(UpperCase(Format("label%d",[j]))))and
(j<Self.ComponentCount) do inc(j);
if j<Self.ComponentCount then
(Self.Components[j] as TControl).caption:=.....


 
ev ©   (2002-02-25 14:37) [3]

2 vrRaven
все label надо разместить в IDE, а Caption менять после.

2 ded_di
спасибо, попробую. А попроще можно?
Если у меня есть 99 label"ов, а надо выполнить label57.Caption:="aaa"; то такой алгоритм не совсем подходит.

А можно-ли в IDE создать массив и TLavel?


 
Наталья ©   (2002-02-25 16:17) [4]

Можно и проще...мне так кажется
var i:integer;
begin
for i:=0 to ComponentCount-1 do
begin
if Components[i] is TLabel
then
if Tlabel(Components[i]).name="Label57"
then
Tlabel(Components[i]).caption:="aaa"
else
Tlabel(Components[i]).caption:="bbb"
end
end;

Еще можно использовать метод FindComponent


 
I/O   (2002-02-25 18:40) [5]

Специально для этого есть св-во TAG
Действуй по принципу Натальи
Components[i].tag .........


 
Anatoly Podgoretsky ©   (2002-02-25 19:49) [6]

(FindComponent("Label57") as TLabel).Caption :="aaa";


 
Ilya ©   (2002-02-25 21:12) [7]

Вот две ветки по теме:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1014466595&n=0
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1014385219&n=0


 
oomneeq ©   (2002-02-25 21:34) [8]

2ded_di
>((Self.Components[j] as TObject).Name
Это зря.
Вопервых - TComponent всегда is TObject
Во2х - У TObject нету Name

А по делу - перебор таки быстрее чем FindComponent ибо
FindComponent сам есть перебор.
Лучше много раз по разу, чем много раз по много раз.




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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
1-32434
cahek2000
2002-02-22 09:51
2002.03.11
Синхронный скролинг


1-32473
Александр
2002-02-23 21:21
2002.03.11
PChar to string


1-32447
SPVPasha
2002-02-22 17:40
2002.03.11
Как преобразовать текст OEM в Ansi, если в тексте есть псевдографика


3-32416
Димка-1200
2002-02-12 02:05
2002.03.11
Какой вариант реализации БД выбрать ?


1-32448
Vacheslav
2002-02-22 20:57
2002.03.11
Написал прогу. Под Win9x работает стабильно