Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Список имен всех элементов форме


Автор: =Женек= 19.2.2005, 11:28
Как бы мне получить доступ к списку имен в Билдеровском проекте? Наверняка он существует в памяти в виде массива...

Автор: NiJazz 19.2.2005, 16:05
Form1->Components[i]->Name

Автор: Guest 20.2.2005, 12:33
Спасибо, есть еще вопрос -
Я хочу программно просмотреть весь список. Получается два варианта - либо я обращаюсь к очередной компоненте пока Form->Components[i] возвращает какое либо значение, либо делаю цикл for(i=0;i<размер массива;i++)

Для первого варианта - есть ли в С какая либо функция наподобие isset в PHP? Пробовал я подставлять !="" - не получается - функция прекращает свою работу когда натыкается на компонет без имени. Я бы мог проверить все компоненты на предмет наличия имен, но не хочется обходить проблему, которую можно решить.

Для второго варианта - как мне определить размер массива? sizeof(Form1->Components) компилятор не принимает, требует номер Components..

Автор: Guest 20.2.2005, 13:34
Спасибки, разобрался сам.
Код

for (i=0;i<ComponentCount;i++)
{
if (parameter==Components[i]->Name) return Components[i]->Text;
}





Во только еще один вопрос возник.
Как получить доступ к определенной записи Components[i] ?

Components[i]->Text как я указал в коде не работает. Только Components[i]->Name возвращает значение.


Автор: Borisff2003 21.2.2005, 06:29
dynamic_cast<*Тип>Components[i]->Text

где Тип это тип компоненты где есть текст

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)