type
TRect = packed record
case Integer of
0: (Left, Top, Right, Bottom: Integer);
1: (TopLeft, BottomRight: TPoint);
end;
Тип TRect является записью содержащей значения прямоугольника или также 4 координаты, или 2 точки.
Это классический пример использования раздела Case в записи.
При создании от двух пунктов TopLeft и BottomRight, вы можете передать два значения TPoint, или использовать функцию Point, чтобы сгенерировать их.
|
var
rectangle1, rectangle2 : TRect;
begin
// Установка первого прямоугольника вручную
rectangle1.Left := 0;
rectangle1.Top := 0;
rectangle1.Right := 40;
rectangle1.Bottom := 60;
// Установка второго прямоугольника, используя функцию Rect
rectangle2 := Rect(Point(20, 40), Point(60, 80));
// Отображение левой верхней и правой нижней координаты каждого прямоугольника
ShowMessageFmt('Координаты 1 прямоугольника = %d,%d,%d,%d',
[rectangle1.Left,
rectangle1.Top,
rectangle1.Right,
rectangle1.Bottom]);
ShowMessageFmt('Координаты 2 прямоугольника = %d,%d,%d,%d',
[rectangle2.Left,
rectangle2.Top,
rectangle2.Right,
rectangle2.Bottom]);
end;
|
Координаты 1 прямоугольника = 0,0,40,60
Координаты 2 прямоугольника = 20,40,60,80
|