НовичокЧок |
Отправлено: 18.05.2005, 09:19 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Столкнулся со следующей проблемой:
есть несколько однотипных контролов (например: пять TRadioButton),
имеющих схожие названия (rb1 — rb5), необходимо переодически обращаться к одному и тому же свойству, одного из объектов. При этом имя объекта выбирается по определенному условию.
Так вот можно ли выделив одно из имен, записать его в переменную (Например: String gg="rb1"), а затем использовать ее (переменной) значение, как имя объекта.
Заранее благодарен!
|
|
Sl@Sh |
Отправлено: 18.05.2005, 13:58 |
|
Мастер участка
Группа: Участник
Сообщений: 383
|
Если компилятор имени какого-то не видит, он вам сообщит сразу, поэтому попробуйте динамически создавать объекты (ИМХО)
|
|
Guest |
Отправлено: 18.05.2005, 14:01 |
|
Не зарегистрирован
|
QUOTE |
Так вот можно ли выделив одно из имен, записать его в переменную (Например: String gg="rb1"), а затем использовать ее (переменной) значение, как имя объекта.
|
Запишите указатель на объект — это попроще-то будет.
А еще можно сбрать их в массив и т.д. |
|
Георгий |
Отправлено: 18.05.2005, 23:09 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
Ага, в массив, а ещё лучше в ассоциативный массив — "имя объекта" = "указатель на объект". |
|
olegenty |
Отправлено: 19.05.2005, 11:24 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
Геаргий на
map <>
намекает...
|
|
Doga |
Отправлено: 24.05.2005, 19:17 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Ходят слухи, что есть, мол, какое то свойство Tag...
Жуть!
|
|
Konstantine |
Отправлено: 25.05.2005, 10:06 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
я в подобных случаях (быстро, удобно и работоспособно) делаю так:
1) объекты создаю обычным способом (кидая на форму), тут же расставляются их свойства.
2) в *.h файле в секции private:
CODE | TRadioButton *rb[10]; |
3) в Form1OnShow обработчике:
CODE | rb[0]=RadioButton0;
rb[1]=RadioButton1;
rb[2]=RadioButton2;
//... и так все |
4)Юзаю компоненты через rb[i]-> ...
можно массив сделать и динамическим, но это немного сложнее...
|
|