FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Propiedades y registros
Nada. No hay duda. Es sólo que hasta hace unos minutos no sabía que se podía hacer algo así. Gracias por su atención // Saludos |
#2
|
||||
|
||||
Hola,
Tiene su punto. |
#3
|
||||
|
||||
A primera vista me dije "eso no compila". Fue sorpresa cuando si lo hizo
Hoy no me acuesto sin aprender algo nuevo. Saludos, |
#4
|
|||
|
|||
Cita:
Muchas gracias por adelantado Un saludo |
#5
|
||||
|
||||
¡Hola!
Para mí también fue un descubrimiento reciente, creo haberlo visto hace tiempo en la unidad Grids.pas. En el ejemplo dado por Román, se define un clase de nombre TMiObjeto en la cual se declaran dos propiedades —X y Y—. Esto quiere decir que, teniendo una variable objeto O instanciada de tipo TMiObjeto, podríamos escribir en el código O.X u O.Y para leer esas propiedades del objeto. Lo interesante es que el especificador de acceso Read (el cual sirve para indicarle al compilador de dónde o cómo el programa va a obtener el valor de la propiedad a la hora de ejecutarse una expresión como las mencionadas), en este caso no indica meramente el nombre de un campo o de un método función, que es lo más común. Es raro toparse con una declaración de propiedad donde uno de sus especificadores de acceso (Read o Write) se refiere a un elemento particular de uno de sus campos y no al campo en su totalidad. No obstante es válido, según se ha visto. Si utilizamos la opción Find in Files del entorno de Delphi y, con la opción Regular expressions marcada, buscamos la cadena Property .* Read .*\..*; en los archivos fuentes de la VCL, encontraremos algunos ejemplos. Este hilo me hizo reflexionar un poco más sobre el tema, llevándome a pensar que el compilador admite cualquier referencia "estática" de valor estructurado, mientras el punto de partida sea un campo propio de la clase y los tipos de datos sean iguales, pero sin importar la profundidad de dicha referencia. Por lo tanto el siguiente código debe también compilar sin problemas:
Interesante tema, Román. Un abrazo específico. Al González. |
#6
|
||||
|
||||
Código:
property X: Integer read FPosition.X; Gracias.
__________________
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. |
#7
|
|||
|
|||
Muchas gracias a todos por esta novedad insospechada para mí y por tan claras explicaciones. Una vez más queda demostrada la importancia de este Foro para los que somos aficionados a la programación con Delphi.
Un saludo y hasta pronto |
#8
|
||||
|
||||
Cita:
Cita:
Cita:
// Saludos |
#9
|
||||
|
||||
Cita:
Cita:
Cita:
Sí, y vaya que se cumple la teoría. El código compila. Un abrazo expresado con regularidad. Al González. |
#10
|
||||
|
||||
Cita:
// Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Arreglo de Registros, con arreglos de Registros(Dinamico) | PiornoCKA&G | Varios | 4 | 05-01-2007 08:53:30 |
Acceso a las propiedades de un objeto desde el editor de propiedades | Hugo | OOP | 0 | 24-11-2006 12:58:22 |
por que duplicidad de registros con clientdataset sin ingresar registros ...mysql | Arturo | MySQL | 3 | 05-09-2006 18:39:37 |
Componentes/propiedades | Xavierator | Varios | 3 | 01-12-2003 20:05:53 |
Propiedades ADO | Zopi | Conexión con bases de datos | 4 | 10-10-2003 15:41:57 |
|