diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index fe462b418..ef5770225 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "8"; public const string Build = "0"; - public const string Revision = "2903"; + public const string Revision = "2918"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index 262f39c06..b2a7274d9 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%MINOR%=8 -%REVISION%=2903 %COREVERSION%=0 +%REVISION%=2918 +%MINOR%=8 %MAJOR%=3 diff --git a/PABCNetHelp/LangGuide/Operations_Expressions/arithmop.html b/PABCNetHelp/LangGuide/Operations_Expressions/arithmop.html index 2e1a0bf62..082ea668e 100644 --- a/PABCNetHelp/LangGuide/Operations_Expressions/arithmop.html +++ b/PABCNetHelp/LangGuide/Operations_Expressions/arithmop.html @@ -2,6 +2,7 @@ + @@ -258,5 +259,12 @@ longword single и real. То есть так же результатом является самый короткий тип, требуемый для представления всех получаемых значений.

+

К арифметическим относится также операция возведения в степень **. +Выражение x ** y возвращает:

+ \ No newline at end of file diff --git a/PABCNetHelp/LangGuide/Operations_Expressions/index_expressions.html b/PABCNetHelp/LangGuide/Operations_Expressions/index_expressions.html index 2bb0e6ea3..e70171aca 100644 --- a/PABCNetHelp/LangGuide/Operations_Expressions/index_expressions.html +++ b/PABCNetHelp/LangGuide/Operations_Expressions/index_expressions.html @@ -34,6 +34,8 @@ in,
  • Операции typeof и sizeof
  • Срезы
  • Условная операция
  • +
  • Операции с процедурными переменными += + -= + и *
  • Порядок выполенения операций определяется их приоритетом. В языке PascalABC.NET имеется четыре уровня приоритетов операций, задаваемых diff --git a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for array of T.html b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for array of T.html index 27047e3a1..69017439e 100644 --- a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for array of T.html +++ b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for array of T.html @@ -39,8 +39,12 @@
            Выполняет бинарный поиск в отсортированном массиве function Cartesian<T>(Self: array of T; n: integer): sequence of array of T;
            Возвращает n-тую декартову степень множества элементов, заданного массивом +function Cartesian<T>(Self: sequence of T; n: integer): sequence of array of T; +
            Возвращает n-тую декартову степень множества элементов, заданного массивом function Combinations<T>(Self: array of T; m: integer): sequence of array of T;
            Возвращает все сочетания по m элементов +function Combinations<T>(Self: sequence of T; m: integer): sequence of array of T; +
            Возвращает все сочетания по m элементов function ConvertAll<T, T1>(Self: array of T; converter: T->T1): array of T1;
            Преобразует элементы массива и возвращает преобразованный массив function ConvertAll<T, T1>(Self: array of T; converter: (T,integer)->T1): array of T1; @@ -111,8 +115,12 @@
            Возвращает минимальный элемент function Permutations<T>(Self: array of T): sequence of array of T;
            Возвращает все перестановки множества элементов, заданного массивом +function Permutations<T>(Self: sequence of T): sequence of array of T; +
            Возвращает все перестановки множества элементов, заданного последовательностью function Permutations<T>(Self: array of T; m: integer): sequence of array of T;
            Возвращает все частичные перестановки из n элементов по m +function Permutations<T>(Self: sequence of T; m: integer): sequence of array of T; +
            Возвращает все частичные перестановки из n элементов по m function RandomElement<T>(Self: array of T): T;
            Возвращает случайный элемент массива function Shuffle<T>(Self: array of T): array of T; diff --git a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for sequence of T.html b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for sequence of T.html index ebda0a68a..0c2b1961c 100644 --- a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for sequence of T.html +++ b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for sequence of T.html @@ -14,6 +14,7 @@ + @@ -49,9 +50,9 @@ function Batch<T, Res>(Self: sequence of T; size: integer; proj: Func<IEnumerable<T>, Res>): sequence of Res;
            Разбивает последовательность на серии длины size и применяет проекцию к каждой серии function Cartesian<T, T1>(Self: sequence of T; b: sequence of T1): sequence of (T, T1); -
            Декартово произведение последовательностей +
            Возвращает декартово произведение последовательностей в виде последовательности пар function Cartesian<T, T1, T2>(Self: sequence of T; b: sequence of T1; func: (T,T1)->T2): sequence of T2; -
            Декартово произведение последовательностей +
            Возвращает декартово произведение последовательностей, проектируя каждую пару на значение function CountOf<T>(Self: sequence of T; x: T): integer;
            Возвращает количество элементов, равных указанному значению procedure ForEach<T>(Self: sequence of T; action: T -> ()); @@ -100,6 +101,8 @@
            Нумерует последовательность с единицы function Numerate<T>(Self: sequence of T; from: integer): sequence of (integer, T);
            Нумерует последовательность с номера from +function Nwise<T>(Self: sequence of T; n: integer):sequence of array of T; +
            Превращает последовательность в последовательность n-ок соседних элементов function Order<T>(Self: sequence of T): sequence of T;
            Возвращает отсортированную по возрастанию последовательность function OrderDescending<T>(Self: sequence of T): sequence of T; diff --git a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for string.html b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for string.html index cb362ddd1..c99bc31c5 100644 --- a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for string.html +++ b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for string.html @@ -3,7 +3,9 @@ + + @@ -34,8 +36,12 @@
            Возвращает True если значение находится между двумя другими function Inverse(Self: string): string;
            Возвращает инверсию строки +function IsInteger(Self: string): boolean; +
            Возвращает True если строку можно преобразовать в целое function IsMatch(Self: string; reg: string; options: RegexOptions := RegexOptions.None): boolean;
            Удовлетворяет ли строка регулярному выражению +function IsReal(Self: string): boolean; +
            Возвращает True если строку можно преобразовать в вещественное function Left(Self: string; length: integer): string;
            Возвращает подстроку, полученную вырезанием из строки length самых левых символов function Matches(Self: string; reg: string; options: RegexOptions := RegexOptions.None): sequence of Match; diff --git a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Subroutines for string.html b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Subroutines for string.html index aaa7aa83f..251168ada 100644 --- a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Subroutines for string.html +++ b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Subroutines for string.html @@ -54,8 +54,8 @@
            Преобразует вещественное число к строковому представлению function Format(formatstring: string; params pars: array of object): string;
            Возвращает отформатированную строку, построенную по форматной строке и списку форматируемых параметров -procedure Insert(source: string; var s: string; index: integer); -
            Вставляет подстроку source в строку s с позиции index +procedure Insert(subs: string; var s: string; index: integer); +
            Вставляет подстроку subs в строку s с позиции index function IntToStr(a: integer): string;
            Преобразует целое число к строковому представлению function IntToStr(a: int64): string; diff --git a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/System subroutines.html b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/System subroutines.html index 928e3bcd7..63fdd1544 100644 --- a/PABCNetHelp/LangGuide/PABCSystemUnit/Files/System subroutines.html +++ b/PABCNetHelp/LangGuide/PABCSystemUnit/Files/System subroutines.html @@ -43,7 +43,7 @@
            Меняет текущий каталог function CreateDir(s: string): boolean;
            Создает каталог. Возвращает True, если каталог успешно создан -function DeleteFile(s: string): boolean; +function DeleteFile(fname: string): boolean;
            Удаляет файл. Если файл не может быть удален, то возвращает False function DiskFree(diskname: string): int64;
            Возвращает свободное место в байтах на диске с именем diskname diff --git a/PABCNetHelp/LangGuide/Types/proctype.html b/PABCNetHelp/LangGuide/Types/proctype.html index 63a42ac81..b976f6f72 100644 --- a/PABCNetHelp/LangGuide/Types/proctype.html +++ b/PABCNetHelp/LangGuide/Types/proctype.html @@ -2,6 +2,8 @@ + + @@ -149,6 +151,31 @@   p;
    end.

    +

    Операции + и * для процедурных переменных

    +

    Процедурные переменные типа procedure, а также имена процедур без параметров, +можно складывать:

    +
    +

    var p := p1 + p2;
    + p;

    +
    +

    Вызов через такую процедурную переменную состоит в последовательном вызове +процедур p1 и p2.

    +

    Процедурные переменные типа procedure а также имена процедур без параметров, +можно умножать на число:

    +
    +

    var p := p1 * 5;
    + p;

    +
    +

    Вызов через такую процедурную переменную состоит в последовательном вызове +процедуры p1 указанное количество раз.

    +

    Можно вызывать выражение, состоящее из сумм процедур и произведения процедур +на число, не используя промежуточную переменную - для этого достаточно взять +такое выражение в скобки:

    +
    +

    (p1 * 5 + p2 * 5);
    + (5 * (p1 * p2));

    +
    +

     

     

     

     

    diff --git a/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D Materials functions.html b/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D Materials functions.html index 8f87159bb..d8c1d56a1 100644 --- a/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D Materials functions.html +++ b/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D Materials functions.html @@ -1,4 +1,5 @@ + @@ -6,7 +7,9 @@

    Graph3D: функции для создания материалов Materials

    -
    function DiffuseMaterial(c: Color): Material; + + diff --git a/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D events.html b/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D events.html index 8ce06e087..79acb383e 100644 --- a/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D events.html +++ b/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D events.html @@ -6,7 +6,8 @@ - + +

    События модуля Graph3D

    function DefaultMaterial: Material; +
            Возвращает материал по умолчанию
    function DiffuseMaterial(c: Color): Material;
            Диффузный материал
    function EmissiveMaterial(c: Color): Material;
            Светящийся материал
    +
    OnDrawFrame: procedure(dt: real); @@ -23,6 +24,8 @@
            Событие перемещения мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши
    OnMouseUp: procedure(x, y: real; mousebutton: integer);
            Событие отжатия кнопки мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если отжата левая кнопка мыши, и 2, если отжата правая кнопка мыши
    OnMouseWheel: procedure(x, y: real; mousebutton,delta: integer); +
            Событие вращения колёсика мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши; delta<0 - колесо мыши вниз, delta>0 - колесо мыши вверх
    OnClose: procedure;
            Событие, происходящее при закрытии основного окна
    diff --git a/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D functions for creation 3D-objects.html b/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D functions for creation 3D-objects.html index 04b303713..9196dc4b3 100644 --- a/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D functions for creation 3D-objects.html +++ b/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D functions for creation 3D-objects.html @@ -31,133 +31,153 @@

    Graph3D: функции для создания 3D-объектов

    - + - + diff --git a/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF functions for images and video.html b/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF functions for images and video.html index 59783fd1c..f1e0751e2 100644 --- a/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF functions for images and video.html +++ b/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF functions for images and video.html @@ -11,6 +11,10 @@
            Рисует изображение из файла fname в позиции (x,y) + + + - + diff --git a/PABCNetHelp/PABCUnits/GraphWPF/Files/WindowTypeWPF class.html b/PABCNetHelp/PABCUnits/GraphWPF/Files/WindowTypeWPF class.html index f37830a89..b849621dc 100644 --- a/PABCNetHelp/PABCUnits/GraphWPF/Files/WindowTypeWPF class.html +++ b/PABCNetHelp/PABCUnits/GraphWPF/Files/WindowTypeWPF class.html @@ -37,8 +37,8 @@
            Возвращает центр главного окна - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class BoundedObjectWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class BoundedObjectWPF.html index 34a04ea5d..ff3f3bd2b 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class BoundedObjectWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class BoundedObjectWPF.html @@ -19,7 +19,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class CircleWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class CircleWPF.html index 0f57b41f6..bfa786208 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class CircleWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class CircleWPF.html @@ -13,11 +13,15 @@ + + - - + @@ -31,11 +35,15 @@ - + - + @@ -49,7 +57,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class EllipseWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class EllipseWPF.html index cc459d893..8635bbe35 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class EllipseWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class EllipseWPF.html @@ -12,7 +12,9 @@ - + @@ -28,11 +30,15 @@ - + - + @@ -46,7 +52,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class LineWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class LineWPF.html index 1f7295674..e1e6b0038 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class LineWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class LineWPF.html @@ -49,7 +49,9 @@
            Декоратор ширины линии отрезка - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class List of objects.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class List of objects.html index fdb5d95c3..26173d00b 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class List of objects.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class List of objects.html @@ -4,6 +4,7 @@ + @@ -11,18 +12,21 @@
    function Arrow(x, y, z, vx, vy, vz, Diameter, HeadLength: real; m: Material := DefaultMaterial): ArrowT; + - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - + - + - - - + - + - - - - - - - + - + - - - - - - - + + - - - - - - -
    function Arrow(x, y, z, vx, vy, vz, Diameter, HeadLength: real; m: Material := nil): ArrowT;
            Возвращает 3D-стрелку с центром в точке (x, y, z), направлением (vx, vy, vz), диаметра Diameter и длиной наконечника HeadLength
    function Arrow(x, y, z, vx, vy, vz, Diameter: real; m: Material := DefaultMaterial): ArrowT; +
    function Arrow(x, y, z, vx, vy, vz, Diameter: real; m: Material := nil): ArrowT;
            Возвращает 3D-стрелку с центром в точке (x, y, z), направлением (vx, vy, vz), диаметра Diameter
    function Arrow(x, y, z, vx, vy, vz: real; m: Material := DefaultMaterial): ArrowT; +
    function Arrow(x, y, z, vx, vy, vz: real; m: Material := nil): ArrowT;
            Возвращает 3D-стрелку с центром в точке (x, y, z), направлением (vx, vy, vz)
    function Arrow(p: Point3D; v: Vector3D; Diameter, HeadLength: real; m: Material := DefaultMaterial): ArrowT; +
    function Arrow(p: Point3D; v: Vector3D; Diameter, HeadLength: real; m: Material := nil): ArrowT;
            Возвращает 3D-стрелку с центром в точке p, направлением p, диаметра Diameter и длиной наконечника HeadLength
    function Arrow(p: Point3D; v: Vector3D; Diameter: real; m: Material := DefaultMaterial): ArrowT; +
    function Arrow(p: Point3D; v: Vector3D; Diameter: real; m: Material := nil): ArrowT;
            Возвращает 3D-стрелку с центром в точке p, направлением p, диаметра Diameter
    function Arrow(p: Point3D; v: Vector3D; m: Material := DefaultMaterial): ArrowT; +
    function Arrow(p: Point3D; v: Vector3D; m: Material := nil): ArrowT;
            Возвращает 3D-стрелку с центром в точке p, направлением p
    function BillboardText(x, y, z: real; Text: string; Fontsize: real := 12): BillboardTextT;
            Возвращает текст на билборде с центром в точке (x, y, z) с размером шрифта Fontsize
    function BillboardText(p: Point3D; Text: string; Fontsize: real := 12): BillboardTextT;
            Возвращает текст на билборде с центром в точке p с размером шрифта Fontsize
    function Box(x, y, z, SizeX, SizeY, SizeZ: real; m: Material := DefaultMaterial): BoxT; +
    function Box(x, y, z, SizeX, SizeY, SizeZ: real; m: Material := nil): BoxT;
            Возвращает паралеллепипед с центром в точке (x, y, z) и размерами SizeX, SizeY, SizeZ
    function Box(center: Point3D; sz: Size3D; m: Material := DefaultMaterial): BoxT; +
    function Box(center: Point3D; sz: Size3D; m: Material := nil): BoxT;
            Возвращает паралеллепипед с центром в точке center и размерами SizeX, SizeY, SizeZ
    function Cone(x, y, z, Height, Radius: real; m: Material := DefaultMaterial): TruncatedConeT; +
    function Cone(x, y, z, Height, Radius: real; m: Material := nil): TruncatedConeT;
            Возвращает конус с центром основания в точке (x, y, z) высотой Height, радиусом Radius
    function Cone(p: Point3D; Height, Radius: real; m: Material := DefaultMaterial): TruncatedConeT; +
    function Cone(p: Point3D; Height, Radius: real; m: Material := nil): TruncatedConeT;
            Возвращает конус с центром основания в точке p высотой Height, радиусом Radius
    function CoordinateSystem(ArrowsLength, Diameter: real): CoordinateSystemT;
            Возвращает координатную систему с длиной стрелок ArrowsLength и диаметром стрелок Diameter
    function CoordinateSystem(ArrowsLength: real): CoordinateSystemT;
            Возвращает координатную систему с длиной стрелок ArrowsLength
    function Cube(x, y, z, SideLength: real; m: Material := DefaultMaterial): CubeT; +
    function Cube(x, y, z, SideLength: real; m: Material := nil): CubeT;
            Возвращает куб с центром в точке (x, y, z) и длиной стороны SideLength
    function Cube(center: Point3D; SideLength: real; m: Material := DefaultMaterial): CubeT; +
    function Cube(center: Point3D; SideLength: real; m: Material := nil): CubeT;
            Возвращает куб с центром в точке center и длиной стороны SideLength
    function Cylinder(x, y, z, Height, Radius: real; m: Material := DefaultMaterial): CylinderT; +
    function Cylinder(x, y, z, Height, Radius: real; m: Material := nil): CylinderT;
            Возвращает цилиндр с центром основания в точке (x, y, z) высоты Height радиуса Radius
    function Cylinder(p: Point3D; Height, Radius: real; m: Material := DefaultMaterial): CylinderT; +
    function Cylinder(p: Point3D; Height, Radius: real; m: Material := nil): CylinderT;
            Возвращает цилиндр с центром основания в точке p высоты Height радиуса Radius
    function Dodecahedron(x, y, z, Radius: real; m: Material := DefaultMaterial): DodecahedronT; +
    function Dodecahedron(x, y, z, Radius: real; m: Material := nil): DodecahedronT;
            Возвращает додекаэдр с центром в точке (x, y, z) и радиусом описанной окружности Radius
    function Dodecahedron(p: Point3D; Radius: real; m: Material := DefaultMaterial): DodecahedronT; +
    function Dodecahedron(p: Point3D; Radius: real; m: Material := nil): DodecahedronT;
            Возвращает додекаэдр с центром в точке p и радиусом описанной окружности Radius
    function Ellipsoid(x, y, z, RadiusX, RadiusY, RadiusZ: real; m: Material := DefaultMaterial): EllipsoidT; +
    function Ellipsoid(x, y, z, RadiusX, RadiusY, RadiusZ: real; m: Material := nil): EllipsoidT;
            Возвращает эллипсоид с центром в точке (x, y, z) и радиусами RadiusX, RadiusY, RadiusZ
    function Ellipsoid(center: Point3D; RadiusX, RadiusY, RadiusZ: real; m: Material := DefaultMaterial): EllipsoidT; +
    function Ellipsoid(center: Point3D; RadiusX, RadiusY, RadiusZ: real; m: Material := nil): EllipsoidT;
            Возвращает эллипсоид с центром в точке center и радиусами RadiusX, RadiusY, RadiusZ
    function FileModel3D(x, y, z: real; fname: string; m: Material): FileModelT;
            Загружает модель из файла в форматах .obj, .3ds, .lwo, .objz, .stl, .off и отображает ее в точке (x, y, z)
    function FileModel3D(p: Point3D; fname: string; m: Material): FileModelT;
            Загружает модель из файла в форматах .obj, .3ds, .lwo, .objz, .stl, .off и отображает ее в точке p
    function Icosahedron(x, y, z, Radius: real; m: Material := DefaultMaterial): IcosahedronT; +
    function Icosahedron(x, y, z, Radius: real; m: Material := nil): IcosahedronT;
            Возвращает икосаэдр с центром в точке (x, y, z) и радиусом описанной окружности Radius
    function Icosahedron(p: Point3D; Radius: real; m: Material := DefaultMaterial): IcosahedronT; +
    function Icosahedron(p: Point3D; Radius: real; m: Material := nil): IcosahedronT;
            Возвращает икосаэдр с центром в точке p и радиусом описанной окружности Radius
    function Lego(x, y, z: real; Rows, Columns, Height: integer; m: Material := DefaultMaterial): LegoT; +
    function Lego(x, y, z: real; Rows, Columns, Height: integer; m: Material := nil): LegoT;
            Возвращает лего-деталь с центром в точке (x, y, z), размера (Rows, Columns, Height), измеряемом в количестве кирпичиков по каждой размерности
    function Octahedron(x, y, z, Radius: real; m: Material := DefaultMaterial): OctahedronT; +
    function Octahedron(x, y, z, Radius: real; m: Material := nil): OctahedronT;
            Возвращает октаэдр с центром в точке (x, y, z) и радиусом описанной окружности Radius
    function Octahedron(p: Point3D; Radius: real; m: Material := DefaultMaterial): OctahedronT; +
    function Octahedron(p: Point3D; Radius: real; m: Material := nil): OctahedronT;
            Возвращает октаэдр с центром в точке p и радиусом описанной окружности Radius
    function Polygon3D(points: sequence of Point3D; Thickness: real := 1.2; c: Color := GrayColor(64)): SegmentsT; +
    function Polygon3D(points: sequence of Point3D; Thickness: real; c: Color): SegmentsT;
            Возвращает замкнутую ломаную, задаваемую последовательностью точек points, толщиной Thickness, заданного цвета
    function Polyline3D(points: sequence of Point3D; Thickness: real := 1.2; c: Color := GrayColor(64)): SegmentsT; +
    function Polygon3D(points: sequence of Point3D; Thickness: real := 1.2): SegmentsT; +
            Возвращает замкнутую ломаную, задаваемую последовательностью точек points, толщиной Thickness
    function Polyline3D(points: sequence of Point3D; Thickness: real; c: Color): SegmentsT;
            Возвращает ломаную, задаваемую последовательностью точек points, толщиной Thickness, заданного цвета
    function Prism(x, y, z: real; Sides: integer; Height, Radius: real; m: Material := DefaultMaterial): PrismT; +
    function Polyline3D(points: sequence of Point3D; Thickness: real := 1.2): SegmentsT; +
            Возвращает ломаную, задаваемую последовательностью точек points, толщиной Thickness
    function Prism(x, y, z: real; Sides: integer; Height, Radius: real; m: Material := nil): PrismT;
            Возвращает правильную призму с центром основания в точке (x, y, z), количеством сторон Sides, высотой Height и радиусом Radius
    function Prism(p: Point3D; Sides: integer; Height, Radius: real; m: Material := DefaultMaterial): PrismT; +
    function Prism(p: Point3D; Sides: integer; Height, Radius: real; m: Material := nil): PrismT;
            Возвращает правильную призму с центром основания в точке p, количеством сторон Sides, высотой Height и радиусом Radius
    function PrismWireFrame(x, y, z: real; Sides: integer; Height, Radius: real; Thickness: real := 1.2; c: Color := GrayColor(64)): PrismTWireFrame; +
    function PrismWireFrame(x, y, z: real; Sides: integer; Height, Radius: real; Thickness: real; c: Color): PrismTWireFrame;
            Возвращает проволочную правильную призму с центром основания в точке (x, y, z), количеством сторон Sides, высотой Height, радиусом Radius и толщиной проволоки Thickness
    function PrismWireFrame(p: Point3D; Sides: integer; Height, Radius: real; Thickness: real := 1.2; c: Color := GrayColor(64)): PrismTWireFrame; +
    function PrismWireFrame(x, y, z: real; Sides: integer; Height, Radius: real; Thickness: real := 1.2): PrismTWireFrame; +
            Возвращает проволочную правильную призму с центром основания в точке (x, y, z), количеством сторон Sides, высотой Height, радиусом Radius и толщиной проволоки Thickness
    function PrismWireFrame(p: Point3D; Sides: integer; Height, Radius: real; Thickness: real; c: Color): PrismTWireFrame;
            Возвращает проволочную правильную призму с центром основания в точке p, количеством сторон Sides, высотой Height, радиусом Radius и толщиной проволоки Thickness
    function Pyramid(x, y, z: real; Sides: integer; Height, Radius: real; m: Material := DefaultMaterial): PyramidT; +
    function PrismWireFrame(p: Point3D; Sides: integer; Height, Radius: real; Thickness: real := 1.2): PrismTWireFrame; +
            Возвращает проволочную правильную призму с центром основания в точке p, количеством сторон Sides, высотой Height, радиусом Radius и толщиной проволоки Thickness
    function Pyramid(x, y, z: real; Sides: integer; Height, Radius: real; m: Material := nil): PyramidT;
            Возвращает правильную пирамиду с центром основания в точке (x, y, z), количеством сторон Sides, высотой Height и радиусом Radius
    function Pyramid(p: Point3D; Sides: integer; Height, Radius: real; m: Material := DefaultMaterial): PyramidT; +
    function Pyramid(p: Point3D; Sides: integer; Height, Radius: real; m: Material := nil): PyramidT;
            Возвращает правильную пирамиду с центром основания в точке p, количеством сторон Sides, высотой Height и радиусом Radius
    function PyramidWireFrame(x, y, z: real; Sides: integer; Height, Radius: real; Thickness: real := 1.2; c: Color := GrayColor(64)): PyramidTWireFrame; +
    function PyramidWireFrame(x, y, z: real; Sides: integer; Height, Radius: real; Thickness: real; c: Color): PyramidTWireFrame;
            Возвращает проволочную правильную пирамиду с центром основания в точке (x, y, z), количеством сторон Sides, высотой Height и радиусом Radius
    function PyramidWireFrame(p: Point3D; Sides: integer; Height, Radius: real; Thickness: real := 1.2; c: Color := GrayColor(64)): PyramidTWireFrame; +
    function PyramidWireFrame(x, y, z: real; Sides: integer; Height, Radius: real; Thickness: real := 1.2): PyramidTWireFrame; +
            Возвращает проволочную правильную пирамиду с центром основания в точке (x, y, z), количеством сторон Sides, высотой Height и радиусом Radius
    function PyramidWireFrame(p: Point3D; Sides: integer; Height, Radius: real; Thickness: real; c: Color): PyramidTWireFrame;
            Возвращает проволочную правильную пирамиду с центром основания в точке p, количеством сторон Sides, высотой Height и радиусом Radius
    function Rectangle3D(x, y, z, Length, Width: real; Normal, LengthDirection: Vector3D; m: Material := DefaultMaterial): RectangleT; +
    function PyramidWireFrame(p: Point3D; Sides: integer; Height, Radius: real; Thickness: real := 1.2): PyramidTWireFrame; +
            Возвращает проволочную правильную пирамиду с центром основания в точке p, количеством сторон Sides, высотой Height и радиусом Radius
    function Rectangle3D(x, y, z, Length, Width: real; Normal, LengthDirection: Vector3D; m: Material := nil): RectangleT;
            Возвращает 3D-прямоугольник с центром в точке (x, y, z) длины Length, ширины Width, нормалью Normal и направлением длины LengthDirection
    function Rectangle3D(p: Point3D; Length, Width: real; Normal, LengthDirection: Vector3D; m: Material := DefaultMaterial): RectangleT; +
    function Rectangle3D(p: Point3D; Length, Width: real; Normal, LengthDirection: Vector3D; m: Material := nil): RectangleT;
            Возвращает 3D-прямоугольник с центром в точке p длины Length, ширины Width, нормалью Normal и направлением длины LengthDirection
    function Rectangle3D(x, y, z, Length, Width: real; Normal: Vector3D; m: Material := DefaultMaterial): RectangleT; +
    function Rectangle3D(x, y, z, Length, Width: real; Normal: Vector3D; m: Material := nil): RectangleT;
            Возвращает 3D-прямоугольник с центром в точке (x, y, z) длины Length, ширины Width, нормалью Normal
    function Rectangle3D(x, y, z, Length, Width: real; m: Material := DefaultMaterial): RectangleT; +
    function Rectangle3D(x, y, z, Length, Width: real; m: Material := nil): RectangleT;
            Возвращает 3D-прямоугольник с центром в точке (x, y, z) длины Length, ширины Width
    function Rectangle3D(p: Point3D; Length, Width: real; Normal: Vector3D; m: Material := DefaultMaterial): RectangleT; +
    function Rectangle3D(p: Point3D; Length, Width: real; Normal: Vector3D; m: Material := nil): RectangleT;
            Возвращает 3D-прямоугольник с центром в точке p длины Length, ширины Width, нормалью Normal
    function Rectangle3D(p: Point3D; Length, Width: real; m: Material := DefaultMaterial): RectangleT; +
    function Rectangle3D(p: Point3D; Length, Width: real; m: Material := nil): RectangleT;
            Возвращает 3D-прямоугольник с центром в точке p длины Length, ширины Width
    function Segment3D(p1, p2: Point3D; Thickness: real := 1.2; c: Color := GrayColor(64)): SegmentsT; +
    function Segment3D(p1, p2: Point3D; Thickness: real; c: Color): SegmentsT;
            Возвращает отрезок из точки p1 в точку p2 толщиной Thickness заданного цвета
    function Segments3D(points: sequence of Point3D; Thickness: real := 1.2; c: Color := GrayColor(64)): SegmentsT; +
    function Segment3D(p1, p2: Point3D; Thickness: real := 1.2): SegmentsT; +
            Возвращает отрезок из точки p1 в точку p2 толщиной Thickness заданного цвета
    function Segments3D(points: sequence of Point3D; Thickness: real; c: Color): SegmentsT;
            Возвращает набор отрезков, задаваемых последовательностью точек points, толщиной Thickness, заданного цвета. Количество точек должно быть четным
    function Sphere(x, y, z, Radius: real; m: Material := DefaultMaterial): SphereT; +
    function Segments3D(points: sequence of Point3D; Thickness: real := 1.2): SegmentsT; +
            Возвращает набор отрезков, задаваемых последовательностью точек points, толщиной Thickness. Количество точек должно быть четным
    function Sphere(x, y, z, Radius: real; m: Material := nil): SphereT;
            Возвращает сферу с центром в точке (x, y, z) радиуса Radius
    function Sphere(center: Point3D; Radius: real; m: Material := DefaultMaterial): SphereT; +
    function Sphere(center: Point3D; Radius: real; m: Material := nil): SphereT;
            Возвращает сферу с центром в точке center радиуса Radius
    function Teapot(x, y, z: real; c: Material := DefaultMaterial): TeapotT; +
    function Teapot(x, y, z: real; c: Material := nil): TeapotT;
            Возвращает чайник с центром в точке (x, y, z)
    function Teapot(p: Point3D; c: Material := DefaultMaterial): TeapotT; +
    function Teapot(p: Point3D; c: Material := nil): TeapotT;
            Возвращает чайник с центром в точке p
    function Tetrahedron(x, y, z, Radius: real; m: Material := DefaultMaterial): TetrahedronT; +
    function Tetrahedron(x, y, z, Radius: real; m: Material := nil): TetrahedronT;
            Возвращает тетраэдр с центром в точке (x, y, z) и радиусом описанной окружности Radius
    function Tetrahedron(p: Point3D; Radius: real; m: Material := DefaultMaterial): TetrahedronT; +
    function Tetrahedron(p: Point3D; Radius: real; m: Material := nil): TetrahedronT;
            Возвращает тетраэдр с центром в точке p и радиусом описанной окружности Radius
    function Text3D(x, y, z: real; Text: string; Height: real; FontName: string := 'Arial'; c: Color := Colors.Black): TextT; +
    function Text3D(x, y, z: real; Text: string; Height: real; FontName: string; c: Color): TextT;
            Возвращает 3D-текст с центром в точке (x, y, z) с высотой Height, именем шрифта FontName заданного цвета
    function Text3D(p: Point3D; Text: string; Height: real; FontName: string := 'Arial'; c: Color := Colors.Black): TextT; +
    function Text3D(x, y, z: real; Text: string; Height: real; FontName: string := 'Arial'): TextT; +
            Возвращает 3D-текст с центром в точке (x, y, z) с высотой Height, именем шрифта FontName
    function Text3D(p: Point3D; Text: string; Height: real; FontName: string; c: Color): TextT;
            Возвращает 3D-текст с центром в точке p с высотой Height, именем шрифта FontName заданного цвета
    function Text3D(p: Point3D; Text: string; Height: real; FontName: string := 'Arial'): TextT; +
            Возвращает 3D-текст с центром в точке p с высотой Height, именем шрифта FontName
    function Text3D(x, y, z: real; Text: string; Height: real; c: Color): TextT;
            Возвращает 3D-текст с центром в точке (x, y, z) с высотой Height заданного цвета
    function Text3D(p: Point3D; Text: string; Height: real; c: Color): TextT;
            Возвращает 3D-текст с центром в точке p с высотой Height заданного цвета
    function Torus(x, y, z, Diameter, TubeDiameter: real; m: Material := DefaultMaterial): TorusT; +
    function Torus(x, y, z, Diameter, TubeDiameter: real; m: Material := nil): TorusT;
            Возвращает тор (бублик) с центром в точке (x, y, z), диаметром Diameter и диаметром трубы TubeDiameter
    function Torus(p: Point3D; Diameter, TubeDiameter: real; m: Material := DefaultMaterial): TorusT; +
    function Torus(p: Point3D; Diameter, TubeDiameter: real; m: Material := nil): TorusT;
            Возвращает тор (бублик) с центром в точке p, диаметром Diameter и диаметром трубы TubeDiameter
    function Triangle(p1, p2, p3: Point3D; m: Material := DefaultMaterial): TriangleT; +
    function Triangle(p1, p2, p3: Point3D; m: Material := nil): TriangleT;
            Возвращает треугольник, соединяющий точки p1, p2, p3
    function TruncatedCone(x, y, z, Height, Radius, TopRadius: real; m: Material := DefaultMaterial): TruncatedConeT; +
    function TruncatedCone(x, y, z, Height, Radius, TopRadius: real; m: Material := nil): TruncatedConeT;
            Возвращает усеченный конус с центром основания в точке (x, y, z) высоты Height, радиуса основания Radius, верхнего радиуса TopRadius
    function TruncatedCone(p: Point3D; Height, Radius, TopRadius: real; m: Material := DefaultMaterial): TruncatedConeT; +
    function TruncatedCone(p: Point3D; Height, Radius, TopRadius: real; m: Material := nil): TruncatedConeT;
            Возвращает усеченный конус с центром основания в точке p высоты Height, радиуса основания Radius, верхнего радиуса TopRadius
    function Tube(x, y, z, Height, Radius, InnerRadius: real; m: Material := DefaultMaterial): PipeT; +
    function Tube(x, y, z, Height, Radius, InnerRadius: real; m: Material := nil): PipeT;
            Возвращает трубу с центром основания в точке (x, y, z) высотой Height, радиусом Radius и внутренним радиусом InnerRadius
    function Tube(p: Point3D; Height, Radius, InnerRadius: real; m: Material := DefaultMaterial): PipeT; +
    function Tube(p: Point3D; Height, Radius, InnerRadius: real; m: Material := nil): PipeT;
            Возвращает трубу с центром основания в точке p высотой Height, радиусом Radius и внутренним радиусом InnerRadius
    \ No newline at end of file diff --git a/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D functions for nearest points and objects.html b/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D functions for nearest points and objects.html index 3c9357fce..661ec3e75 100644 --- a/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D functions for nearest points and objects.html +++ b/PABCNetHelp/PABCUnits/Graph3D/Files/Graph3D functions for nearest points and objects.html @@ -7,7 +7,9 @@ - + + +

    Graph3D: функции для определения ближайших точек и объектов

    + +
    procedure BeginFrameBasedAnimationTime(Draw: procedure(dt: real)); @@ -28,5 +30,9 @@
            Возвращает точку на плоскости Plane, которую пересекает невизуальный луч, выпущенный из камеры и проходящий через точку (x,y) экрана
    procedure SerializeObject3D(filename: string; obj: Object3D);
            Сериализует трёхмерный объект в файл
    procedure SystemMouseEventsOff; +
            Отключить стандартные обработчики событий мыши
    procedure SystemMouseEventsOn; +
            Включить стандартные обработчики событий мыши
    \ No newline at end of file diff --git a/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF GraphWindowType class.html b/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF GraphWindowType class.html index 563fa43fb..013116a7e 100644 --- a/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF GraphWindowType class.html +++ b/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF GraphWindowType class.html @@ -1,11 +1,13 @@ + + @@ -27,8 +29,12 @@
            Центр графического окна
    function ClientRect: GRect;
            Клиентский прямоугольник графического окна
    function RandomPoint(margin: real := 0): Point; +
            Возвращает случайную точку в границах экрана. Необязательный параметр margin задаёт минимальный отступ от границы
    procedure Fill(fname: string); +
    procedure Clear; +
            Очищает графическое окно белым цветом
    procedure Fill(fname: string);
            Заполняет содержимое графического окна обоями из файла с именем fname
    procedure Load(fname: string);
            Восстанавливает содержимое графического окна из файла с именем fname
    procedure DrawImage(x,y,w,h: real; fname: string);
            Рисует изображение из файла fname в позиции (x,y) размера w на h
    procedure DrawImage(x,y: real; b: Bitmap); +
            Рисует изображение из битмапа в позиции (x,y)
    procedure DrawImage(x,y,w,h: real; b: Bitmap); +
            Рисует изображение из битмапа в позиции (x,y) размера w на h
    procedure DrawImageUnscaled(x,y: real; fname: string);
            Рисует немасштабированное изображение из файла fname в позиции (x,y)
    procedure DrawVideo(x,y: real; fname: string); diff --git a/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF service functions.html b/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF service functions.html index 1340689d3..f30d07c60 100644 --- a/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF service functions.html +++ b/PABCNetHelp/PABCUnits/GraphWPF/Files/GraphWPF service functions.html @@ -23,6 +23,8 @@
            Возвращает однотонную цветную кисть, заданную цветом
    function ColorPen(c: Color): GPen;
            Возвращает однотонное цветное перо, заданное цветом
    function ColorPen(c: Color; w: real): GPen; +
            Возвращает однотонное цветное перо, заданное цветом и толщиной
    function EmptyColor: Color;
            Возвращает полностью прозрачный цвет
    function GrayColor(b: byte): Color; diff --git a/PABCNetHelp/PABCUnits/GraphWPF/Files/WindowType class.html b/PABCNetHelp/PABCUnits/GraphWPF/Files/WindowType class.html index 7cba02fd6..5722807a6 100644 --- a/PABCNetHelp/PABCUnits/GraphWPF/Files/WindowType class.html +++ b/PABCNetHelp/PABCUnits/GraphWPF/Files/WindowType class.html @@ -42,8 +42,8 @@
            Возвращает центр главного окна
    function ClientRect: GRect;
            Возвращает прямоугольник клиентской области окна
    function RandomPoint(w: real := 0): Point; -
            Возвращает случайную точку в границах экрана. Необязательный параметр w задаёт минимальный отступ от границы
    function RandomPoint(margin: real := 0): Point; +
            Возвращает случайную точку в границах экрана. Необязательный параметр margin задаёт минимальный отступ от границы
    procedure CenterOnScreen;
            Центрирует главное окно по центру экрана
    function ClientRect: GRect;
            Возвращает прямоугольник клиентской области окна
    function RandomPoint(w: real := 0): Point; -
            Возвращает случайную точку в границах экрана. Необязательный параметр w задаёт минимальный отступ от границы
    function RandomPoint(margin: real := 0): Point; +
            Возвращает случайную точку в границах экрана. Необязательный параметр margin задаёт минимальный отступ от границы
    procedure CenterOnScreen;
            Центрирует главное окно по центру экрана
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    constructor (x,y,r: real; c: GColor);
            Создает круг радиуса r заданного цвета с координатами центра (x,y)
    constructor (x,y,r: real; c: GColor; borderWidth: real); +
            Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth
    constructor (x,y,r: real; c: GColor; borderWidth: real; borderColor: GColor); +
            Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; r: real; c: GColor);
            Создает круг радиуса r заданного цвета с центром p
    constructor (x,y,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); -
            Создает круг радиуса r заданного цвета с координатами центра (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (p: Point; r: real; c: GColor; borderWidth: real); +
            Создает круг радиуса r заданного цвета с центром p, с границей ширины borderWidth
    constructor (p: Point; r: real; c: GColor; borderWidth: real; borderColor: GColor);
            Создает круг радиуса r заданного цвета с центром p, с границей ширины borderWidth и цвета borderColor
    Свойства класса CircleWPF
    function RemoveBorder;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black); +
    function SetBorder(w: real; c: GColor); +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1);
            Декоратор включения границы объекта
    function SetRotate(da: real): CircleWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): CircleWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): CircleWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): CircleWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    constructor (x,y,rx,ry: real; c: GColor);
            Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с
    constructor (x,y,rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (x,y,rx,ry: real; c: GColor; borderWidth: real; borderColor: GColor); +
            Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor
    constructor (x,y,rx,ry: real; c: GColor; borderWidth: real);
            Создает эллипс с центром в точке (x,y), радиусами (rx,ry) и цветом внутренности с, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; rx,ry: real; c: GColor);
            Создает эллипс с центром в точке p, радиусами (rx,ry) и цветом внутренности с
    function RemoveBorder;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black); +
    function SetBorder(w: real; c: GColor); +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1);
            Декоратор включения границы объекта
    function SetRotate(da: real): EllipseWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): EllipseWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): EllipseWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): EllipseWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    function SetRotate(da: real): LineWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): LineWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): LineWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): LineWPF;
            Декоратор текста объекта
    Свойства базового класса ObjectWPF
    +
            Возвращает количество графических объектов +
            Возвращает или устанавливает i-тый графический объект +
            Очистить список графических объектов +
            Удалить все графические объекты, удовлетворяющие условию +
            Перемещает графический объект на задний план +
            Перемещает графический объект на передний план + +
    Свойства класса ObjectsType
    property Count: integer; -
            Возвращает количество объектов ObjectWPF
    property Items[i: integer]: ObjectWPF; -
            Возвращает или устанавливает i-тый объект ObjectWPF
    Методы класса ObjectsType
    procedure Clear; -
            Очистить список игровых объектов
    procedure DestroyAll(condition: ObjectWPF -> boolean); -
            Удалить все игровые объекты, удовлетворяющие условию
    procedure ToBack(ob: ObjectWPF); -
            Перемещает объект на задний план
    procedure ToFront(ob: ObjectWPF); -
            Перемещает объект на передний план
    function Reverse: IEnumerable<ObjectWPF> +
            Возвращает инвертированный список графических объектов
    \ No newline at end of file diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class PictureWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class PictureWPF.html index ecb4056d9..c887dcf11 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class PictureWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class PictureWPF.html @@ -6,7 +6,9 @@

    Класс PictureWPF

    Класс графических объектов "Рисунок". Базовый класс - ObjectWPF. - + @@ -18,7 +20,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class PolygonWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class PolygonWPF.html index d884ce4ab..b42055c1d 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class PolygonWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class PolygonWPF.html @@ -11,8 +11,10 @@ - + - + - + @@ -39,7 +45,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RectangleWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RectangleWPF.html index da2a73985..0063a6394 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RectangleWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RectangleWPF.html @@ -10,12 +10,16 @@ + + - - + - + @@ -38,7 +44,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RegularPolygonWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RegularPolygonWPF.html index 9d2ba9f5d..c9f7dbf56 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RegularPolygonWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RegularPolygonWPF.html @@ -14,12 +14,16 @@ + + - - + - + - + @@ -52,7 +60,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RoundRectWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RoundRectWPF.html index c4e15229f..6b57994fb 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RoundRectWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RoundRectWPF.html @@ -11,12 +11,16 @@ + + - - + - + - + @@ -43,7 +51,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RoundSquareWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RoundSquareWPF.html index cca570cdc..42790dca5 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RoundSquareWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class RoundSquareWPF.html @@ -10,21 +10,29 @@ + + - - + - + - + @@ -38,11 +46,15 @@ - + - + @@ -56,7 +68,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class SquareWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class SquareWPF.html index e8f4d9f78..3435ef3dd 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class SquareWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class SquareWPF.html @@ -10,21 +10,29 @@ + + - - + - + - + @@ -38,11 +46,15 @@ - + - + @@ -56,7 +68,9 @@ - + diff --git a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class StarWPF.html b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class StarWPF.html index 2ae13475c..e3213bd68 100644 --- a/PABCNetHelp/PABCUnits/WPFObjects/Files/Class StarWPF.html +++ b/PABCNetHelp/PABCUnits/WPFObjects/Files/Class StarWPF.html @@ -15,10 +15,14 @@
            Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal - - + + - + - + @@ -51,11 +59,15 @@ - + - + @@ -69,7 +81,9 @@ - + diff --git a/Release/pabcversion.txt b/Release/pabcversion.txt index 37cb71f51..e45b20cd4 100644 --- a/Release/pabcversion.txt +++ b/Release/pabcversion.txt @@ -1 +1 @@ -3.8.0.2903 +3.8.0.2918 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index cb6995e90..120c15395 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.8.0.2903' +!define VERSION '3.8.0.2918' diff --git a/TestSuite/EachCountOverloading.pas b/TestSuite/EachCountOverloading.pas new file mode 100644 index 000000000..85a63e56c --- /dev/null +++ b/TestSuite/EachCountOverloading.pas @@ -0,0 +1,41 @@ +п»їfunction EachCountMy(Self: T): integer; extensionmethod; +begin + Result := 3 +end; + +function EachCountMy(Self: sequence of System.Linq.IGrouping): integer; extensionmethod; +begin + Result := 2 +end; + +function EachCountMy(Self: sequence of T): integer; extensionmethod; +begin + Result := 1 +end; + +function EachCountMy(Self: sequence of List): integer; extensionmethod; +begin + Result := 4 +end; + +function EachCountMy(Self: Dictionary): integer; extensionmethod; +begin + Result := 7 +end; + +function EachCountMy(Self: Dictionary>): integer; extensionmethod; +begin + Result := 8 +end; + + +begin + var s := 'aa bbb aa c f f ddd e e f '; + Assert(Lst(Lst(1),Lst(2)).EachCountMy = 4); // 4 + Assert(s.ToWords.GroupBy(x->x).EachCountMy = 2); // 2 + Assert(s.ToWords.EachCountMy = 1); // 1 + Assert(Dict(KV(1,2)).EachCountMy = 7); // 7 + Assert(Dict(KV(1,Lst(1,2))).EachCountMy = 8); // 8 + Assert(1.EachCountMy = 3); // 3 + Assert(byte(1).EachCountMy = 3); // 3 +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs index 6c655fe56..576148b1f 100644 --- a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs +++ b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs @@ -1346,9 +1346,71 @@ namespace PascalABCCompiler.TreeConverter return type_conversion_compare.equal_type_conversions; } - private method_compare compare_methods(function_node left_func, function_node right_func, + public enum MoreSpecific { Left, Right, None} + + public MoreSpecific compare_more_specific(function_node left_func, function_node right_func) + { + bool LeftIsMoreSpecific = false; + bool RightIsMoreSpecific = false; + var left_original = left_func.original_function; + var right_original = right_func.original_function; + if (left_original != null && right_original != null) + { + for (var i = 0; i < left_original.parameters.Count; i++) + { + if (left_original.parameters[i].is_params || right_original.parameters[i].is_params) + { + return MoreSpecific.None; + } + var ltt = left_original.parameters[i].type; + var rtt = right_original.parameters[i].type; + if (ltt.is_generic_parameter && !rtt.is_generic_parameter) + { + RightIsMoreSpecific = true; + continue; + } + if (rtt.is_generic_parameter && !ltt.is_generic_parameter) + { + LeftIsMoreSpecific = true; + continue; + } + var lt = ltt as generic_instance_type_node; + var rt = rtt as generic_instance_type_node; + if (lt == null || rt == null) + continue; + if (lt.original_generic == rt.original_generic) + { + var lins = lt.instance_params; + var rins = rt.instance_params; + for (int j = 0; j < rins.Count; j++) + { + if (lins[j].is_generic_parameter && !rins[j].is_generic_parameter) + RightIsMoreSpecific = true; + else if (rins[j].is_generic_parameter && !lins[j].is_generic_parameter) + LeftIsMoreSpecific = true; + } + } + } + } + if (RightIsMoreSpecific && !LeftIsMoreSpecific) + return MoreSpecific.Right; + if (LeftIsMoreSpecific && !RightIsMoreSpecific) + return MoreSpecific.Left; + return MoreSpecific.None; + + } + + private method_compare compare_methods(function_node left_func, function_node right_func, possible_type_convertions_list left,possible_type_convertions_list right) { + // Нет распознавания глубоко вложенных типов РЅР° IsMoreSpecific - только РЅР° глубину 1 или 2 + var moreSpec = compare_more_specific(left_func, right_func); + if (moreSpec == MoreSpecific.Left) + return method_compare.greater_method; + if (moreSpec == MoreSpecific.Right) + return method_compare.less_method; + // Р° иначе РїРѕРєР° ничего РЅРµ возвращать + function_compare fc = function_node.compare_functions(left_func, right_func); if (fc == function_compare.less) { @@ -1448,8 +1510,57 @@ namespace PascalABCCompiler.TreeConverter eq = false; break; } + if (eq) { + // SSM 03/07/2021 - РІ СЃРІСЏР·Рё СЃ EachCount СЃ GroupBy Рё без + + /*bool LeftIsMoreSpecific = false; + bool RightIsMoreSpecific = false; + var left_original = left_func.original_function; + var right_original = right_func.original_function; + if (left_original != null && right_original != null) + { + for (var i = 0; i < left_original.parameters.Count; i++) + { + var ltt = left_original.parameters[i].type; + var rtt = right_original.parameters[i].type; + if (ltt.is_generic_parameter && !rtt.is_generic_parameter) + { + RightIsMoreSpecific = true; + continue; + } + if (rtt.is_generic_parameter && !ltt.is_generic_parameter) + { + LeftIsMoreSpecific = true; + continue; + } + var lt = ltt as generic_instance_type_node; + var rt = rtt as generic_instance_type_node; + if (lt == null || rt == null) + continue; + if (lt.original_generic == rt.original_generic) + { + var lins = lt.instance_params; + var rins = rt.instance_params; + for (int j = 0; j < rins.Count; j++) + { + if (lins[j].is_generic_parameter && !rins[j].is_generic_parameter) + RightIsMoreSpecific = true; + else if (rins[j].is_generic_parameter && !lins[j].is_generic_parameter) + LeftIsMoreSpecific = true; + } + } + } + } + if (RightIsMoreSpecific && !LeftIsMoreSpecific) + return method_compare.less_method; + if (LeftIsMoreSpecific && !RightIsMoreSpecific) + return method_compare.greater_method;*/ + + // end SSM 03/07/2021 + + // Это РЅРµ всегда правильно срабатывает var lc = left_func.get_generic_params_list().Count; var rc = right_func.get_generic_params_list().Count; if (lc < rc) diff --git a/bin/PascalABCNET.chm b/bin/PascalABCNET.chm index aab3d049a..eb0ec9aae 100644 Binary files a/bin/PascalABCNET.chm and b/bin/PascalABCNET.chm differ
    Конструкторы класса PictureWPF
    constructor (x,y: real; fname: string); +
    constructor Create(Hidden: boolean; x,y: real; fname: string); +
            
    constructor (x,y: real; fname: string);
            Создает рисунок из файла fname с координатами левого верхнего угла (x,y)
    constructor (x,y,w,h: real; fname: string);
            Создает рисунок из файла fname с координатами левого верхнего угла (x,y) и размерами (w,h)
    function SetRotate(da: real): PictureWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): PictureWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): PictureWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): PictureWPF;
            Декоратор текста объекта
    Свойства базового класса ObjectWPF
    constructor (pp: array of Point; c: GColor);
            Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp
    constructor (pp: array of Point; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (pp: array of Point; c: GColor; borderWidth: real; borderColor: GColor);
            Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp, с границей ширины borderWidth и цвета borderColor
    constructor (pp: array of Point; c: GColor; borderWidth: real); +
            Создает многоугольник заданного цвета с координатами вершин, заданными массивом точек pp, с границей ширины borderWidth
    Свойства класса PolygonWPF
    property Points: array of Point; @@ -21,11 +23,15 @@
    function RemoveBorder: PolygonWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): PolygonWPF; +
    function SetBorder(w: real; c: GColor): PolygonWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): PolygonWPF;
            Декоратор включения границы объекта
    function SetRotate(da: real): PolygonWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): PolygonWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): PolygonWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): PolygonWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    constructor (x,y,w,h: real; c: GColor);
            Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y)
    constructor (x,y,w,h: real; c: GColor; borderWidth: real; borderColor: GColor); +
            Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (x,y,w,h: real; c: GColor; borderWidth: real); +
            Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
    constructor (p: Point; w,h: real; c: GColor);
            Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
    constructor (x,y,w,h: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); -
            Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w,h: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (p: Point; w,h: real; c: GColor; borderWidth: real; borderColor: GColor);
            Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w,h: real; c: GColor; borderWidth: real); +
            Создает прямоугольник размера (w,h) заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
    Методы класса RectangleWPF
    function RemoveBorder; @@ -24,7 +28,9 @@
            Декоратор включения границы объекта
    function SetRotate(da: real): RectangleWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RectangleWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): RectangleWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RectangleWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    constructor (x,y,r: real; n: integer; c: GColor);
            Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r
    constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor); +
            Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
    constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real); +
            Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth
    constructor (p: Point; r: real; n: integer; c: GColor);
            Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r
    constructor (x,y,r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); -
            Создает правильный многоугольник заданного цвета с координатами центра (x,y) и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor);
            Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; r: real; n: integer; c: GColor; borderWidth: real); +
            Создает правильный многоугольник заданного цвета с центром в заданной точке p и радиусом описанной окружности r, с границей ширины borderWidth
    Свойства класса RegularPolygonWPF
    property Count: integer; @@ -34,11 +38,15 @@
    function RemoveBorder: RegularPolygonWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): RegularPolygonWPF; +
    function SetBorder(w: real; c: GColor): RegularPolygonWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): RegularPolygonWPF;
            Декоратор включения границы объекта
    function SetRotate(da: real): RegularPolygonWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RegularPolygonWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): RegularPolygonWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RegularPolygonWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    constructor (x,y,w,h,r: real; c: GColor);
            Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y)
    constructor (x,y,w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor); +
            Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (x,y,w,h,r: real; c: GColor; borderWidth: real); +
            Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
    constructor (p: Point; w,h,r: real; c: GColor);
            Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
    constructor (x,y,w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); -
            Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real; borderColor: GColor);
            Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w,h,r: real; c: GColor; borderWidth: real); +
            Создает прямоугольник со скругленными краями размера (w,h) с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
    Свойства класса RoundRectWPF
    property RoundRadius: real; @@ -25,11 +29,15 @@
    function RemoveBorder;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black); +
    function SetBorder(w: real; c: GColor);
            Декоратор включения границы объекта
    function SetBorder(w: real := 1); +
            Декоратор выключения границы объекта
    function SetRotate(da: real): RoundRectWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RoundRectWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): RoundRectWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RoundRectWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    constructor (x,y,w,r: real; c: GColor);
            Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y)
    constructor (x,y,w,r: real; c: GColor; borderWidth: real; borderColor: GColor); +
            Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (x,y,w,r: real; c: GColor; borderWidth: real); +
            Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
    constructor (p: Point; w,r: real; c: GColor);
            Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
    constructor (x,y,w,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); -
            Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w,r: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (p: Point; w,r: real; c: GColor; borderWidth: real; borderColor: GColor);
            Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w,r: real; c: GColor; borderWidth: real); +
            Создает квадрат со скругленными краями со стороной w с радиусом скругления r заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
    Методы класса RoundSquareWPF
    function RemoveBorder: RoundSquareWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): RoundSquareWPF; +
    function SetBorder(w: real; c: GColor): RoundSquareWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): RoundSquareWPF;
            Декоратор включения границы объекта
    function SetRotate(da: real): RoundSquareWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RoundSquareWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): RoundSquareWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RoundSquareWPF;
            Декоратор текста объекта
    Свойства базового класса CircleWPF
    function RemoveBorder;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black); +
    function SetBorder(w: real; c: GColor); +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1);
            Декоратор включения границы объекта
    function SetRotate(da: real): CircleWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): CircleWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): CircleWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): CircleWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    constructor (x,y,w: real; c: GColor);
            Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y)
    constructor (x,y,w: real; c: GColor; borderWidth: real); +
            Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth
    constructor (x,y,w: real; c: GColor; borderWidth: real; borderColor: GColor); +
            Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w: real; c: GColor);
            Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p
    constructor (x,y,w: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); -
            Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла (x,y), с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w: real; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (p: Point; w: real; c: GColor; borderWidth: real; borderColor: GColor);
            Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; w: real; c: GColor; borderWidth: real); +
            Создает квадрат со стороной w заданного цвета с координатами левого верхнего угла, задаваемыми точкой p, с границей ширины borderWidth
    Методы класса SquareWPF
    function RemoveBorder;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black); +
    function SetBorder(w: real; c: GColor); +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1);
            Декоратор включения границы объекта
    function SetRotate(da: real): SquareWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): SquareWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): SquareWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): SquareWPF;
            Декоратор текста объекта
    Свойства базового класса CircleWPF
    function RemoveBorder;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black); +
    function SetBorder(w: real; c: GColor); +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1);
            Декоратор включения границы объекта
    function SetRotate(da: real): CircleWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): CircleWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): CircleWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): CircleWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF
    constructor (p: Point; r,rinternal: real; n: integer; c: GColor);
            Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal
    constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor);
            Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor := Colors.Black); +
    constructor (x,y,r,rinternal: real; n: integer; c: GColor; borderWidth: real); +
            Создает звезду заданного цвета с координатами центра (x,y), радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth
    constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real; borderColor: GColor);
            Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth и цвета borderColor
    constructor (p: Point; r,rinternal: real; n: integer; c: GColor; borderWidth: real); +
            Создает звезду заданного цвета c центром в точке p, радиусом описанной окружности r и внутренним радиусом rinternal, с границей ширины borderWidth
    Свойства класса StarWPF
    property Count: integer; @@ -31,11 +35,15 @@
    function RemoveBorder: StarWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): StarWPF; +
    function SetBorder(w: real; c: GColor): StarWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): StarWPF;
            Декоратор включения границы объекта
    function SetRotate(da: real): StarWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): StarWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): StarWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): StarWPF;
            Декоратор текста объекта
    Свойства базового класса RegularPolygonWPF
    function RemoveBorder: RegularPolygonWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): RegularPolygonWPF; +
    function SetBorder(w: real; c: GColor): RegularPolygonWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): RegularPolygonWPF;
            Декоратор включения границы объекта
    function SetRotate(da: real): RegularPolygonWPF;
            Декоратор поворота объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): RegularPolygonWPF; +
    function SetText(txt: string; size: real; fontname: string; c: GColor): RegularPolygonWPF; +
            Декоратор текста объекта
    function SetText(txt: string; size: real := 16; fontname: string := 'Arial'): RegularPolygonWPF;
            Декоратор текста объекта
    Свойства базового класса BoundedObjectWPF
    function RemoveBorder: BoundedObjectWPF;
            Декоратор выключения границы объекта
    function SetBorder(w: real := 1; c: GColor := Colors.Black): BoundedObjectWPF; +
    function SetBorder(w: real; c: GColor): BoundedObjectWPF; +
            Декоратор включения границы объекта
    function SetBorder(w: real := 1): BoundedObjectWPF;
            Декоратор включения границы объекта
    Свойства базового класса ObjectWPF