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

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

Somebody help!!!!!! [D6, Win95/98]


kucherav ©   (2002-12-08 17:07:00) 

Пусть есть N элементов одного типа (например типа TLabel: Label1,...,LabelN) и надо в зависимости от поступающей информации менять, например цвет текста. Вопрос: можно ли зная лишь только номер, обратиться к этому LableНомер.
Если есть другие способы, расскажите, буду очень признателен.


Юрий Зотов   (2002-12-08 18:49:00) [1]

TLabel(FindComponent("Label" + IntToStr(N)))


Сергей Бушин   (2002-12-08 17:58:00) [2]

Конечно можно. Но лучше всего воспользоваться такими классами как например списки. Например TList или их потомков TClassList, TcomponentList.
В классе TList можно хранить список указателей. Для добавления элемента используется Add и Insert, удаление Delete и Remove. Для того, чтобы узнать индекс какого элемента, то можно воспользоваться следующим:


...
MyLabel: TLabel;
...

Index:=MYyLabelsList.IndexOf(MyLabel);


Существуют еще коллекции (группы однородных объектов). Существует также Tbits (ИМХО в classes.pas)- побитовое чтение и запись и еще несколько подобных классов.


Наверх

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