![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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)- побитовое чтение и запись и еще несколько подобных классов.