Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   mostrar propiedades de Form (https://www.clubdelphi.com/foros/showthread.php?t=47739)

Koder 06-09-2007 00:20:51

mostrar propiedades de Form
 
Hola: Estoy escribiendo una Form del tipo

Código:

TFormX = class(TForm) 
...
published 
  property X
end;

lo que necesito es poder modificar la nueva propiedad X en tiempo de diseño pero no me sale. Tambien quisiera poder crear una form de ese tipo directamente. Es decir no tener que cambiar

Código:

TFormY = class(TForm) 

por 

TFormY = class(TFormX)

No se si alguien podra decirme como hacerlo o si simplemente no se puede hacer y estoy calentandome la cabeza por gusto

paldave 06-09-2007 00:47:47

1 Archivos Adjunto(s)
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.

Koder 06-09-2007 01:11:34

casi casi
 
El pedacito de seudocodigo era para que tuvieran una idea de esa parte estaba claro. Lo que si es nuevo para mi es lo de registrar una form en el IDE, todos los dias se aprende algo nuevo, voy a mirar el ejemplo y ver que me sale.

delphi.com.ar 07-09-2007 01:09:11

Agrego un hilo que acabo de encontrar de casualidad:

http://www.clubdelphi.com/foros/show...ight=inspector

Saludos!


La franja horaria es GMT +2. Ahora son las 08:59:58.

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