pascalabcnet/InstallerSamples/Graphics/GraphABC/Stamps/Stamp3.pas

28 lines
642 B
ObjectPascal
Raw Permalink Normal View History

// Класс штампа прямоугольника с методами увеличения-уменьшения
2015-05-14 22:35:07 +03:00
uses GraphABC;
type
RectangleStamp = auto class
2015-05-14 22:35:07 +03:00
x,y,w,h: integer;
procedure Stamp := Rectangle(x,y,x+w,y+h);
2015-05-14 22:35:07 +03:00
procedure Increase(dw,dh: integer);
begin
w += dw; h += dh;
end;
procedure Decrease(dw,dh: integer) := Increase(-dw,-dh);
2015-05-14 22:35:07 +03:00
procedure MoveOn(dx,dy: integer);
begin
x += dx; y += dy;
end;
end;
begin
var r := new RectangleStamp(100,100,300,300);
r.Stamp;
while r.w>2 do
begin
r.Decrease(8,8);
r.MoveOn(4,4);
r.Stamp;
end;
end.