Цитата(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 всех панелей на форме)";
}
}
Вообще универсальный метод))
Эххх Делфи вспомнил

Там всё также было )