Ver Mensaje Individual
  #3  
Antiguo 22-07-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.286
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por capo979 Ver Mensaje
de esa forma puedo pero en realidad yo no se que componentes tengo, en este ejemplo que mostre pregunto si son labels pero en realidad puedo tener cualquier componente y quiero cambiar los que tengan caption
Supongo que lo que no quieres es tener un montón de IF seguidos preguntando por los diferentes tipos de componentes.
Para evitar eso puedes utilizar RTTI.

En mi página Web, en la sección de tips hay uno titulado "Modificar propiedades de controles en ejecución utilizando RTTI", que explica cómo utilizar RTTI para evitar tener que hacer justo cosas como estas...

Código Delphi [-]
// recorrer los controles
 for i := 0 to (Self.ComponentCount - 1) do begin
 
 // Es un Edit
 if (Components[i] is TEdit) then
 TEdit(Components[i]).Enabled := False; 
 // Es un LAbel
 if (Components[i] is TLabel) then
 TLabel(Components[i]).Enabled := False;
 // Es un ListBox
 if (Components[i] is TListBox) then
 TListBox(Components[i]).Enabled := False;

... 
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita