реклама на сайте
подробности

 
 
> можно ли обращаться к компонентам в среде BorlandC в цикле?
Mozart
сообщение Apr 18 2008, 18:54
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 154
Регистрация: 16-08-07
Из: Москва
Пользователь №: 29 829



суть проблемы.
есть 4ре компонента размещённые на форме, к примеру Panel1, Panel2, Panel3, Panel4. и есть массив который выводится на эти панели к примеру int temp[4];
можно ли написать следующий код в цикле
Код
Panel1->Caption = IntToStr(temp[0]);
Panel2->Caption = IntToStr(temp[1]);
Panel3->Caption = IntToStr(temp[2]);
Panel4->Caption = IntToStr(temp[3]);


среда разработки BorlandC++ 6.0 в WinXp


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sigmaN
сообщение Apr 20 2008, 22:25
Сообщение #2


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Цитата(Mozart @ Apr 18 2008, 21:54) *
суть проблемы.
есть 4ре компонента размещённые на форме, к примеру Panel1, Panel2, Panel3, Panel4. и есть массив который выводится на эти панели к примеру int temp[4];
можно ли написать следующий код в цикле
Код
Panel1->Caption = IntToStr(temp[0]);
Panel2->Caption = IntToStr(temp[1]);
Panel3->Caption = IntToStr(temp[2]);
Panel4->Caption = IntToStr(temp[3]);


среда разработки BorlandC++ 6.0 в WinXp

К примеру вот такой код
Код
    for(int i=0;i<Form1->ComponentCount;i++){
        ShowMessage(Form1->Components[i]->Name);
    }

покажет имена всех компонентов на форме.
А вот такой:
Код
TPanel *Panel;
    for(int i=0;i<Form1->ComponentCount;i++){
        if(Form1->Components[i]->Name=="Panel1")
        Panel=(TPanel *)Form1->Components[i];
        Panel->Caption="Изменился caption";
    }

Ндаа, неудобно по имени Panel1, Panel2...
Щас по классу обратимся к ним:
Код
TPanel *Panel;
    for(int i=0;i<Form1->ComponentCount;i++){
        if((AnsiString)Form1->Components[i]->ClassName()=="TPanel"){
                Panel=(TPanel *)Form1->Components[i];
                Panel->Caption="Изменился caption всех панелей на форме)";
        }
    }

Вообще универсальный метод))
Эххх Делфи вспомнил smile.gif Там всё также было )


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016