Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 02-07-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
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
¡Hola!

Para mí también fue un descubrimiento reciente, creo haberlo visto hace tiempo en la unidad Grids.pas.

Cita:
Empezado por esocrates Ver Mensaje
...¿Pueden explicarme de qué se trata esto?...
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:

Código Delphi [-]
Type
  TR = Record
    A, B :Integer;
  End;
 
  T1 = Class
    Protected  // o Private
      FRs :Array [1..2] Of TR;
    Public
      Property A1 :Integer Read FRs [1].A;
      Property A2 :Integer Read FRs [2].A;
  End;

Interesante tema, Román.

Un abrazo específico.

Al González.
Responder Con Cita
 



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
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


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


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
Copyright 1996-2007 Club Delphi