Содержание материала

 Ниже представлены две таблицы кода двух модулей.

 

Code:

unit DelphiPt;

 

interface

 

uses

Classes, Graphics;

 

type

TDDHPoint = class (TCollectionItem)

private

   fX, fY: Integer;

public

   Text: string;

   procedure WriteText (Writer: TWriter);

   procedure ReadText (Reader: TReader);

   procedure DefineProperties (Filer: TFiler); override;

   procedure Paint (Canvas: TCanvas);

   procedure Assign (Pt: TPersistent); override;

published

   property X: Integer read fX write fX;

   property Y: Integer read fY write fY;

end;

 

TWrapper = class (TComponent)

private

   FColl: TCollection;

published

   property MyColl: TCollection read FColl write FColl;

public

   constructor Create (Owner: TComponent); override;

   destructor Destroy; override;

end;

 

implementation

 

// TWrapper constructor and destructor

 

constructor TWrapper.Create (Owner: TComponent);

begin

inherited Create (Owner);

FColl := TCollection.Create (TDDHPoint);

end;

 

destructor TWrapper.Destroy;

begin

FColl.Clear;

FColl.Free;

inherited Destroy;

end;

 

 

// class TDDHPoint methods

 

procedure TDDHPoint.WriteText (Writer: TWriter);

begin

Writer.WriteString (Text);

end;

 

procedure TDDHPoint.ReadText (Reader: TReader);

begin

Text := Reader.ReadString;

end;

 

procedure TDDHPoint.DefineProperties (Filer: TFiler);

begin

Filer.DefineProperty (

   'Text', ReadText, WriteText, (Text <> ''));

end;

 

procedure TDDHPoint.Paint (Canvas: TCanvas);

begin

Canvas.Ellipse (fX - 3, fY - 3, fX + 3, fY + 3);

Canvas.TextOut (fX + 5, fY + 5, Text);

end;

 

procedure TDDHPoint.Assign (Pt: TPersistent);

begin

if Pt is TDDHPoint then

begin

   fx := TDDHPoint (Pt).fX;

   fY := TDDHPoint (Pt).fY;

   Text := TDDHPoint (Pt).Text;

end

else

   // raise an exception

   inherited Assign (pt);

end;

 

//initialization

//RegisterClass (TWrapper);

end.

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить