Показать сообщение отдельно
  #3  
Старый 20.04.2014, 19:03
WishHunter WishHunter вне форума
Прохожий
 
Регистрация: 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. 
Ответить с цитированием