Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
  #2  
Antiguo 13-07-2011
gersonmaba gersonmaba is offline
Miembro
 
Registrado: may 2008
Posts: 34
Poder: 0
gersonmaba Va por buen camino
Si Tienes muchas Razon ecfisa me pondre a explorar y a aplicar esta forma, Mil Gracias por tu gran Colaboracion.

Gracias.
Responder Con Cita
  #3  
Antiguo 13-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 querés empezar a interiorizarte sobre RTTI te paso unos enlaces:

Run-Time Type Information In Delphi (artículo)

Blog de Neftalí (ejemplo muy completo)

Buscando vas a encontrar mucho mas material sobre el tema.

Un saludo.
__________________
Daniel Didriksen

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



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con Variant Mystery Varios 3 27-01-2010 20:26:10
String to Variant MaMu Varios 2 25-08-2008 15:58:06
Array Variant... Perio Varios 0 20-04-2006 15:57:54
Error con variant.dcu donake Varios 3 20-12-2005 11:27:19
Variant, de que tipo? Barzaugc Varios 2 26-08-2005 21:14:30


La franja horaria es GMT +2. Ahora son las 18:42:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi