Ver Mensaje Individual
  #2  
Antiguo 06-09-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Reputación: 17
paldave Va por buen camino
Se puede, se puede!!!
Lo primero: para definir una propiedad debes asignarle un campo (variable) del mismo tipo, por ejemplo:
Código Delphi [-]
type
  TFormX = class(TForm)
  private
    FMiPropiedad:String;
  protected
  public
  published
    property MiPropiedad : String read FMiPropiedead write FMiPropiedad;
  end;
si quieres llevar a cabo alguna acción cuando la propiedad cambie o quieres que dicha propiedad devuelva algún valor específico entonces puedes utilizar procedimientos y funciones:
Código Delphi [-]
type
  TFormX = class(TForm)
  private
    FMiPropiedad:String;
    function LeerMiPropiedad:String;
    procedure EscribirMiPropiedad(Value:String);
  protected
  public
  published
    property MiPropiedad : String read LeerMiPropiedead write EscribirMiPropiedad;
  end;

implementation

function TFormX.LeerMiPropiedad:String;
begin
  result:=FMiPropiedad+'!'; //cuando la propiedad se lea se devuelve lo almacenado en el campo más el caracter "!"
end;

procedure TFormX.EscribirMiPropiedad(Value:String);
begin
  FMiPropiedad := Value; //Le asigno el valor al campo
  Repaint; //Vuelvo a dibujar el componente para actualizar la ventana
end;

Lo segundo ya es más complicado:
1) Tienes que crear un módulo con todas las funciones y propiedades que desees implementar, llamado por ejemplo TFormX.pas y guardarlo en una carpeta accesible desde la ruta de búsqueda
2) Lo tienes que registrar en la IDE de Delphi. Es algo complejo así que te pongo un ejemplo en el archivo adjunto.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip osForm.zip (1,8 KB, 8 visitas)
Responder Con Cita