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

 

Code:

TMainOpt = class(TOptions)

private

   FText: string;

   FHeight: Integer;

   FTop: Integer;

   FWidth: Integer;

   FLeft: Integer;

   procedure SetText(const Value: string);

   procedure SetHeight(Value: Integer);

   procedure SetLeft(Value: Integer);

   procedure SetTop(Value: Integer);

   procedure SetWidth(Value: Integer);

published

   property Text: stringread FText write SetText;

   property Left: Integer read FLeft write SetLeft;

   property Top: Integer read FTop write SetTop;

   property Width: Integer read FWidth write SetWidth;

   property Height: Integer read FHeight write SetHeight;

end;

 

TForm1 = class(TForm)

   Edit1: TEdit;

   procedure Edit1Change(Sender: TObject);

private

   FMainOpt: TMainOpt;

public

   constructor Create(AOwner: TComponent); override;

   destructor Destroy; override;

end;

 А вот и реализация:

Code:

constructor TForm1.Create(AOwner: TComponent);

var

S: string;

begin

inherited Create(AOwner);

S := ChangeFileExt(Application.ExeName, '.ini');

FMainOpt := TMainOpt.Create(S);

Edit1.Text := FMainOpt.Text;

 

Left := FMainOpt.Left;

Top := FMainOpt.Top;

Width := FMainOpt.Width;

Height := FMainOpt.Height;

end;

 

destructor TForm1.Destroy;

begin

FMainOpt.Left := Left;

FMainOpt.Top := Top;

FMainOpt.Width := Width;

FMainOpt.Height := Height;

FMainOpt.Free;

inherited Destroy;

end;

 

{ TMainOpt }

 

procedure TMainOpt.SetText(const Value: string);

begin

FText := Value;

end;

 

procedure TForm1.Edit1Change(Sender: TObject);

begin

FMainOpt.Text := Edit1.Text;

end;

 

procedure TMainOpt.SetHeight(Value: Integer);

begin

FHeight := Value;

end;

 

procedure TMainOpt.SetLeft(Value: Integer);

begin

FLeft := Value;

end;

 

procedure TMainOpt.SetTop(Value: Integer);

begin

FTop := Value;

end;

 

procedure TMainOpt.SetWidth(Value: Integer);

begin

FWidth := Value;

end;

 В заключение своей статьи хочу сказать, что RTTI является недокументированной возможностью Object Pascal и поэтому информации на эту тему в справочной системе и электронной документации весьма мало. Наиболее легкодоступный способ изучить более подробно эту фишку просмотр и изучение исходного текста модуля TypInfo.

 

 

 

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

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

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

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


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