Cierto ecfisa, justo tras enviar mi último mensaje vi tu respuesta, gracias.
He estado revisando un poco tu código, que funciona igualmente muy bien...
Código:
{
TComponent *CP=NULL;
for(int i=0; i<ComponentCount; i++) {
CP = FindComponent("Label" + IntToStr(i));
if (CP != NULL)
(static_cast<TLabel*>(CP))->Caption = "Nuevo valor" + IntToStr(i);
}
}
y analizándolo un poco me hago a la idea de que consiste básicamente en recorrer todos y cada uno de los componentes que tenga nuestro Form, es decir, si tengo 50 componentes y de ellos sólo hay por ejemplo 5 TLabels, se harán 50 iteraciones comprobando si existen los Label1, Label2, Label3,...,Label50. Y cuando haya un encuentro, entonces cambia la propiedad Caption. ¿Estoy en la cierto? Porque veo que si por ejemplo la etiqueta Label4 no existe en el Form, entonces el puntero CP sigue apuntando a NULL y salta de nuevo a la siguiente iteración del bucle for.
Otra cosa ecfisa, al inicializar la variable i del bucle for a
i=0, también podríamos haberla inicializado a
i=1 cuando el nombre de la primera etiqueta es
Label1. ¿No?
Por cierto, no tengo nada que disculparte, te agradezco muchísimo tu ayuda.