![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Punteros a objetos
Hola, en un programa c++ Builder, tengo una matriz con 60 objetos TPanel y en ejecución les tengo que dar nombre (Panel1->Caption), pero como es lógico no quiero llamar uno a uno. ¿Cómo se puede hacer de una manera sencilla?. Es decir:
en vez de Panel1->Caption="1"; Panel2->Caption="2"; Panel3->Caption="3"; etc.. algo así: for(a=1;a<=60;a++){ Panel[a]->Caption=a; } Gracias. |
|
#2
|
||||
|
||||
|
Pues esa parece la forma más razonable de hacerlo. Fíjate en este código. Las matrices en C comienzan en el elemento "CERO"
Código:
for(a=0; a<60; a++){
Panel[a]->Caption = IntToStr(a);
}
Creando, además los TPanel: Código:
TPanel Panel[60];
for(a=0; a<60; a++){
Panel[a] = new TPanel(this);
Panel[a]->Caption = IntToStr(a);
}
Saludos. |
|
#3
|
|||
|
|||
|
no se crear los TPanel
Aquí tengo el problema, que no se crear los TPanel
al escribir el código: TPanel Panel[60]; me da un error. |
|
#4
|
||||
|
||||
|
Si, no te lo explique lo suficientemente y asumí que sabias que NO puedes crear directamente una matriz de objetos VCL sino una matriz de punteros a objetos VCL (Un puntero a puntero)
Para crear: Código:
TPanel** Panel = new TPanel*[60];
for(int a=0; a<60; a++){
Panel[a] = new TPanel(this);
Panel[a]->Caption = IntToStr(a);
}
Código:
for(int n=0; n<60; n++){
delete Panel[n]; //Destruyes cada objeto
}
delete Panel; // destruyes el puntero a 60 punteros
Aclaración: Creo los TPanel así new TPanel(this) asumiendo que this es un form (osea un TComponent*) En caso contrario, que this no sea un TComponent* fallará Última edición por escafandra fecha: 05-05-2008 a las 20:39:27. |
|
#5
|
|||
|
|||
|
Ok, muchas gracias. Me ha valido perfectamente.
|
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| uso de punteros | David | OOP | 19 | 14-12-2009 09:48:37 |
| Olvidar liberar punteros, objetos, etc. | walito | Varios | 3 | 06-01-2008 01:51:47 |
| Punteros | davitcito | Varios | 2 | 25-04-2005 22:46:24 |
| Punteros | rafadrover | OOP | 8 | 18-09-2003 10:09:47 |
|