Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Propiedad con subpropiedades anidadas (https://www.clubdelphi.com/foros/showthread.php?t=80532)

Julián 30-06-2006 01:04:55

Propiedad con subpropiedades anidadas
 
Este componente, que no sirve para nada, muestra como hacer propiedades con otras propiedades añadidas.

Para probarlo solo tienes que bajartelo e instalarlo con component-install

El componente incluye el fichero DCR para que incluyas el icono de chiquito en la paleta de componentes, para descargar el zip, haz clic sobre la imagen de Chiquito.

[HTML]
<a href="http://mandacojones.com/delphi/componentes/TorpedoDeLaPradera.zip"><img src="http://mandacojones.com/delphi/componentes/TorpedoDeLaPradera.jpg" border=0></a>[/HTML]

Código Delphi [-]
unit TorpedoDeLaPradera;

interface

uses  Windows, Messages, SysUtils, Classes;

type  

  TTipoJander = ( NoPuedor, Comorl, Fistro);
  TPropiedadJander = class(TPersistent)  
  private
    FGrijander: String;
    FCobarde: Boolean;
    FTipoJander: TTipoJander;
    FOwner: TPersistent;
  protected
    function GetOwner: TPersistent; override;
  public
    constructor Create(AOwner: TPersistent);
  published
    property Grijander: String read FGrijander write FGrijander;
    property Cobarde: Boolean read FCobarde write FCobarde;
    property TipoJander: TTipoJander read FTipoJander write FTipoJander default NoPuedor;
  end;

  TTorpedoDeLaPradera = class(TComponent)
  private
    FJander: TPropiedadJander;
  protected
    { Protected declarations }
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Jander: TPropiedadJander read FJander write FJander;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('ClubDelphi', [TTorpedoDeLaPradera]);
end;

//////////// Propiedad Jander //////////////////////////////////////////////////
//
constructor TPropiedadJander.Create(AOwner: TPersistent);
begin
  inherited Create;
  FGrijander  := 'Jaaarl';
  FTipoJander := NoPuedor;
  FOwner      := AOwner;
end;
//
function TPropiedadJander.GetOwner: TPersistent;
begin
  Result := FOwner;
end;
//
////////////////////////////////////////////////////////////////////////////////

////////////// TTorpedoDeLaPradera /////////////////////////////////////////////
//
constructor TTorpedoDeLaPradera.Create(AOwner: TComponent);
begin
  inherited;
  FJander:= TPropiedadJander.Create(Self);
end;
//
destructor TTorpedoDeLaPradera.Destroy;
begin
  if Assigned(FJander) then FJander.Free;
  inherited;
end;
//
////////////////////////////////////////////////////////////////////////////////

end.


La franja horaria es GMT +2. Ahora son las 23:59:39.

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