Ver Mensaje Individual
  #7  
Antiguo 04-09-2014
Yugo Yugo is offline
Miembro
NULL
 
Registrado: jul 2014
Posts: 25
Reputación: 0
Yugo Va por buen camino
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.
Responder Con Cita