Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обращение к компонентам в цикле [WinXP]


Страницы:   1 2

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;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо