![]() |
Uso de codigo dinámico
Buenas, les tengo una pregunta...
Necesito la forma de poder recorrer(iterar) los elementos de un objeto de una clase creada por mi y poder asignarles valores en forma dinamica. Yo he vuelto de VB y lo hacia de esta forma Código:
public sub Asignar(pObjeto as TCliente)Y como recorrer todas las propiedades . Y si es posible un ejemplo. Se entiende? Les agradezco de antemano, saludos Eduardo |
:confused: Alguna idea?? pliss:D
|
Es un tema que salió hace unos días en los foros (y algunas otras veces anteriormente); Lo que necesitas se puede hacer vía RTTI.
En éste truco tienes el código para obtener todas las propiedades de un componente y cómo asignarles un valor a partir del nombre. De todas formas busca información sobre RTTI por internet y encontrarás más opciones. |
http://www.clubdelphi.com/foros/show...hlight=typinfo
Despues de leer en ese hilo, ya podrás buscar por el foro por cosas más concretas. saludos |
No quiere...
Probe el código y funciona perfectamente para componentes pero lo necesito para objetos creados de clases hechas por mi.
Tambien probe con las funciones de TypInfo, pero creo los objetos bien y cuando le voy a asignar cualquier propiedad, me dice q la propiedad no fue encontrada, debe la clase heredar o implementar alguna interfase? Ejemplo: Teniendo las siguientes clases TPaciente = Class Nombre : String; end; TMate = Class TieneBombilla : boolean; end; Necesito algo asi: function AsignarPropiedad(pObjeto : TObject; pPropiedad: String; pValor:TObject); begin pObjeto.pPropiedad := pValor; //eso como se hace???? end; y correrlo de la siguiente forma: begin Mate := TMate.Create; //para mate AsignarPropiedad(Mate, 'TieneBombilla', 0); Pacietne := TPaciente.Create; AsignarPropiedad(Paciente, 'Nombre', 'Pablito'); end; Muchas gracias y los felicito por la calidad del soporte y la calidad de las respuestas. Saludos!:rolleyes: |
Hola edalmasso, no entiendo por que repetir aqui el mismo mensaje ya publicado por vos en este otro hilo :confused:
Te invito a elegir uno de los dos hilos para que permanezca tu mensaje y borrar el que no salga favorecido. En todo caso, si los dos hilos tienen relación, crear un vínculo entre ellos. Hasta luego. ;) |
Este es el q queda, me confundi y lo repondi primero en el otro hilo
Saludos |
Cita:
Si tienes propiedaes de tus clases definidas como public, pásalas a published y con eso será suficiente. |
| La franja horaria es GMT +2. Ahora son las 05:56:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi