From ebb3d8184795bc7c7080061e9794bf460592f473 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Mon, 18 Apr 2022 13:58:34 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B8=D0=BB=20=D0=BD=D0=B5=D0=BA=D0=BE=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D1=8B=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=B0=D0=BF=D0=BA=D1=83=20StandardUnits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- InstallerSamples/{ => StandardUnits}/NumLibABC/ApproxCheb1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Decomp1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/DiffEqu1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Economi1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_2.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_3.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_4.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_5.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_6.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/FMin_1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Factors1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Fraction1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Matrix1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/NumLibABCTest.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/PolRT1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Polynom1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Polynom2.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Quanc8_1.pas | 0 .../{ => StandardUnits}/NumLibABC/RootsIsolation1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/SLAU1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Spline1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Vector1.pas | 0 InstallerSamples/{ => StandardUnits}/NumLibABC/Zeroin1.pas | 0 .../OpenGL и OpenCL/OpenCL/MatrMlt.cl | 0 .../OpenGL и OpenCL/OpenCL/MatrMlt.pas | 0 .../OpenGL и OpenCL/OpenCL/SimpleAddition.cl | 0 .../OpenGL и OpenCL/OpenCL/SimpleAddition.pas | 0 .../OpenCLABC/0Простейшие примеры/MatrMlt.cl | 0 .../OpenCLABC/0Простейшие примеры/MatrMlt.pas | 0 .../0Простейшие примеры/SimpleAddition.cl | 0 .../0Простейшие примеры/SimpleAddition.pas | 0 .../OpenGL и OpenCL/OpenCLABC/Wait очереди/1.pas | 0 .../OpenGL и OpenCL/OpenCLABC/Wait очереди/2.pas | 0 .../OpenGL и OpenCL/OpenCLABC/Wait очереди/NamedQData.pas | 0 .../OpenCLABC/Игра жизнь/Игра жизнь.cl | 0 .../OpenCLABC/Игра жизнь/Игра жизнь.pas | 0 .../OpenCLABC/Прекомпиляция ProgramCode/0.cl | 0 .../Использовать.pas | 0 .../Прекомпилировать.pas | 0 .../Крутящийся треугольник.pas | 0 .../Крутящийся треугольник.vert | 0 .../OpenGL и OpenCL/OpenGLABC/Common.pas | 0 .../OpenGLABC/Точки на поле/Empty.vert | 0 .../OpenGLABC/Точки на поле/Mandelbrot.frag | 0 .../OpenGLABC/Точки на поле/SinglePointToScreen.geom | 0 .../OpenGLABC/Точки на поле/Волны.frag | 0 .../Минимум расстояний.frag | 0 .../OpenGLABC/Точки на поле/Спирали.frag | 0 .../Точки на поле/Сумма расстояний.frag | 0 .../OpenGLABC/Точки на поле/Точки.pas | 0 ...Гайд по использованию OpenGL и OpenCL.html | 0 .../OpenGL и OpenCL/Справка OpenCLABC.html | 0 .../OpenGL и OpenCL/Справка OpenGLABC.html | 0 54 files changed, 0 insertions(+), 0 deletions(-) rename InstallerSamples/{ => StandardUnits}/NumLibABC/ApproxCheb1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Decomp1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/DiffEqu1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Economi1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_2.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_3.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_4.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_5.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/FMinN_6.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/FMin_1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Factors1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Fraction1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Matrix1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/NumLibABCTest.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/PolRT1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Polynom1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Polynom2.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Quanc8_1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/RootsIsolation1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/SLAU1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Spline1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Vector1.pas (100%) rename InstallerSamples/{ => StandardUnits}/NumLibABC/Zeroin1.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCL/MatrMlt.cl (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCL/MatrMlt.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCL/SimpleAddition.cl (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCL/SimpleAddition.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.cl (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.cl (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/Wait очереди/1.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/Wait очереди/2.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/Wait очереди/NamedQData.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.cl (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/0.cl (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Использовать.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Прекомпилировать.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.vert (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Common.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Точки на поле/Empty.vert (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Точки на поле/Mandelbrot.frag (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Точки на поле/SinglePointToScreen.geom (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Точки на поле/Волны.frag (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Точки на поле/Минимум расстояний.frag (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Точки на поле/Спирали.frag (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Точки на поле/Сумма расстояний.frag (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/OpenGLABC/Точки на поле/Точки.pas (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/Гайд по использованию OpenGL и OpenCL.html (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/Справка OpenCLABC.html (100%) rename InstallerSamples/{Experimental => StandardUnits}/OpenGL и OpenCL/Справка OpenGLABC.html (100%) diff --git a/InstallerSamples/NumLibABC/ApproxCheb1.pas b/InstallerSamples/StandardUnits/NumLibABC/ApproxCheb1.pas similarity index 100% rename from InstallerSamples/NumLibABC/ApproxCheb1.pas rename to InstallerSamples/StandardUnits/NumLibABC/ApproxCheb1.pas diff --git a/InstallerSamples/NumLibABC/Decomp1.pas b/InstallerSamples/StandardUnits/NumLibABC/Decomp1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Decomp1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Decomp1.pas diff --git a/InstallerSamples/NumLibABC/DiffEqu1.pas b/InstallerSamples/StandardUnits/NumLibABC/DiffEqu1.pas similarity index 100% rename from InstallerSamples/NumLibABC/DiffEqu1.pas rename to InstallerSamples/StandardUnits/NumLibABC/DiffEqu1.pas diff --git a/InstallerSamples/NumLibABC/Economi1.pas b/InstallerSamples/StandardUnits/NumLibABC/Economi1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Economi1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Economi1.pas diff --git a/InstallerSamples/NumLibABC/FMinN_1.pas b/InstallerSamples/StandardUnits/NumLibABC/FMinN_1.pas similarity index 100% rename from InstallerSamples/NumLibABC/FMinN_1.pas rename to InstallerSamples/StandardUnits/NumLibABC/FMinN_1.pas diff --git a/InstallerSamples/NumLibABC/FMinN_2.pas b/InstallerSamples/StandardUnits/NumLibABC/FMinN_2.pas similarity index 100% rename from InstallerSamples/NumLibABC/FMinN_2.pas rename to InstallerSamples/StandardUnits/NumLibABC/FMinN_2.pas diff --git a/InstallerSamples/NumLibABC/FMinN_3.pas b/InstallerSamples/StandardUnits/NumLibABC/FMinN_3.pas similarity index 100% rename from InstallerSamples/NumLibABC/FMinN_3.pas rename to InstallerSamples/StandardUnits/NumLibABC/FMinN_3.pas diff --git a/InstallerSamples/NumLibABC/FMinN_4.pas b/InstallerSamples/StandardUnits/NumLibABC/FMinN_4.pas similarity index 100% rename from InstallerSamples/NumLibABC/FMinN_4.pas rename to InstallerSamples/StandardUnits/NumLibABC/FMinN_4.pas diff --git a/InstallerSamples/NumLibABC/FMinN_5.pas b/InstallerSamples/StandardUnits/NumLibABC/FMinN_5.pas similarity index 100% rename from InstallerSamples/NumLibABC/FMinN_5.pas rename to InstallerSamples/StandardUnits/NumLibABC/FMinN_5.pas diff --git a/InstallerSamples/NumLibABC/FMinN_6.pas b/InstallerSamples/StandardUnits/NumLibABC/FMinN_6.pas similarity index 100% rename from InstallerSamples/NumLibABC/FMinN_6.pas rename to InstallerSamples/StandardUnits/NumLibABC/FMinN_6.pas diff --git a/InstallerSamples/NumLibABC/FMin_1.pas b/InstallerSamples/StandardUnits/NumLibABC/FMin_1.pas similarity index 100% rename from InstallerSamples/NumLibABC/FMin_1.pas rename to InstallerSamples/StandardUnits/NumLibABC/FMin_1.pas diff --git a/InstallerSamples/NumLibABC/Factors1.pas b/InstallerSamples/StandardUnits/NumLibABC/Factors1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Factors1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Factors1.pas diff --git a/InstallerSamples/NumLibABC/Fraction1.pas b/InstallerSamples/StandardUnits/NumLibABC/Fraction1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Fraction1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Fraction1.pas diff --git a/InstallerSamples/NumLibABC/Matrix1.pas b/InstallerSamples/StandardUnits/NumLibABC/Matrix1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Matrix1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Matrix1.pas diff --git a/InstallerSamples/NumLibABC/NumLibABCTest.pas b/InstallerSamples/StandardUnits/NumLibABC/NumLibABCTest.pas similarity index 100% rename from InstallerSamples/NumLibABC/NumLibABCTest.pas rename to InstallerSamples/StandardUnits/NumLibABC/NumLibABCTest.pas diff --git a/InstallerSamples/NumLibABC/PolRT1.pas b/InstallerSamples/StandardUnits/NumLibABC/PolRT1.pas similarity index 100% rename from InstallerSamples/NumLibABC/PolRT1.pas rename to InstallerSamples/StandardUnits/NumLibABC/PolRT1.pas diff --git a/InstallerSamples/NumLibABC/Polynom1.pas b/InstallerSamples/StandardUnits/NumLibABC/Polynom1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Polynom1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Polynom1.pas diff --git a/InstallerSamples/NumLibABC/Polynom2.pas b/InstallerSamples/StandardUnits/NumLibABC/Polynom2.pas similarity index 100% rename from InstallerSamples/NumLibABC/Polynom2.pas rename to InstallerSamples/StandardUnits/NumLibABC/Polynom2.pas diff --git a/InstallerSamples/NumLibABC/Quanc8_1.pas b/InstallerSamples/StandardUnits/NumLibABC/Quanc8_1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Quanc8_1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Quanc8_1.pas diff --git a/InstallerSamples/NumLibABC/RootsIsolation1.pas b/InstallerSamples/StandardUnits/NumLibABC/RootsIsolation1.pas similarity index 100% rename from InstallerSamples/NumLibABC/RootsIsolation1.pas rename to InstallerSamples/StandardUnits/NumLibABC/RootsIsolation1.pas diff --git a/InstallerSamples/NumLibABC/SLAU1.pas b/InstallerSamples/StandardUnits/NumLibABC/SLAU1.pas similarity index 100% rename from InstallerSamples/NumLibABC/SLAU1.pas rename to InstallerSamples/StandardUnits/NumLibABC/SLAU1.pas diff --git a/InstallerSamples/NumLibABC/Spline1.pas b/InstallerSamples/StandardUnits/NumLibABC/Spline1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Spline1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Spline1.pas diff --git a/InstallerSamples/NumLibABC/Vector1.pas b/InstallerSamples/StandardUnits/NumLibABC/Vector1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Vector1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Vector1.pas diff --git a/InstallerSamples/NumLibABC/Zeroin1.pas b/InstallerSamples/StandardUnits/NumLibABC/Zeroin1.pas similarity index 100% rename from InstallerSamples/NumLibABC/Zeroin1.pas rename to InstallerSamples/StandardUnits/NumLibABC/Zeroin1.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCL/MatrMlt.cl b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCL/MatrMlt.cl similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCL/MatrMlt.cl rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCL/MatrMlt.cl diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCL/MatrMlt.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCL/MatrMlt.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCL/MatrMlt.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCL/MatrMlt.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCL/SimpleAddition.cl b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCL/SimpleAddition.cl similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCL/SimpleAddition.cl rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCL/SimpleAddition.cl diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCL/SimpleAddition.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCL/SimpleAddition.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCL/SimpleAddition.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCL/SimpleAddition.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.cl b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.cl similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.cl rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.cl diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.cl b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.cl similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.cl rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.cl diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Wait очереди/1.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Wait очереди/1.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Wait очереди/1.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Wait очереди/1.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Wait очереди/2.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Wait очереди/2.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Wait очереди/2.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Wait очереди/2.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Wait очереди/NamedQData.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Wait очереди/NamedQData.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Wait очереди/NamedQData.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Wait очереди/NamedQData.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.cl b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.cl similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.cl rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.cl diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Игра жизнь/Игра жизнь.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/0.cl b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/0.cl similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/0.cl rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/0.cl diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Использовать.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Использовать.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Использовать.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Использовать.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Прекомпилировать.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Прекомпилировать.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Прекомпилировать.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenCLABC/Прекомпиляция ProgramCode/Прекомпилировать.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.vert b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.vert similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.vert rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/!Крутящийся треугольник/Крутящийся треугольник.vert diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Common.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Common.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Common.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Common.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Empty.vert b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Empty.vert similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Empty.vert rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Empty.vert diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Mandelbrot.frag b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Mandelbrot.frag similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Mandelbrot.frag rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Mandelbrot.frag diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/SinglePointToScreen.geom b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/SinglePointToScreen.geom similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/SinglePointToScreen.geom rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/SinglePointToScreen.geom diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Волны.frag b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Волны.frag similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Волны.frag rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Волны.frag diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Минимум расстояний.frag b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Минимум расстояний.frag similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Минимум расстояний.frag rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Минимум расстояний.frag diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Спирали.frag b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Спирали.frag similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Спирали.frag rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Спирали.frag diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Сумма расстояний.frag b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Сумма расстояний.frag similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Сумма расстояний.frag rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Сумма расстояний.frag diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Точки.pas b/InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Точки.pas similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/OpenGLABC/Точки на поле/Точки.pas rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/OpenGLABC/Точки на поле/Точки.pas diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/Гайд по использованию OpenGL и OpenCL.html b/InstallerSamples/StandardUnits/OpenGL и OpenCL/Гайд по использованию OpenGL и OpenCL.html similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/Гайд по использованию OpenGL и OpenCL.html rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/Гайд по использованию OpenGL и OpenCL.html diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/Справка OpenCLABC.html b/InstallerSamples/StandardUnits/OpenGL и OpenCL/Справка OpenCLABC.html similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/Справка OpenCLABC.html rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/Справка OpenCLABC.html diff --git a/InstallerSamples/Experimental/OpenGL и OpenCL/Справка OpenGLABC.html b/InstallerSamples/StandardUnits/OpenGL и OpenCL/Справка OpenGLABC.html similarity index 100% rename from InstallerSamples/Experimental/OpenGL и OpenCL/Справка OpenGLABC.html rename to InstallerSamples/StandardUnits/OpenGL и OpenCL/Справка OpenGLABC.html From 621eda63524402b5f5e25178306e4fc48920c2b9 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Mon, 18 Apr 2022 14:37:03 +0300 Subject: [PATCH 2/5] Add examples 3/8/2 --- InstallerSamples/WhatsNew/3_8_2/CastRealToInteger.pas | 4 ++++ InstallerSamples/WhatsNew/3_8_2/NotIn.pas | 5 +++++ InstallerSamples/WhatsNew/3_8_2/PartialSum.pas | 7 +++++++ InstallerSamples/WhatsNew/3_8_2/RandomDiap.pas | 5 +++++ 4 files changed, 21 insertions(+) create mode 100644 InstallerSamples/WhatsNew/3_8_2/CastRealToInteger.pas create mode 100644 InstallerSamples/WhatsNew/3_8_2/NotIn.pas create mode 100644 InstallerSamples/WhatsNew/3_8_2/PartialSum.pas create mode 100644 InstallerSamples/WhatsNew/3_8_2/RandomDiap.pas diff --git a/InstallerSamples/WhatsNew/3_8_2/CastRealToInteger.pas b/InstallerSamples/WhatsNew/3_8_2/CastRealToInteger.pas new file mode 100644 index 000000000..45d12cfa9 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_2/CastRealToInteger.pas @@ -0,0 +1,4 @@ +begin + var i: integer := integer(2.7); // Аналогично Trunc, но гораздо эффективнее + Print(i); +end. diff --git a/InstallerSamples/WhatsNew/3_8_2/NotIn.pas b/InstallerSamples/WhatsNew/3_8_2/NotIn.pas new file mode 100644 index 000000000..ed71eae66 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_2/NotIn.pas @@ -0,0 +1,5 @@ +begin + var a := Arr(1,3,5); + if 4 not in a then + Print('4 not in ' + a.JoinToString(',')); +end. diff --git a/InstallerSamples/WhatsNew/3_8_2/PartialSum.pas b/InstallerSamples/WhatsNew/3_8_2/PartialSum.pas new file mode 100644 index 000000000..efbd69bb9 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_2/PartialSum.pas @@ -0,0 +1,7 @@ +begin + var a := Arr(1..10); + a.Println; + var ps := a.PartialSum; + ps.Println; + ps.Incremental.Println; // Incremental - "почти" обратная к PartialSum +end. diff --git a/InstallerSamples/WhatsNew/3_8_2/RandomDiap.pas b/InstallerSamples/WhatsNew/3_8_2/RandomDiap.pas new file mode 100644 index 000000000..104959150 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_2/RandomDiap.pas @@ -0,0 +1,5 @@ +begin + Random(1..9).Println; + Random(1.0..2.0).Println; + Random('a'..'z').Println; +end. From 8682125251ae5e944fdb29c653837fc8d3dfe2a9 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Mon, 18 Apr 2022 15:23:21 +0300 Subject: [PATCH 3/5] Added & Changed examples --- .../SerializationGraph.pas | 0 .../{ => Serialization}/SerializationMany.pas | 0 .../{ => Serialization}/SerializationOne.pas | 0 .../StandardUnits/PlotWPF/PlotWPFExample1.pas | 28 ++++++++++ .../StandardUnits/Turtle/Turtle2.pas | 53 +++++++++++++++++++ .../StandardUnits/Turtle/Turtle3.pas | 53 +++++++++++++++++++ .../StandardUnits/Turtle/Turtle4.pas | 52 ++++++++++++++++++ .../WhatsNew/3_8_1/CacheAttribute.pas | 18 +++++++ InstallerSamples/WhatsNew/3_8_1/EachCount.pas | 4 ++ .../WhatsNew/3_8_1/FunInShortPrograms.pas | 5 ++ .../WhatsNew/3_8_1/LambdaBodyAssignment.pas | 7 +++ .../WhatsNew/3_8_1/PlotWPFExample1.pas | 28 ++++++++++ .../WhatsNew/3_8_1/SortKeyProjection.pas | 10 ++++ .../WhatsNew/3_8_1/UnpackValueTuple.pas | 5 ++ .../3_8_1/ZeroBasedStringsDirective.pas | 10 ++++ 15 files changed, 273 insertions(+) rename InstallerSamples/StandardUnits/PABCSystem/{ => Serialization}/SerializationGraph.pas (100%) rename InstallerSamples/StandardUnits/PABCSystem/{ => Serialization}/SerializationMany.pas (100%) rename InstallerSamples/StandardUnits/PABCSystem/{ => Serialization}/SerializationOne.pas (100%) create mode 100644 InstallerSamples/StandardUnits/PlotWPF/PlotWPFExample1.pas create mode 100644 InstallerSamples/StandardUnits/Turtle/Turtle2.pas create mode 100644 InstallerSamples/StandardUnits/Turtle/Turtle3.pas create mode 100644 InstallerSamples/StandardUnits/Turtle/Turtle4.pas create mode 100644 InstallerSamples/WhatsNew/3_8_1/CacheAttribute.pas create mode 100644 InstallerSamples/WhatsNew/3_8_1/EachCount.pas create mode 100644 InstallerSamples/WhatsNew/3_8_1/FunInShortPrograms.pas create mode 100644 InstallerSamples/WhatsNew/3_8_1/LambdaBodyAssignment.pas create mode 100644 InstallerSamples/WhatsNew/3_8_1/PlotWPFExample1.pas create mode 100644 InstallerSamples/WhatsNew/3_8_1/SortKeyProjection.pas create mode 100644 InstallerSamples/WhatsNew/3_8_1/UnpackValueTuple.pas create mode 100644 InstallerSamples/WhatsNew/3_8_1/ZeroBasedStringsDirective.pas diff --git a/InstallerSamples/StandardUnits/PABCSystem/SerializationGraph.pas b/InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationGraph.pas similarity index 100% rename from InstallerSamples/StandardUnits/PABCSystem/SerializationGraph.pas rename to InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationGraph.pas diff --git a/InstallerSamples/StandardUnits/PABCSystem/SerializationMany.pas b/InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationMany.pas similarity index 100% rename from InstallerSamples/StandardUnits/PABCSystem/SerializationMany.pas rename to InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationMany.pas diff --git a/InstallerSamples/StandardUnits/PABCSystem/SerializationOne.pas b/InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationOne.pas similarity index 100% rename from InstallerSamples/StandardUnits/PABCSystem/SerializationOne.pas rename to InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationOne.pas diff --git a/InstallerSamples/StandardUnits/PlotWPF/PlotWPFExample1.pas b/InstallerSamples/StandardUnits/PlotWPF/PlotWPFExample1.pas new file mode 100644 index 000000000..522e42d53 --- /dev/null +++ b/InstallerSamples/StandardUnits/PlotWPF/PlotWPFExample1.pas @@ -0,0 +1,28 @@ +// пример вывода графиков разных видов +uses PlotWPF; + +begin + var g := new GridWPF(2,2,10); + + var c := new LineGraphWPF(0,Pi,v -> v*Sin(v*10)); + c.PlotRect := Rect(0,0,10,10); + c.Graph[0].ChangeData(0,Pi,x->x*x); + c.Graph[0].Color := Colors.Green; + c.Graph[0].Thickness := 3; + c.AddLineGraph(0,Pi,v -> Sqrt(v)); + + var c2 := new LineGraphWPF(0,Pi,v -> Sin(v*10)-Cos(v*7)); + + var c4 := new MarkerGraphWPF(|1.0,2,3,4,5|,|5.0,15,7,12,2|); + c4.AddLineGraph(|1.0,2,3,4,5|,|5.0+1,15+1,7+1,12+1,2+1|); + c4.AddMarkerGraph(|1.0,2,3,4,5|,|5.0+1,15+1,7+1,12+1,2+1|,Colors.Bisque,MarkerType.Diamond,8); + c4.Graph[0].Thickness := 0.7; + c4.Graph[1].MarkerType := MarkerType.Box; + c4.Graph[2].Thickness := 0.7; + + var gg := new GridWPF(2,2,3); + new LineGraphWPF(0,2,x->Cos(10*x)); + new LineGraphWPF(0,2,x->Sqrt(x)); + new LineGraphWPF(0,2,x->Sin(10*x)); + new LineGraphWPF(0,2,x->exp(x)); +end. diff --git a/InstallerSamples/StandardUnits/Turtle/Turtle2.pas b/InstallerSamples/StandardUnits/Turtle/Turtle2.pas new file mode 100644 index 000000000..6d4419daa --- /dev/null +++ b/InstallerSamples/StandardUnits/Turtle/Turtle2.pas @@ -0,0 +1,53 @@ +uses Turtle,GraphWPF; + +var + Atom,FStr,XStr,YStr: string; + angle,len,x0,y0: real; + n: integer; + +procedure Init1; // Dragon +begin + (Atom,FStr,XStr,YStr) := ('fx','f','x+yf+','-fx-y'); + (angle,len,n,x0,y0) := (90,3,15,300,450); +end; + +procedure Init2; // Koch curve +begin + (Atom,FStr,XStr,YStr) := ('F', 'F-F++F-F', '', ''); + (angle,len,n,x0,y0) := (60,5,7,10,550); +end; + +procedure Init3; // Quadratic Koch Island +begin + (Atom,FStr,XStr,YStr) := ('F+F+F+F', 'F+F-FF+F+F-F', '', ''); + (angle,len,n,x0,y0) := (90,4,4,250,450); +end; + +procedure Init4; // Gosper hexagonal curve +begin + (Atom,FStr,XStr,YStr) := ('XF', 'F', 'X+YF++YF-FX--FXFX-YF+','-FX+YFYF++YF+FX--FX-Y'); + (angle,len,n,x0,y0) := (60,4,5,580,56); +end; + +procedure RunStr(s: string; n: integer); +begin + foreach var c in s do + case c of + '+': Turn(angle); + '-': Turn(-angle); + 'f','F': if n>0 then RunStr(FStr,n-1) else Forw(len); + 'x','X': if n>0 then RunStr(XStr,n-1); + 'y','Y': if n>0 then RunStr(YStr,n-1); + else Print('error') + end; +end; + +begin + Init2; + ToPoint(x0,y0); + SetWidth(0.5); + //SetColor(Colors.Red); + Down; + RunStr(Atom,n); + Up; +end. \ No newline at end of file diff --git a/InstallerSamples/StandardUnits/Turtle/Turtle3.pas b/InstallerSamples/StandardUnits/Turtle/Turtle3.pas new file mode 100644 index 000000000..47d280461 --- /dev/null +++ b/InstallerSamples/StandardUnits/Turtle/Turtle3.pas @@ -0,0 +1,53 @@ +uses Turtle,GraphWPF; + +var + Atom,FStr,XStr,YStr: string; + angle,len,x0,y0: real; + n: integer; + +procedure Init1; // Dragon +begin + (Atom,FStr,XStr,YStr) := ('fx','f','x+yf+','-fx-y'); + (angle,len,n,x0,y0) := (90,3,15,300,450); +end; + +procedure Init2; // Koch curve +begin + (Atom,FStr,XStr,YStr) := ('F', 'F-F++F-F', '', ''); + (angle,len,n,x0,y0) := (60,5,7,10,550); +end; + +procedure Init3; // Quadratic Koch Island +begin + (Atom,FStr,XStr,YStr) := ('F+F+F+F', 'F+F-FF+F+F-F', '', ''); + (angle,len,n,x0,y0) := (90,4,4,250,450); +end; + +procedure Init4; // Gosper hexagonal curve +begin + (Atom,FStr,XStr,YStr) := ('XF', 'F', 'X+YF++YF-FX--FXFX-YF+','-FX+YFYF++YF+FX--FX-Y'); + (angle,len,n,x0,y0) := (60,4,5,580,56); +end; + +procedure RunStr(s: string; n: integer); +begin + foreach var c in s do + case c of + '+': Turn(angle); + '-': Turn(-angle); + 'f','F': if n>0 then RunStr(FStr,n-1) else Forw(len); + 'x','X': if n>0 then RunStr(XStr,n-1); + 'y','Y': if n>0 then RunStr(YStr,n-1); + else Print('error') + end; +end; + +begin + Init3; + ToPoint(x0,y0); + SetWidth(0.5); + //SetColor(Colors.Red); + Down; + RunStr(Atom,n); + Up; +end. \ No newline at end of file diff --git a/InstallerSamples/StandardUnits/Turtle/Turtle4.pas b/InstallerSamples/StandardUnits/Turtle/Turtle4.pas new file mode 100644 index 000000000..7848082b6 --- /dev/null +++ b/InstallerSamples/StandardUnits/Turtle/Turtle4.pas @@ -0,0 +1,52 @@ +uses Turtle,GraphWPF; + +var + Atom,FStr,XStr,YStr: string; + angle,len,x0,y0: real; + n: integer; + +procedure Init1; // Dragon +begin + (Atom,FStr,XStr,YStr) := ('fx','f','x+yf+','-fx-y'); + (angle,len,n,x0,y0) := (90,3,15,300,450); +end; + +procedure Init2; // Koch curve +begin + (Atom,FStr,XStr,YStr) := ('F', 'F-F++F-F', '', ''); + (angle,len,n,x0,y0) := (60,5,7,10,550); +end; + +procedure Init3; // Quadratic Koch Island +begin + (Atom,FStr,XStr,YStr) := ('F+F+F+F', 'F+F-FF+F+F-F', '', ''); + (angle,len,n,x0,y0) := (90,4,4,250,450); +end; + +procedure Init4; // Gosper hexagonal curve +begin + (Atom,FStr,XStr,YStr) := ('XF', 'F', 'X+YF++YF-FX--FXFX-YF+','-FX+YFYF++YF+FX--FX-Y'); + (angle,len,n,x0,y0) := (60,4,5,580,56); +end; + +procedure RunStr(s: string; n: integer); +begin + foreach var c in s do + case c of + '+': Turn(angle); + '-': Turn(-angle); + 'f','F': if n>0 then RunStr(FStr,n-1) else Forw(len); + 'x','X': if n>0 then RunStr(XStr,n-1); + 'y','Y': if n>0 then RunStr(YStr,n-1); + else Print('error') + end; +end; + +begin + Init4; + ToPoint(x0,y0); + SetWidth(0.5); + Down; + RunStr(Atom,n); + Up; +end. \ No newline at end of file diff --git a/InstallerSamples/WhatsNew/3_8_1/CacheAttribute.pas b/InstallerSamples/WhatsNew/3_8_1/CacheAttribute.pas new file mode 100644 index 000000000..d1d27b39c --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_1/CacheAttribute.pas @@ -0,0 +1,18 @@ +// Результат функции кешируется в словаре +[Cache] +function fib(n: integer): integer := + if n in 1..2 then 1 + else fib(n-1) + fib(n-2); + +function fib1(n: integer): integer := + if n in 1..2 then 1 + else fib1(n-1) + fib1(n-2); + +begin + // Кеширование есть. Работает сотые доли секунды + Println(fib(42),MillisecondsDelta/1000); + + // Кеширования нет - быстродействие катастрофически падает + // из-за многочисленных повторяющихся вычислений + Println(fib1(42),MillisecondsDelta/1000); +end. diff --git a/InstallerSamples/WhatsNew/3_8_1/EachCount.pas b/InstallerSamples/WhatsNew/3_8_1/EachCount.pas new file mode 100644 index 000000000..4106cb345 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_1/EachCount.pas @@ -0,0 +1,4 @@ +## +var s := 'каракатица так и катится'; +// EachCount возвращает частотный словарь (элемент,количество) +s.EachCount.Println diff --git a/InstallerSamples/WhatsNew/3_8_1/FunInShortPrograms.pas b/InstallerSamples/WhatsNew/3_8_1/FunInShortPrograms.pas new file mode 100644 index 000000000..5bad75691 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_1/FunInShortPrograms.pas @@ -0,0 +1,5 @@ +## +// В коротких программах можно описывать подпрограммы +function Add(a,b: integer) := a + b; + +Print(Add(2,3)); diff --git a/InstallerSamples/WhatsNew/3_8_1/LambdaBodyAssignment.pas b/InstallerSamples/WhatsNew/3_8_1/LambdaBodyAssignment.pas new file mode 100644 index 000000000..1eaec92ad --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_1/LambdaBodyAssignment.pas @@ -0,0 +1,7 @@ +begin + var f: procedure(x: integer); + var sum := 0; + f := x -> begin sum += x end; // ранее + f := x -> (sum += x); // сейчас + // f := x -> sum += x; // ошибка компиляции +end. diff --git a/InstallerSamples/WhatsNew/3_8_1/PlotWPFExample1.pas b/InstallerSamples/WhatsNew/3_8_1/PlotWPFExample1.pas new file mode 100644 index 000000000..522e42d53 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_1/PlotWPFExample1.pas @@ -0,0 +1,28 @@ +// пример вывода графиков разных видов +uses PlotWPF; + +begin + var g := new GridWPF(2,2,10); + + var c := new LineGraphWPF(0,Pi,v -> v*Sin(v*10)); + c.PlotRect := Rect(0,0,10,10); + c.Graph[0].ChangeData(0,Pi,x->x*x); + c.Graph[0].Color := Colors.Green; + c.Graph[0].Thickness := 3; + c.AddLineGraph(0,Pi,v -> Sqrt(v)); + + var c2 := new LineGraphWPF(0,Pi,v -> Sin(v*10)-Cos(v*7)); + + var c4 := new MarkerGraphWPF(|1.0,2,3,4,5|,|5.0,15,7,12,2|); + c4.AddLineGraph(|1.0,2,3,4,5|,|5.0+1,15+1,7+1,12+1,2+1|); + c4.AddMarkerGraph(|1.0,2,3,4,5|,|5.0+1,15+1,7+1,12+1,2+1|,Colors.Bisque,MarkerType.Diamond,8); + c4.Graph[0].Thickness := 0.7; + c4.Graph[1].MarkerType := MarkerType.Box; + c4.Graph[2].Thickness := 0.7; + + var gg := new GridWPF(2,2,3); + new LineGraphWPF(0,2,x->Cos(10*x)); + new LineGraphWPF(0,2,x->Sqrt(x)); + new LineGraphWPF(0,2,x->Sin(10*x)); + new LineGraphWPF(0,2,x->exp(x)); +end. diff --git a/InstallerSamples/WhatsNew/3_8_1/SortKeyProjection.pas b/InstallerSamples/WhatsNew/3_8_1/SortKeyProjection.pas new file mode 100644 index 000000000..82173be91 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_1/SortKeyProjection.pas @@ -0,0 +1,10 @@ +begin + var pp := |('Сидоров',21),('Петров',23), ('Попов',20),('Иванов',22)|; + // Сортировка с проекцией на ключ + Sort(pp, p->p[0]); + Println('По фамилии'); + pp.Println; + Sort(pp, p->p[1]); + Println('По возрасту'); + pp.Println; +end. \ No newline at end of file diff --git a/InstallerSamples/WhatsNew/3_8_1/UnpackValueTuple.pas b/InstallerSamples/WhatsNew/3_8_1/UnpackValueTuple.pas new file mode 100644 index 000000000..66c45f212 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_1/UnpackValueTuple.pas @@ -0,0 +1,5 @@ +begin + // Можно распаковывать также тип System.ValueTuple + var (n,s) := System.ValueTuple.Create(2,'ab'); + Print(n,s); +end. \ No newline at end of file diff --git a/InstallerSamples/WhatsNew/3_8_1/ZeroBasedStringsDirective.pas b/InstallerSamples/WhatsNew/3_8_1/ZeroBasedStringsDirective.pas new file mode 100644 index 000000000..9f3f7dbaf --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_1/ZeroBasedStringsDirective.pas @@ -0,0 +1,10 @@ +{$zerobasedstrings} +begin + // Директива воздействует на доступ по индексу и на срезы + // Директива глобальна и распространяется на весь файл + var s := '0123456789'; + Println(s[0:5],s[5:8],s[8:]); // 01234 567 89 + // Директива НЕ воздействует на доступ по индексу с конца + Print(s[^1]); +end. + From 69e057c576d377f97d8fd6387e6547f4a60bcfe1 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Mon, 18 Apr 2022 21:34:18 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D1=8B=20?= =?UTF-8?q?=D0=B2=20Whats=20New?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 4 +- .../Serialization/SerializationGraph.pas | 2 +- .../StandardUnits/Timers/Timer1.pas | 18 ++----- .../StandardUnits/Timers/Timer2.pas | 52 ++++++------------- .../StandardUnits/Turtle/Turtle1.pas | 2 +- .../WhatsNew/3_7_2/AllDelimiters.pas | 7 +++ .../WhatsNew/3_7_2/BigIntSumProd.pas | 5 ++ InstallerSamples/WhatsNew/3_7_2/CountOf.pas | 5 ++ .../WhatsNew/3_7_2/IsIntegerReal.pas | 12 +++++ .../WhatsNew/3_7_2/PermCombCart.pas | 14 +++++ .../WhatsNew/3_7_2/ToWordsStrDelim.pas | 6 +++ InstallerSamples/WhatsNew/3_7_2/bi.pas | 9 ++++ .../WhatsNew/3_7_2/ext_foreach.pas | 10 ++++ .../WhatsNew/3_7_2/usesInShortPrograms.pas | 4 ++ .../WhatsNew/3_8_0/MultidimensionalSlices.pas | 14 +++++ .../WhatsNew/3_8_0/UnpackLambdaParams.pas | 9 ++++ Release/pabcversion.txt | 2 +- ReleaseGenerators/PascalABCNET_version.nsh | 2 +- 19 files changed, 122 insertions(+), 57 deletions(-) create mode 100644 InstallerSamples/WhatsNew/3_7_2/AllDelimiters.pas create mode 100644 InstallerSamples/WhatsNew/3_7_2/BigIntSumProd.pas create mode 100644 InstallerSamples/WhatsNew/3_7_2/CountOf.pas create mode 100644 InstallerSamples/WhatsNew/3_7_2/IsIntegerReal.pas create mode 100644 InstallerSamples/WhatsNew/3_7_2/PermCombCart.pas create mode 100644 InstallerSamples/WhatsNew/3_7_2/ToWordsStrDelim.pas create mode 100644 InstallerSamples/WhatsNew/3_7_2/bi.pas create mode 100644 InstallerSamples/WhatsNew/3_7_2/ext_foreach.pas create mode 100644 InstallerSamples/WhatsNew/3_7_2/usesInShortPrograms.pas create mode 100644 InstallerSamples/WhatsNew/3_8_0/MultidimensionalSlices.pas create mode 100644 InstallerSamples/WhatsNew/3_8_0/UnpackLambdaParams.pas diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index ae8365fee..46f31746e 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 = "3"; - public const string Revision = "3104"; + public const string Revision = "3105"; 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 d30613a18..cf50ebb58 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=3 -%REVISION%=3104 %MINOR%=8 +%REVISION%=3105 +%COREVERSION%=3 %MAJOR%=3 diff --git a/InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationGraph.pas b/InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationGraph.pas index 8ac010c36..a4c7782a5 100644 --- a/InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationGraph.pas +++ b/InstallerSamples/StandardUnits/PABCSystem/Serialization/SerializationGraph.pas @@ -12,7 +12,7 @@ type const fname = 'a.dat'; begin - var m := new Node(5,new Node(3,new Node(4,nil))); + var m := new Node(5,new Node(3,new Node(4,nil))); // Связный список Serialize(fname,m); // Сериализуем объект в файл var m1 := Deserialize(fname) as Node; // Десериализуем из файла Print(m1); diff --git a/InstallerSamples/StandardUnits/Timers/Timer1.pas b/InstallerSamples/StandardUnits/Timers/Timer1.pas index fadc43320..bcaf34290 100644 --- a/InstallerSamples/StandardUnits/Timers/Timer1.pas +++ b/InstallerSamples/StandardUnits/Timers/Timer1.pas @@ -1,20 +1,12 @@ -Uses Timers; +uses Timers; -var t1, t2: Timer; +procedure OnTimer1 := Write('!'); -procedure OnTimer1; -begin - Write('!'); -end; - -procedure OnTimer2; -begin - Write('?'); -end; +procedure OnTimer2 := Write('?'); begin - t1 := new Timer(200, OnTimer1); - t2 := new Timer(300, OnTimer2); + var t1 := new Timer(200, OnTimer1); + var t2 := new Timer(300, OnTimer2); t1.Start; t2.Start; Sleep(10000); diff --git a/InstallerSamples/StandardUnits/Timers/Timer2.pas b/InstallerSamples/StandardUnits/Timers/Timer2.pas index 073c3a6b9..0a85ccc2d 100644 --- a/InstallerSamples/StandardUnits/Timers/Timer2.pas +++ b/InstallerSamples/StandardUnits/Timers/Timer2.pas @@ -1,59 +1,37 @@ -// "Собачка". Иллюстрация использования таймера. -uses GraphABC, Timers; +// "Собачка". Иллюстрация использования таймера. +uses GraphWPF, Timers; var - t: Timer; - xx,yy,px,py: integer; + xx,yy,px,py: real; procedure Draw; begin FillCircle(xx,yy,11); end; -procedure Show; -begin - Brush.Color := clBlack; - Draw; -end; - -procedure Hide; -begin - Brush.Color := clWhite; - Draw; -end; - -procedure Move(x,y: integer); -begin - Hide; - xx := x; - yy := y; - show; -end; - -procedure Timer1; +procedure TimerProc; begin if (xx<>px) or (yy<>py) then begin var t := 1/10; var newx := round((1-t)*xx+t*px); var newy := round((1-t)*yy+t*py); - Move(newx,newy); + (xx,yy) := (newx,newy); end; end; -procedure MouseMove(x,y,mb: integer); begin - px := x; py := y; -end; + Window.Title := '"Собачка"'; + Brush.Color := Colors.Black; -begin - SetWindowCaption('"Собачка"'); - SetSmoothingOff; - OnMouseMove:=MouseMove; xx := 100; yy := 100; - px := xx; py := yy; - Show; - Timer1; - t := new Timer(20,Timer1); + + OnMouseMove := procedure(x,y,mb) -> (px,py) := (x,y); + + OnDrawFrame := dt -> begin + FillCircle(xx,yy,11); + end; + + var t := new Timer(20,TimerProc); t.Start; end. diff --git a/InstallerSamples/StandardUnits/Turtle/Turtle1.pas b/InstallerSamples/StandardUnits/Turtle/Turtle1.pas index 2d40e8812..242078259 100644 --- a/InstallerSamples/StandardUnits/Turtle/Turtle1.pas +++ b/InstallerSamples/StandardUnits/Turtle/Turtle1.pas @@ -43,7 +43,7 @@ begin end; begin - Init4; + Init1; ToPoint(x0,y0); SetWidth(0.5); //SetColor(Colors.Red); diff --git a/InstallerSamples/WhatsNew/3_7_2/AllDelimiters.pas b/InstallerSamples/WhatsNew/3_7_2/AllDelimiters.pas new file mode 100644 index 000000000..de7afaaf3 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/AllDelimiters.pas @@ -0,0 +1,7 @@ +// Разделитель AllDelimiters содержит все основные символы, +// которые могут служить разделителями между словами +begin + var s := '123@!45 @#$678\/|?90~;'; + s.ToWords(AllDelimiters).Println; +end. + diff --git a/InstallerSamples/WhatsNew/3_7_2/BigIntSumProd.pas b/InstallerSamples/WhatsNew/3_7_2/BigIntSumProd.pas new file mode 100644 index 000000000..7d7cd928b --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/BigIntSumProd.pas @@ -0,0 +1,5 @@ +// Методы .Sum, .Average и .Product для последовательности BigInteger +begin + var s := SeqGen(10,i->BigInteger(i)**i); + Print(s.Sum,s.Product,s.Average); +end. diff --git a/InstallerSamples/WhatsNew/3_7_2/CountOf.pas b/InstallerSamples/WhatsNew/3_7_2/CountOf.pas new file mode 100644 index 000000000..800718aea --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/CountOf.pas @@ -0,0 +1,5 @@ +// Стандартный метод последовательности CountOf +begin + var a := Arr(1,3,5,7,1,2,1,3,1,5); + a.CountOf(1).Print; +end. diff --git a/InstallerSamples/WhatsNew/3_7_2/IsIntegerReal.pas b/InstallerSamples/WhatsNew/3_7_2/IsIntegerReal.pas new file mode 100644 index 000000000..3b65a6939 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/IsIntegerReal.pas @@ -0,0 +1,12 @@ +// Методы строк .IsInteger и .IsReal +begin + var s := '123.4 3 5 6.6 a v 67'; + var (si,sr) := (0,0.0); + foreach var w in s.ToWords do + if w.IsInteger then + si += w.ToInteger + else if w.IsReal then + sr += w.Toreal; + Print(si,sr); +end. + diff --git a/InstallerSamples/WhatsNew/3_7_2/PermCombCart.pas b/InstallerSamples/WhatsNew/3_7_2/PermCombCart.pas new file mode 100644 index 000000000..9af09367d --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/PermCombCart.pas @@ -0,0 +1,14 @@ +// Все виды использования Permutations, Combinations, Cartesian +## +var a := Arr(1,3,5,7); +a.Permutations.Println; +a.Cartesian(2).Println; +a.Permutations(2).Println; +a.Combinations(2).Println; +Println; +var s := Seq(1,3,5,7); +s.Permutations.Println; +s.Cartesian(2).Println; +s.Permutations(2).Println; +s.Combinations(2).Println; + diff --git a/InstallerSamples/WhatsNew/3_7_2/ToWordsStrDelim.pas b/InstallerSamples/WhatsNew/3_7_2/ToWordsStrDelim.pas new file mode 100644 index 000000000..b716dd6aa --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/ToWordsStrDelim.pas @@ -0,0 +1,6 @@ +// Метод строк .ToWords со строкой, содержащей разделители +begin + var s := '123.4, 6.6; 67'; + s.ToWords(' ,;').PrintLines +end. + diff --git a/InstallerSamples/WhatsNew/3_7_2/bi.pas b/InstallerSamples/WhatsNew/3_7_2/bi.pas new file mode 100644 index 000000000..21aa5b3b8 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/bi.pas @@ -0,0 +1,9 @@ +// Литералы BigInteger +begin + Println(25bi ** 25 + 17bi ** 17); + + var p := 1bi; + for var i:=2 to 50 do + p *= i; + Println($'50! = {p}'); +end. diff --git a/InstallerSamples/WhatsNew/3_7_2/ext_foreach.pas b/InstallerSamples/WhatsNew/3_7_2/ext_foreach.pas new file mode 100644 index 000000000..52045104a --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/ext_foreach.pas @@ -0,0 +1,10 @@ +// Расширенный foreach с распаковкой значений в переменные +begin + var a := Arr((1,2),(3,4),(5,6)); + foreach var (x,y) in a do // Распаковка кортежей + Print(x,y); + Println; + var b := Arr(|1,2,3|,|4,5|,|6,7,8,9|); + foreach var (x,y) in b do // Распаковка последовательностей + Print(x,y); +end. diff --git a/InstallerSamples/WhatsNew/3_7_2/usesInShortPrograms.pas b/InstallerSamples/WhatsNew/3_7_2/usesInShortPrograms.pas new file mode 100644 index 000000000..524d07ac4 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_7_2/usesInShortPrograms.pas @@ -0,0 +1,4 @@ +// В коротких подпрограммах можно использовать подключение модулей +## +uses Graph3D; +Sphere(Origin,1); diff --git a/InstallerSamples/WhatsNew/3_8_0/MultidimensionalSlices.pas b/InstallerSamples/WhatsNew/3_8_0/MultidimensionalSlices.pas new file mode 100644 index 000000000..066822e93 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_0/MultidimensionalSlices.pas @@ -0,0 +1,14 @@ +// Срезы многомерных массивов +begin + var m := MatrByRow(||1,2,3,4|,|5,6,7,8|,|9,10,11,12||); + Println(m[:,:]); // [[1,2,3,4],[5,6,7,8],[9,10,11,12]] + Println(m[::1,::1]); // [[1,2,3,4],[5,6,7,8],[9,10,11,12]] + Println(m[1:3,1:4]); // [[6,7,8],[10,11,12]] + Println(m[::2,::3]); // [[1,4],[9,12]] + Println(m[::-2,::-1]); // [[12,11,10,9],[4,3,2,1]] + Println(m[^2::-1,^2::-1]); // [[7,6,5],[3,2,1]] + Println(m[:^1,:^1]); // [[1,2,3],[5,6,7]] + Println(m[1,:]); // Одномерный массив [5,6,7,8] + Println(m[^1,:]); // Одномерный массив [9,10,11,12] + Println(m[:,^1]); // Одномерный массив [4,8,12] +end. \ No newline at end of file diff --git a/InstallerSamples/WhatsNew/3_8_0/UnpackLambdaParams.pas b/InstallerSamples/WhatsNew/3_8_0/UnpackLambdaParams.pas new file mode 100644 index 000000000..c73061bf0 --- /dev/null +++ b/InstallerSamples/WhatsNew/3_8_0/UnpackLambdaParams.pas @@ -0,0 +1,9 @@ +// Распаковка составного параметра лямбда-выражения в переменные +begin + var s := Seq(('Умнова',16),('Иванов',23), + ('Попова',17),('Козлов',24)); + Println('Совершеннолетние:'); + s.Where(\(name,age) -> age >= 18).Println; + Println('Сортировка по фамилии:'); + s.OrderBy(\(name,age) -> name).Println; +end. diff --git a/Release/pabcversion.txt b/Release/pabcversion.txt index 38ae34dbe..a7f759924 100644 --- a/Release/pabcversion.txt +++ b/Release/pabcversion.txt @@ -1 +1 @@ -3.8.3.3104 +3.8.3.3105 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index bae161b96..a951c92d4 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.8.3.3104' +!define VERSION '3.8.3.3105' From 2d5d2208d974069049b324bc742b1fb0959574b3 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Sat, 23 Apr 2022 16:13:32 +0300 Subject: [PATCH 5/5] =?UTF-8?q?Window.Save=20=D0=B2=20=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BC=D0=B0=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8?= =?UTF-8?q?=D1=85=20=D0=BA=D0=BE=D0=BE=D1=80=D0=B4=D0=B8=D0=BD=D0=B0=D1=82?= =?UTF-8?q?=D0=B0=D1=85=20=D0=BF=D0=BE=D0=B4=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/Lib/GraphWPF.pas | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/Lib/GraphWPF.pas b/bin/Lib/GraphWPF.pas index 8353496d0..cdef99488 100644 --- a/bin/Lib/GraphWPF.pas +++ b/bin/Lib/GraphWPF.pas @@ -1864,10 +1864,15 @@ begin var dc := myvis.RenderOpen; var r := Rect(0,0,Window.Width,Window.Height); var mm := (canvas as MyVisualHost).RenderTransform.Value; + var m1 := mm; mm.Invert; r.Transform(mm); dc.DrawRectangle(Brushes.White,nil,r); - var rr := Rect(0,0,rtbmap.Width,rtbmap.Height); + + var rr: GRect; + if CurrentCoordType = MathematicalCoords then + rr := Rect(r.Left,r.Top,rtbmap.Width/m1.M11,rtbmap.Height/-m1.M22) + else rr := Rect(0,0,rtbmap.Width,rtbmap.Height); dc.DrawImage(rtbmap,rr); dc.Close; (canvas as MyVisualHost).children.Insert(0,myvis);