
20.04.2014, 19:03
|
Прохожий
|
|
Регистрация: 19.04.2014
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
|
|
Код:
unit Rectangl;
interface
uses Graph, Crt;
const EnvColor = white ; { цвет фона }
type
TRect = object { тип объекта "прямоугольник" }
X, Y : integer; { координаты центра }
SizeX, SizeY : integer; { размеры }
Color : byte; { цвет }
FillStyle : byte; { способ закраски }
Filled : Boolean; { флаг закраски }
Visible : Boolean; { флаг видимости }
procedure Init(InitX,InitY,InitSizeX,InitSizeY :
10
integer; InitColor,InitFillStyle : byte);
{Начальная установка параметров прямоугольника }
procedure Show;
{ Высвечивает прямоугольник на экране }
procedure Hide;
{ гасит изображение прямоугольника }
function IsVisible : boolean;
{ Возвращает значение флага видимости }
function IsFilled : boolean;
{ Возвращает значение флага закраски }
function GetFigureColor : byte;
{ Возвращает значение цвета прямоугольника }
function GetX : integer;
{ Возвращает X координату центра }
function GetY : integer;
{ Возвращает Y координату центра }
function GetWidth : integer;
{ Возвращает размер прямоугольника по оси X }
function GetHeight : integer;
{ Возвращает размер прямоугольника по оси Y }
procedure SetVisibilityFlag (NewVisible:boolean);
{ Устанавливает флаг видимости объекта }
procedure SetFillFlag (NewFilled : boolean);
{ Устанавливает флаг закраски объекта }
procedure SetFillStyleM(InitFillStyle : byte) ;
{ Устанавливает способ закраски объекта }
procedure SetFigureColor(TheColor : byte);
{ Устанавливает цвет объекта }
end;
implementation
{************ методы TRect **************}
procedure TRect.Init;
begin
X := InitX; Y := InitY;
SizeX := InitSizeX; SizeY := InitSizeY;
SetFigureColor(InitColor);
SetVisibilityFlag(true);
SetFillStyleM(InitFillStyle);
SetFillFlag(true);
end;
function TRect.IsVisible : boolean;
begin
IsVisible := Visible;
11
end;
function TRect.IsFilled : boolean;
begin
IsFilled := Filled;
end;
function TRect.GetFigureColor : byte;
begin
GetFigureColor := Color;
end;
function TRect.GetX : integer;
begin
GetX := X;
end;
function TRect.GetY : integer;
begin
GetY := Y;
end;
function TRect.GetWidth : integer;
begin
GetWidth := SizeX;
end;
function TRect.GetHeight : integer;
begin
GetHeight := SizeY;
end;
procedure TRect.Hide; { гасит изображение объекта }
begin
SetColor(EnvColor);
SetFillStyle(EmptyFill, Color);
if Filled
then Bar( X - SizeX div 2, Y - SizeY div 2,
X + SizeX div 2, Y + SizeY div 2 )
else Rectangle( X-SizeX div 2, Y-SizeY div 2,
X+SizeX div 2, Y+SizeY div 2 )
end;
procedure TRect.SetVisibilityFlag ;
begin
Visible := NewVisible;
end;
12
procedure TRect.SetFillFlag ;
begin
Filled := NewFilled;
end;
procedure TRect.SetFillStyleM(InitFillStyle: byte) ;
begin
FillStyle := InitFillStyle;
end;
procedure TRect.SetFigureColor(TheColor : byte);
begin
Color := TheColor;
end;
procedure TRect.Show; {высвечивает объект на экране}
begin
if Visible then begin
SetColor(Color);
SetFillStyle(FillStyle, Color);
if Filled
then Bar( X - SizeX div 2, Y - SizeY div 2,
X + SizeX div 2, Y + SizeY div 2 )
else Rectangle( X-SizeX div 2, Y-SizeY div 2,
X+SizeX div 2, Y+SizeY div 2 )
end;
end;
end.
|