Ver Mensaje Individual
  #11  
Antiguo 12-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola gersonmaba.

Si cxDBLC_Base, cxDBLC_Fac, ..., cxDBLC_ZZZ son del mismo tipo, podés evaluar la propiedad ClassType:
Código Delphi [-]
procedure TForm1.btnClassTypeClick(Sender: TObject);
var
  i: Integer;
begin
  for i:= ComponentCount - 1 downto 0 do
    if Components[i].ClassType = TEdit then
      TEdit(Components[i]).Text:= 'Nuevo Texto'; // Text = 'Nuevo Texto'
end;

Si son de diferentes tipos pero comparten una misma propiedad como por ejemplo Caption, podrías hacer:
Código Delphi [-]
uses TypInfo;
{pone la propiedad Caption = '' en todos los componentes que la posean }
procedure TForm1.btnRTTIClick(Sender: TObject);
var
  i: Integer;
  PropInfo: PPropInfo;
begin
  for i:= ComponentCount - 1 downto 0 do
  begin
    PropInfo:= GetPropInfo(Components[i], 'Caption');
    if PropInfo <> nil then
      SetStrProp(Components[i],PropInfo, ''); // Caption = ''
  end;
end;
Usando esta última forma (RTTI), podés ir bastante más lejos que lo que hace este simple ejemplo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita