|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.04.2009, 23:45 | #1 |
Пользователь
Регистрация: 26.01.2009
Сообщений: 48
|
Обрашение к Лейблам
Задача обратится к Label не по имяни, а по индексу т.к. их очень много на форме и береберать их по одному в коде мне кажется не прилично!
И тут вдруг я понял, что не знаю как обратится к ним в цикле. Я его и так и сяк он не как. Знаю, что если указать TLabel(Label11).captino := 'asdf' , то все будет пучком, но не знаю как определить эту переменную TObject, чтобы определить в цикл. Путем долгих мучений нашел выход описать так for I := 22 to 26 do begin Tlabel(FindComponent('Label' + IntToStr(i))).Caption := 'test'; end; Товариши эксперты скажите есть др. вариант или я нашел единственно верное решение этого вопроса? |
20.04.2009, 23:55 | #2 |
работа не волк....
Форумчанин
Регистрация: 09.06.2008
Сообщений: 337
|
Код:
Цель, для которой требуются неправые средства, не есть неправая цель.
|
21.04.2009, 00:15 | #3 | |
Пользователь
Регистрация: 26.01.2009
Сообщений: 48
|
Цитата:
Так не пойдет ты мне предлогаешь переберать вообще все компоненты на форме. |
|
21.04.2009, 09:14 | #4 |
Форумчанин
Регистрация: 28.09.2008
Сообщений: 344
|
Я думаю FindComponent тоже перебирает все компоненты на форме пока не найдет нужное имя (причем перебор будет при каждом поиске) так что это не страшно.
Если тебе нужно не все TLabel а только одна или несколько групп то используй еще свойство TLabel.Tag Например назначаешь для нужной тебе группы Tag := 1 и дорабатываешь код Александра Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обрашение к фиксированным ячейкам | Лубышев | Помощь студентам | 1 | 29.10.2008 13:47 |