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
|