Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-03-2007
rydem rydem is offline
Registrado
 
Registrado: mar 2007
Posts: 4
Poder: 0
rydem Va por buen camino
Como trabajar con los ensamblados en Delphi

Mi objetivo es dado un objeto(cualquiera), obtener sus properties(o métodos, o atributos), tomar la que deseo y extraer el valor, también en algún momento setearle un valor, se como hacerlo en .NET, pero en Delphi ni de cerca le he picado a la solución del problema.

using System.Reflection;
Persona p=new Persona();
p.Nombre="lolo";
p.Edad=100;
//Esta entidad podría ser cualquier objeto que pase como parámetro,
//puse esta como ejemplo
Type typeInfo = p.GetType();
foreach (PropertyInfo meto in typeInfo.GetProperties())
{
if (meto.Name=="Nombre")
{
string nombre=meto.GetValue(p,null).ToString();
//le pregunto el nombre
meto.SetValue(p,"lili",null);
//le seteo un nuevo nombre
}
}

Help, alguien sabe como hacer lo antes expuesto en Delphi???
Responder Con Cita
  #2  
Antiguo 11-03-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola a todos!

En Delphi para Win32 puedes utilizar las funciones GetPropList, GetPropInfo, GetPropValue y SetPropValue de la unidad TypInfo (Delphi 7 y otras versiones).

Considera que estas funciones sólo trabajan con las propiedades publicadas (published). Si te surgen más dudas, no dejes de externarlas. He trabajado con la unidad TypInfo en algunas ocasiones.

Un abrazo seteado.

Al González.
Responder Con Cita
  #3  
Antiguo 12-03-2007
rydem rydem is offline
Registrado
 
Registrado: mar 2007
Posts: 4
Poder: 0
rydem Va por buen camino
Solucion a ensamblados en Delphi, una de ellas

Esta fue la que use, la que me haz indicado la voy a probar en pocos minutos.
Gracias.

procedure ActivateControls(SetTo: string; const ControlsToChange: array of
TComponent);
var
I: integer;
PropInfo: PPropInfo;
begin
for I := Low(ControlsToChange) to High(ControlsToChange) do
//recorro el array de componentes
begin
PropInfo := GetPropInfo(ControlsToChange[i].ClassInfo, 'Text');
//obtengo el property info de la propiedad 'Text'
if Assigned(PropInfo) then
//devuelve nil en caso de que no exista
begin
form1.caption:=GetStrProp(ControlsToChange[i], PropInfo);
//obtengo el valor de la propiedad 'Text'
SetStrProp(ControlsToChange[i], PropInfo, SetTo);
//seteo el nuevo valor
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ActivateControls('Deac', [Edit1, Edit2, Edit3]);
//setear el texto 'Deac' a los 3 edit
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ActivateControls('Act', [Edit1, Edit2, Edit3]);
//setear el texto 'Act' a los 3 edit
end;
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
Como configuro MySQL para trabajar en delphi? desve MySQL 7 23-11-2006 20:04:59
Cómo trabajar con Rave Reports en Delphi 7 bellota Varios 1 03-06-2006 04:05:16
Como Trabajar los listview en delphi 7 Shidalis Varios 9 19-07-2005 16:03:49
Como Trabajar en Grupo Con Delphi 7 carlosmoralesm Varios 7 30-03-2004 02:24:10
¿Como Trabajar Con Bases Dbase IV en Delphi 7? josral Conexión con bases de datos 2 14-08-2003 15:40:33


La franja horaria es GMT +2. Ahora son las 19:24:24.


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