![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск компонентов по наименованию. [D7, WinXP]
kyn66 © (2006-03-06 13:32:00)Уважаемые мастера, у меня на форме есть некоторое количество Label, полученых в RunTime. Каким образом мне получить их Caption? Я делаю так:
for i := 0 to 50 do
if TLabel(FindComponent('GLabel_' + IntToStr(i + 1))) <> nil then
St.Add(TLabel(FindComponent('GLabel' + IntToStr(i + 1))).Caption)
else
St.Add('0');
В данном коде мне приходится принудительно дважды использовать FindComponent. А как проверить, чтобы FindComponentиспользовался тока 1 раз, типа
for i := 0 to 50 do
with TLabel(FindComponent('GLabel_' + IntToStr(i + 1))) do
begin
if ??? <> nil then
St.Add(Caption)
else
St.Add('0')
end;
kyn66 (2006-03-06 14:33:00) [1]Заработало! Спасибо !!!
Алхимик (2006-03-06 13:59:00) [2]У Compon: TComponent нету свойства Caption. Нужно преобразование типов, например:
if Compon is Tlabel then
TLabel(Compon).Caption := ...
GrayFace (2006-03-06 13:58:00) [3]TLabel(Compon).Caption
kyn66 (2006-03-06 13:56:00) [4]Я так пробывал, выдает ошибку, говорит Compon.Caption- нет такого.
MBo (2006-03-06 13:35:00) [5]var Compon: TComponent;
Compon:=FindComponent...
if Compon ...