![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обращение к компонентам в цикле [WinXP]
Sergei LM © (2010-08-11 17:37:00)Уважаемые мастера, на форме есть N Lable, поименованных от L1 до LN соответственно. Можно ли избавиться от множества кострукций L1.Caption := AnyThing, а все сделать в цикле от 1 до N ?
12 (2010-08-12 08:28:00) [21]почему не is?
if MyForm.FindComponent(Format('L%u', [i])) is TLabel
then TLabel(MyForm.FindComponent(Format('L%u', [i]))).Caption := AnyThing;
KilkennyCat (2010-08-12 01:46:00) [22]
> Игорь Шевченко © (11.08.10 23:03) [4]
спасибо.
Игорь Шевченко (2010-08-11 23:03:00) [23]KilkennyCat © (11.08.10 21:48) [3]
Тем, что Exception выдаст, если компонент окажется, паче чаяния, не тем.
Для перебора только нужных хорошо использовать перечислители
например:
http://www.thedelphigeek.com/2008/02/twincontrolcontrols-enumerator.html
KilkennyCat (2010-08-11 21:48:00) [24]
> Игорь Шевченко © (11.08.10 18:46) [2]
а кстати, чем? я опять забыл... что-то типа из-за перебора только нужных вместо всех?
Игорь Шевченко (2010-08-11 18:46:00) [25]Сергей М. © (11.08.10 18:27) [1]
лучше as
Сергей М. (2010-08-11 18:27:00) [26]TLabel(MyForm.FindComponent(Format('L%u', [i]))).Caption := AnyThing;