BBCMicrobit.pas обновление
This commit is contained in:
parent
357d756543
commit
59aeba2096
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
||||||
public const string Major = "3";
|
public const string Major = "3";
|
||||||
public const string Minor = "5";
|
public const string Minor = "5";
|
||||||
public const string Build = "0";
|
public const string Build = "0";
|
||||||
public const string Revision = "2234";
|
public const string Revision = "2237";
|
||||||
|
|
||||||
public const string MainVersion = Major + "." + Minor;
|
public const string MainVersion = Major + "." + Minor;
|
||||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
%COREVERSION%=0
|
|
||||||
%REVISION%=2234
|
|
||||||
%MINOR%=5
|
%MINOR%=5
|
||||||
|
%REVISION%=2237
|
||||||
|
%COREVERSION%=0
|
||||||
%MAJOR%=3
|
%MAJOR%=3
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||||
<param name="Keyword" value="AddChild">
|
<param name="Keyword" value="AddChild">
|
||||||
|
<param name="Keyword" value="AddChilds">
|
||||||
<param name="Keyword" value="Count">
|
<param name="Keyword" value="Count">
|
||||||
<param name="Keyword" value="Destroy">
|
<param name="Keyword" value="Destroy">
|
||||||
<param name="Keyword" value="Items">
|
<param name="Keyword" value="Items">
|
||||||
|
|
@ -15,6 +16,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,8 @@
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
<tr><tr><td><code><b>procedure</b> AddChild(obj: Object3D);</code>
|
||||||
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> AddChilds(<b>params</b> arr: <b>array</b> <b>of</b> Object3D);</code>
|
||||||
|
<br> Äîáàâèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
<tr><td><code><b>procedure</b> Destroy; override;</code>
|
||||||
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
<br> Óäàëèòü äî÷åðíèé ïîäîáúåêò</td></tr>
|
||||||
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
<tr><td><code><b>procedure</b> RemoveChild(obj: Object3D);</code>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||||
<param name="Keyword" value="OnDrawTime">
|
<param name="Keyword" value="OnDrawFrame">
|
||||||
|
<param name="Keyword" value="OnInit">
|
||||||
<param name="Keyword" value="OnKeyDown">
|
<param name="Keyword" value="OnKeyDown">
|
||||||
<param name="Keyword" value="OnKeyPress">
|
<param name="Keyword" value="OnKeyPress">
|
||||||
<param name="Keyword" value="OnKeyUp">
|
<param name="Keyword" value="OnKeyUp">
|
||||||
|
|
@ -8,8 +9,10 @@
|
||||||
<param name="Keyword" value="OnMouseUp"></object>
|
<param name="Keyword" value="OnMouseUp"></object>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
||||||
</HEAD><body><H1>Ñîáûòèÿ ìîäóëÿ Graph3D</H1>
|
</HEAD><body><H1>Ñîáûòèÿ ìîäóëÿ Graph3D</H1>
|
||||||
<table border=0 cellpadding=5><tr><td><code>OnDrawTime: <b>procedure</b>(dt: real);</code>
|
<table border=0 cellpadding=5><tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
|
||||||
<br> Ñîáûòèå ïåðåðèñîâêè ãðàôè÷åñêîãî 3D-îêíà</td></tr>
|
<br> Событие перерисовки графического 3D-окна.Инициализируется процедурой с вещественным параметром dt - временем, прошедшим с момента последнего обновления экрана</td></tr>
|
||||||
|
<tr><td><code>OnInit: <b>procedure</b>;</code>
|
||||||
|
<br> Событие инициализации объектов графического окна. Используется чтобы объекты не прорисовывались до конца инициализации</td></tr>
|
||||||
<tr><td><code>OnKeyDown: <b>procedure</b>(k: Key);</code>
|
<tr><td><code>OnKeyDown: <b>procedure</b>(k: Key);</code>
|
||||||
<br> Ñîáûòèå íàæàòèÿ êëàâèøè</td></tr>
|
<br> Ñîáûòèå íàæàòèÿ êëàâèøè</td></tr>
|
||||||
<tr><td><code>OnKeyPress: <b>procedure</b>(ch: char);</code>
|
<tr><td><code>OnKeyPress: <b>procedure</b>(ch: char);</code>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
||||||
</HEAD><body><H1>Короткие функции модуля Graph3D</H1>
|
</HEAD><body><H1>Короткие функции модуля Graph3D</H1>
|
||||||
<table border=0 cellpadding=5><tr><td><code>/// Возвращает цвет по красной, зеленой и синей составляющей (в диапазоне 0..255);</code>
|
<table border=0 cellpadding=5><tr><td><code>/// Возвращает цвет по красной, зеленой и синей составляющей (в диапазоне 0..255);</code>
|
||||||
<br> cedure Invoke(p: ()->());</td></tr>
|
<br> cedure Redraw(p: ()->());</td></tr>
|
||||||
<tr><td><code>/// Возвращает цвет по красной, зеленой и синей составляющей и параметру прозрачности (в диапазоне 0..255);</code>
|
<tr><td><code>/// Возвращает цвет по красной, зеленой и синей составляющей и параметру прозрачности (в диапазоне 0..255);</code>
|
||||||
<br> ction RGB(r, g, b: byte): Color;</td></tr>
|
<br> ction RGB(r, g, b: byte): Color;</td></tr>
|
||||||
<tr><td><code>/// Возвращает серый цвет с интенсивностью b;</code>
|
<tr><td><code>/// Возвращает серый цвет с интенсивностью b;</code>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||||
|
<param name="Keyword" value="OnDrawFrame">
|
||||||
<param name="Keyword" value="OnKeyDown">
|
<param name="Keyword" value="OnKeyDown">
|
||||||
<param name="Keyword" value="OnKeyPress">
|
<param name="Keyword" value="OnKeyPress">
|
||||||
<param name="Keyword" value="OnKeyUp">
|
<param name="Keyword" value="OnKeyUp">
|
||||||
|
|
@ -22,5 +23,7 @@
|
||||||
<br> Ñîáûòèå íàæàòèÿ ñèìâîëüíîé êëàâèøè</td></tr>
|
<br> Ñîáûòèå íàæàòèÿ ñèìâîëüíîé êëàâèøè</td></tr>
|
||||||
<tr><td><code>OnResize: <b>procedure</b>;</code>
|
<tr><td><code>OnResize: <b>procedure</b>;</code>
|
||||||
<br> Ñîáûòèå èçìåíåíèÿ ðàçìåðà ãðàôè÷åñêîãî îêíà</td></tr>
|
<br> Ñîáûòèå èçìåíåíèÿ ðàçìåðà ãðàôè÷åñêîãî îêíà</td></tr>
|
||||||
|
<tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
|
||||||
|
<br> Ñîáûòèå ïåðåðèñîâêè ãðàôè÷åñêîãî îêíà</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</body></HTML>
|
</body></HTML>
|
||||||
|
|
@ -1 +1 @@
|
||||||
3.5.0.2234
|
3.5.0.2237
|
||||||
|
|
|
||||||
|
|
@ -106,11 +106,12 @@ SectionEnd
|
||||||
LangString DESC_INTERNAL_ERROR_REPORT_Desc ${LANG_RUSSIAN} "Позволяет отправить разработчикам отчет о ошибках в работе компилятора"
|
LangString DESC_INTERNAL_ERROR_REPORT_Desc ${LANG_RUSSIAN} "Позволяет отправить разработчикам отчет о ошибках в работе компилятора"
|
||||||
LangString DESC_INTERNAL_ERROR_REPORT_Desc ${LANG_ENGLISH} " "
|
LangString DESC_INTERNAL_ERROR_REPORT_Desc ${LANG_ENGLISH} " "
|
||||||
LangString DESC_PT4_Desc ${LANG_RUSSIAN} "Электронный задачник Programming Taskbook Copyright (c)М.Э.Абрамян, 1998-2017"
|
LangString DESC_PT4_Desc ${LANG_RUSSIAN} "Электронный задачник Programming Taskbook Copyright (c)М.Э.Абрамян, 1998-2017"
|
||||||
LangString DESC_PT4_Desc ${LANG_ENGLISH} "Programming Taskbook Copyright (c) M.E. Abramyan, 1998-2017"
|
LangString DESC_PT4_Desc ${LANG_ENGLISH} "Programming Taskbook Copyright (c) M.E. Abramyan, 1998-2019"
|
||||||
LangString DESC_Samples_Desc ${LANG_RUSSIAN} "Файлы примеров"
|
LangString DESC_Samples_Desc ${LANG_RUSSIAN} "Файлы примеров"
|
||||||
LangString DESC_Samples_Desc ${LANG_ENGLISH} "Samples"
|
LangString DESC_Samples_Desc ${LANG_ENGLISH} "Samples"
|
||||||
LangString DESC_RusLoc_Desc ${LANG_RUSSIAN} "Поддержка русcкого языка"
|
LangString DESC_RusLoc_Desc ${LANG_RUSSIAN} "Поддержка русcкого языка"
|
||||||
LangString DESC_RusLoc_Desc ${LANG_ENGLISH} " "
|
LangString DESC_RusLoc_Desc ${LANG_ENGLISH} " "
|
||||||
|
LangString DESC_RusLoc_Desc ${LANG_UKR} "Поддержка украинского языка"
|
||||||
LangString DESC_EngLoc_Desc ${LANG_RUSSIAN} "Поддержка английского языка"
|
LangString DESC_EngLoc_Desc ${LANG_RUSSIAN} "Поддержка английского языка"
|
||||||
LangString DESC_EngLoc_Desc ${LANG_ENGLISH} " "
|
LangString DESC_EngLoc_Desc ${LANG_ENGLISH} " "
|
||||||
LangString DESC_Framework_Desc ${LANG_RUSSIAN} "Платформа необходима для работы компилятора и программ, работающих на этой платформе"
|
LangString DESC_Framework_Desc ${LANG_RUSSIAN} "Платформа необходима для работы компилятора и программ, работающих на этой платформе"
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
!define VERSION '3.5.0.2234'
|
!define VERSION '3.5.0.2237'
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@
|
||||||
Collections, Arrays, Core, FormsABC, MPI, ClientServer, Speech, Sounds, Countries,
|
Collections, Arrays, Core, FormsABC, MPI, ClientServer, Speech, Sounds, Countries,
|
||||||
ABCDatabases,BlockFileOfT,Controls,
|
ABCDatabases,BlockFileOfT,Controls,
|
||||||
OpenCL, OpenCLABC,
|
OpenCL, OpenCLABC,
|
||||||
OpenGL, OpenGLABC
|
OpenGL, OpenGLABC,
|
||||||
|
BBCMicroBit
|
||||||
;
|
;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,7 @@
|
||||||
File ..\bin\Lib\Countries.pcu
|
File ..\bin\Lib\Countries.pcu
|
||||||
File ..\bin\Lib\Graph3D.pcu
|
File ..\bin\Lib\Graph3D.pcu
|
||||||
File ..\bin\Lib\GraphABCHelper.pcu
|
File ..\bin\Lib\GraphABCHelper.pcu
|
||||||
|
File ..\bin\Lib\BBCMicroBit.pcu
|
||||||
File ..\bin\Lib\IniFile.pcu
|
File ..\bin\Lib\IniFile.pcu
|
||||||
File ..\bin\Lib\PABCSystem.pcu
|
File ..\bin\Lib\PABCSystem.pcu
|
||||||
File ..\bin\Lib\PABCExtensions.pcu
|
File ..\bin\Lib\PABCExtensions.pcu
|
||||||
|
|
@ -166,6 +167,7 @@
|
||||||
${AddFile} "Countries.pcu"
|
${AddFile} "Countries.pcu"
|
||||||
${AddFile} "Graph3D.pcu"
|
${AddFile} "Graph3D.pcu"
|
||||||
${AddFile} "GraphABCHelper.pcu"
|
${AddFile} "GraphABCHelper.pcu"
|
||||||
|
${AddFile} "BBCMicroBit.pcu"
|
||||||
${AddFile} "IniFile.pcu"
|
${AddFile} "IniFile.pcu"
|
||||||
${AddFile} "PABCSystem.pcu"
|
${AddFile} "PABCSystem.pcu"
|
||||||
${AddFile} "PABCExtensions.pcu"
|
${AddFile} "PABCExtensions.pcu"
|
||||||
|
|
@ -241,6 +243,7 @@
|
||||||
File ..\bin\Lib\Countries.pas
|
File ..\bin\Lib\Countries.pas
|
||||||
File ..\bin\Lib\Graph3D.pas
|
File ..\bin\Lib\Graph3D.pas
|
||||||
File ..\bin\Lib\GraphABCHelper.pas
|
File ..\bin\Lib\GraphABCHelper.pas
|
||||||
|
File ..\bin\Lib\BBCMicroBit.pas
|
||||||
File ..\bin\Lib\IniFile.pas
|
File ..\bin\Lib\IniFile.pas
|
||||||
File ..\bin\Lib\PABCSystem.pas
|
File ..\bin\Lib\PABCSystem.pas
|
||||||
File ..\bin\Lib\PABCExtensions.pas
|
File ..\bin\Lib\PABCExtensions.pas
|
||||||
|
|
@ -302,6 +305,7 @@
|
||||||
${AddFile} "Countries.pas"
|
${AddFile} "Countries.pas"
|
||||||
${AddFile} "Graph3D.pas"
|
${AddFile} "Graph3D.pas"
|
||||||
${AddFile} "GraphABCHelper.pas"
|
${AddFile} "GraphABCHelper.pas"
|
||||||
|
${AddFile} "BBCMicroBit.pas"
|
||||||
${AddFile} "IniFile.pas"
|
${AddFile} "IniFile.pas"
|
||||||
${AddFile} "PABCSystem.pas"
|
${AddFile} "PABCSystem.pas"
|
||||||
${AddFile} "PABCExtensions.pas"
|
${AddFile} "PABCExtensions.pas"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Section "Українська" UkrLoc
|
Section "Українська" UkrLoc
|
||||||
SectionIn 1 2 RO
|
SectionIn 1
|
||||||
SetOutPath "$INSTDIR\Lng\Ukr"
|
SetOutPath "$INSTDIR\Lng\Ukr"
|
||||||
File "..\bin\Lng\Ukr\.LanguageName"
|
File "..\bin\Lng\Ukr\.LanguageName"
|
||||||
File "..\bin\Lng\Ukr\*.dat"
|
File "..\bin\Lng\Ukr\*.dat"
|
||||||
|
|
|
||||||
190
bin/Lib/BBCMicrobit.pas
Normal file
190
bin/Lib/BBCMicrobit.pas
Normal file
|
|
@ -0,0 +1,190 @@
|
||||||
|
// BBC Micro:bit communication module
|
||||||
|
|
||||||
|
unit BBCMicrobit;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
/// Исключение для информирования об отсутствии подключенного устройства
|
||||||
|
type
|
||||||
|
NoUBSComPortsException = class(Exception) end;
|
||||||
|
NoBBCBoardFoundException = class(Exception) end;
|
||||||
|
|
||||||
|
/// Класс для взаимодействия с устройством BBC Micro:bit
|
||||||
|
type
|
||||||
|
Microbit = class(System.IDisposable)
|
||||||
|
|
||||||
|
protected
|
||||||
|
/// Порт для связи с устройством
|
||||||
|
Port: System.IO.Ports.SerialPort;
|
||||||
|
|
||||||
|
/// Обработчик данных от платы. Принимает только строки
|
||||||
|
procedure DataReceivedHandler(sender: object; e: System.IO.Ports.SerialDataReceivedEventArgs);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public
|
||||||
|
|
||||||
|
/// Копирование файла прошивки в BBC:Microbit
|
||||||
|
class procedure CopyFile(filename : string);
|
||||||
|
|
||||||
|
public
|
||||||
|
/// Обработчик события распознавания
|
||||||
|
OnReadString: procedure(Message: string);
|
||||||
|
|
||||||
|
/// Список USB COM-портов с идентификаторами Microbit
|
||||||
|
class function GetUsbPortNames: List<string>;
|
||||||
|
begin
|
||||||
|
// Вот такие параметры у каждой платы (по крайней мере сейчас)
|
||||||
|
var pattern := '^VID_0D28.PID_0204';
|
||||||
|
var _rx := new System.Text.RegularExpressions.Regex(pattern, RegexOptions.IgnoreCase);
|
||||||
|
Result := new List<string>;
|
||||||
|
var {Microsoft.Win32.RegistryKey} rk1 := Microsoft.Win32.Registry.LocalMachine;
|
||||||
|
var {Microsoft.Win32.RegistryKey} rk2 := rk1.OpenSubKey('SYSTEM\\CurrentControlSet\\Enum');
|
||||||
|
|
||||||
|
foreach s3: string in rk2.GetSubKeyNames do
|
||||||
|
begin
|
||||||
|
var rk3 := rk2.OpenSubKey(s3);
|
||||||
|
foreach s: string in rk3.GetSubKeyNames do
|
||||||
|
if _rx.Match(s).Success then
|
||||||
|
begin
|
||||||
|
var {RegistryKey} rk4 := rk3.OpenSubKey(s);
|
||||||
|
foreach s2: string in rk4.GetSubKeyNames do
|
||||||
|
begin
|
||||||
|
var {RegistryKey} rk5 := rk4.OpenSubKey(s2);
|
||||||
|
var {RegistryKey} rk6 := rk5.OpenSubKey('Device Parameters');
|
||||||
|
var {string} portName := string(rk6.GetValue('PortName'));
|
||||||
|
if not String.IsNullOrEmpty(portName) and System.IO.Ports.SerialPort.GetPortNames.Contains(portName) then
|
||||||
|
begin
|
||||||
|
Result.Add(string(rk6.GetValue('PortName')));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Конструктор объекта для взаимодействия с Microbit
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Handler">Процедура-обработчик, вызываемая для каждой принятой строки</param>
|
||||||
|
/// <param name="PortName">Имя COM-порта, можно не указывать</param>
|
||||||
|
constructor Create(Handler: procedure(s: string) := nil; PortName: string := '');
|
||||||
|
begin
|
||||||
|
OnReadString := Handler;
|
||||||
|
// Инициализируем виртуальный COM-порт, который связан с USB-устройством.
|
||||||
|
Port := new System.IO.Ports.SerialPort;
|
||||||
|
|
||||||
|
if PortName.Length > 0 then
|
||||||
|
// Порт указан явно при создании объекта класса, значит его и используем
|
||||||
|
Port.PortName := PortName
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
// Порт явно не указан, приходится искать самостоятельно
|
||||||
|
// Получаем список всех похожих COM-портов (по VID и PID)
|
||||||
|
var portNames := GetUsbPortNames;
|
||||||
|
// Если подходящих портов нет - выбрасываем исключение
|
||||||
|
if portNames.Count = 0 then
|
||||||
|
raise new NoUBSComPortsException('Не найдено устройство Microbit')
|
||||||
|
else
|
||||||
|
// Берём первый попавшийся. Если устройств несколько, то надо явно указывать
|
||||||
|
Port.PortName := portNames[0];
|
||||||
|
end;
|
||||||
|
|
||||||
|
// Эти параметры зашиты явно, рекомендованы руководством по Microbit
|
||||||
|
Port.BaudRate := 115200; //Указываем скорость.
|
||||||
|
Port.DataBits := 8;
|
||||||
|
Port.Parity := System.IO.Ports.Parity.None;
|
||||||
|
Port.StopBits := System.IO.Ports.StopBits.One;
|
||||||
|
Port.DataReceived += DataReceivedHandler;
|
||||||
|
Port.Open; //Открываем порт
|
||||||
|
end;
|
||||||
|
|
||||||
|
/// Отправка строки на устройство Microbit
|
||||||
|
procedure Send(message: string) := Port.WriteLine(message);
|
||||||
|
|
||||||
|
/// Деструктор - закрывает COM-порт
|
||||||
|
destructor Destroy;
|
||||||
|
begin
|
||||||
|
if Port <> nil then
|
||||||
|
begin
|
||||||
|
Port.Close;
|
||||||
|
Port := nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Dispose;
|
||||||
|
begin
|
||||||
|
Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Finalize; override;
|
||||||
|
begin
|
||||||
|
Destroy
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
/// Иногда строки приходят "склеенные" – нужно разбить по служебным символам
|
||||||
|
/// Эта функция возвращает первую группу символов из строки, ограниченную
|
||||||
|
/// служебными #10 или #13, сама подстрока из строки удаляется.
|
||||||
|
function ParseStr(var s : string) : string;
|
||||||
|
begin
|
||||||
|
var iStart := 1;
|
||||||
|
var len := s.Length;
|
||||||
|
|
||||||
|
while (iStart<=len) and ((s[iStart] = #10) or (s[iStart] = #13)) do
|
||||||
|
iStart += 1;
|
||||||
|
|
||||||
|
var iEnd := iStart + 1;
|
||||||
|
|
||||||
|
while (iEnd<=len) and (s[iEnd] <> #10) and (s[iEnd] <> #13) do
|
||||||
|
iEnd += 1;
|
||||||
|
|
||||||
|
// Копируем фрагмент, но с проверкой
|
||||||
|
if iEnd-iStart > 0 then
|
||||||
|
Result := copy(s, iStart, iEnd-iStart)
|
||||||
|
else
|
||||||
|
Result := '';
|
||||||
|
|
||||||
|
while (iEnd<len) and ((s[iEnd+1] = #10) or (s[iEnd+1] = #13)) do
|
||||||
|
iEnd += 1;
|
||||||
|
Delete(s,1,iEnd);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Microbit.DataReceivedHandler(sender: object; e: System.IO.Ports.SerialDataReceivedEventArgs);
|
||||||
|
begin
|
||||||
|
var sp := sender as System.IO.Ports.SerialPort;
|
||||||
|
|
||||||
|
// Читаем строку по ReadLine
|
||||||
|
var message := sp.ReadLine;
|
||||||
|
|
||||||
|
|
||||||
|
while message.Length > 0 do
|
||||||
|
begin
|
||||||
|
// Очередная подстрока
|
||||||
|
var block := ParseStr(message).TrimEnd(' ');
|
||||||
|
if (block.Length > 0) and (OnReadString <> nil) then
|
||||||
|
OnReadString(block);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure MicroBit.CopyFile(filename : string);
|
||||||
|
begin
|
||||||
|
var allDrives := System.IO.DriveInfo.GetDrives();
|
||||||
|
|
||||||
|
foreach d: System.IO.DriveInfo in allDrives do
|
||||||
|
begin
|
||||||
|
if d.IsReady then
|
||||||
|
if d.VolumeLabel = 'MICROBIT' then
|
||||||
|
begin
|
||||||
|
var dest : string := d.RootDirectory.ToString + '\\' + System.IO.Path.GetFileName(filename);
|
||||||
|
System.IO.File.Copy(filename, dest);
|
||||||
|
sleep(2000);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
raise new NoBBCBoardFoundException('Не найдено устройство Microbit');
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
@ -75,8 +75,8 @@ var
|
||||||
//>> Короткие функции модуля Graph3D # Graph3D short functions
|
//>> Короткие функции модуля Graph3D # Graph3D short functions
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
|
|
||||||
procedure Invoke(p: ()->());
|
/// Процедура ускорения вывода. Обновляет экран после всех изменений
|
||||||
|
procedure Redraw(p: ()->());
|
||||||
/// Возвращает цвет по красной, зеленой и синей составляющей (в диапазоне 0..255)
|
/// Возвращает цвет по красной, зеленой и синей составляющей (в диапазоне 0..255)
|
||||||
function RGB(r, g, b: byte): Color;
|
function RGB(r, g, b: byte): Color;
|
||||||
/// Возвращает цвет по красной, зеленой и синей составляющей и параметру прозрачности (в диапазоне 0..255)
|
/// Возвращает цвет по красной, зеленой и синей составляющей и параметру прозрачности (в диапазоне 0..255)
|
||||||
|
|
@ -182,6 +182,13 @@ type
|
||||||
property ShowCameraInfo: boolean read GetSCI write SetSCI;
|
property ShowCameraInfo: boolean read GetSCI write SetSCI;
|
||||||
/// Отображать ли ViewCube
|
/// Отображать ли ViewCube
|
||||||
property ShowViewCube: boolean read GetSVC write SetSVC;
|
property ShowViewCube: boolean read GetSVC write SetSVC;
|
||||||
|
/// Не отображать координатную систему, координатную сетку и ViewCube
|
||||||
|
procedure HideAll;
|
||||||
|
begin
|
||||||
|
ShowCoordinateSystem := False;
|
||||||
|
ShowGridLines := False;
|
||||||
|
ShowViewCube := False;
|
||||||
|
end;
|
||||||
/// Заголовок пространства отображения
|
/// Заголовок пространства отображения
|
||||||
property Title: string read GetT write SetT;
|
property Title: string read GetT write SetT;
|
||||||
/// Подзаголовок пространства отображения
|
/// Подзаголовок пространства отображения
|
||||||
|
|
@ -410,10 +417,18 @@ type
|
||||||
begin
|
begin
|
||||||
Result := CreateObject;
|
Result := CreateObject;
|
||||||
Result.CloneChildren(Self);
|
Result.CloneChildren(Self);
|
||||||
|
|
||||||
var ind := (model.Transform as Transform3DGroup).Children.IndexOf(rotatetransform);
|
var ind := (model.Transform as Transform3DGroup).Children.IndexOf(rotatetransform);
|
||||||
(Result.model.Transform as Transform3DGroup).Children[ind] := (model.Transform as Transform3DGroup).Children[ind].Clone;
|
(Result.model.Transform as Transform3DGroup).Children[ind] := (model.Transform as Transform3DGroup).Children[ind].Clone;
|
||||||
Result.rotatetransform := (Result.model.Transform as Transform3DGroup).Children[ind] as MatrixTransform3d;
|
Result.rotatetransform := (Result.model.Transform as Transform3DGroup).Children[ind] as MatrixTransform3d;
|
||||||
|
|
||||||
|
ind := transfgroup.Children.IndexOf(rotatetransform_absolute);
|
||||||
|
(Result.model.Transform as Transform3DGroup).Children[ind] := (model.Transform as Transform3DGroup).Children[ind].Clone;
|
||||||
|
Result.rotatetransform_absolute := (Result.model.Transform as Transform3DGroup).Children[ind] as MatrixTransform3d;
|
||||||
|
|
||||||
|
ind := transfgroup.Children.IndexOf(transltransform);
|
||||||
|
(Result.model.Transform as Transform3DGroup).Children[ind] := (model.Transform as Transform3DGroup).Children[ind].Clone;
|
||||||
|
Result.transltransform := (Result.model.Transform as Transform3DGroup).Children[ind] as TranslateTransform3D;
|
||||||
|
|
||||||
//(Result.model.Transform as Transform3DGroup).Children[1] := (model.Transform as Transform3DGroup).Children[1].Clone;
|
//(Result.model.Transform as Transform3DGroup).Children[1] := (model.Transform as Transform3DGroup).Children[1].Clone;
|
||||||
//(Result.model.Transform as Transform3DGroup).Children[2] := (model.Transform as Transform3DGroup).Children[2].Clone;
|
//(Result.model.Transform as Transform3DGroup).Children[2] := (model.Transform as Transform3DGroup).Children[2].Clone;
|
||||||
//(Result.model.Transform as Transform3DGroup).Children[3] := (model.Transform as Transform3DGroup).Children[3].Clone; //- почему-то это не нужно!!! с ним не работает!
|
//(Result.model.Transform as Transform3DGroup).Children[3] := (model.Transform as Transform3DGroup).Children[3].Clone; //- почему-то это не нужно!!! с ним не работает!
|
||||||
|
|
@ -475,6 +490,24 @@ type
|
||||||
/// Позиция 3D-объекта
|
/// Позиция 3D-объекта
|
||||||
property Position: Point3D read GetPos write MoveToProp;
|
property Position: Point3D read GetPos write MoveToProp;
|
||||||
|
|
||||||
|
/// Будущая позиция 3D-объекта по прошествии времени dt
|
||||||
|
function PositionAfterTime(dt: real): Point3D;
|
||||||
|
begin
|
||||||
|
var dx := Direction.X;
|
||||||
|
var dy := Direction.Y;
|
||||||
|
var dz := Direction.Z;
|
||||||
|
var len := Sqrt(dx*dx+dy*dy+dz*dz);
|
||||||
|
if len = 0 then
|
||||||
|
begin
|
||||||
|
Result := Position;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
var dvx := dx/len*Velocity;
|
||||||
|
var dvy := dy/len*Velocity;
|
||||||
|
var dvz := dz/len*Velocity;
|
||||||
|
Result := P3D(X + dvx*dt, Y + dvy*dt, Z + dvz*dt);
|
||||||
|
end;
|
||||||
|
|
||||||
/// Масштабирует 3D-объект в f раз
|
/// Масштабирует 3D-объект в f раз
|
||||||
function Scale(f: real): Object3D :=
|
function Scale(f: real): Object3D :=
|
||||||
Invoke&<Object3D>(()->begin
|
Invoke&<Object3D>(()->begin
|
||||||
|
|
@ -707,6 +740,8 @@ type
|
||||||
public
|
public
|
||||||
/// Добавить дочерний подобъект
|
/// Добавить дочерний подобъект
|
||||||
procedure AddChild(obj: Object3D) := Invoke(AddT, obj);
|
procedure AddChild(obj: Object3D) := Invoke(AddT, obj);
|
||||||
|
/// Добавить дочерний подобъект
|
||||||
|
procedure AddChilds(params arr: array of Object3D) := arr.ForEach(obj->AddChild(obj));
|
||||||
/// Удалить дочерний подобъект
|
/// Удалить дочерний подобъект
|
||||||
procedure RemoveChild(obj: Object3D) := Invoke(RemoveT, obj);
|
procedure RemoveChild(obj: Object3D) := Invoke(RemoveT, obj);
|
||||||
/// i-тый дочерний подобъект
|
/// i-тый дочерний подобъект
|
||||||
|
|
@ -2643,8 +2678,9 @@ var
|
||||||
OnKeyUp: procedure(k: Key);
|
OnKeyUp: procedure(k: Key);
|
||||||
/// Событие нажатия символьной клавиши
|
/// Событие нажатия символьной клавиши
|
||||||
OnKeyPress: procedure(ch: char);
|
OnKeyPress: procedure(ch: char);
|
||||||
/// Событие перерисовки графического 3D-окна
|
/// Событие перерисовки графического 3D-окна.
|
||||||
OnDrawTime: procedure(dt: real);
|
///Инициализируется процедурой с вещественным параметром dt - временем, прошедшим с момента последнего обновления экрана
|
||||||
|
OnDrawFrame: procedure(dt: real);
|
||||||
|
|
||||||
var
|
var
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
|
|
@ -2668,6 +2704,8 @@ var
|
||||||
OrtY: Vector3D := V3D(0, 1, 0);
|
OrtY: Vector3D := V3D(0, 1, 0);
|
||||||
/// Орт (единичный вектор) оси OZ
|
/// Орт (единичный вектор) оси OZ
|
||||||
OrtZ: Vector3D := V3D(0, 0, 1);
|
OrtZ: Vector3D := V3D(0, 0, 1);
|
||||||
|
/// Нулевой вектор
|
||||||
|
ZeroVector: Vector3D := V3D(0, 0, 0);
|
||||||
/// Точка начала координат
|
/// Точка начала координат
|
||||||
Origin: Point3D := P3D(0, 0, 0);
|
Origin: Point3D := P3D(0, 0, 0);
|
||||||
/// Плоскость OXY
|
/// Плоскость OXY
|
||||||
|
|
@ -2694,7 +2732,7 @@ procedure __FinalizeModule__;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
procedure Invoke(p: ()->()) := GraphWPFBase.Invoke(p);
|
procedure Redraw(p: ()->()) := GraphWPFBase.Invoke(p);
|
||||||
|
|
||||||
function RGB(r, g, b: byte) := Color.Fromrgb(r, g, b);
|
function RGB(r, g, b: byte) := Color.Fromrgb(r, g, b);
|
||||||
function ARGB(a, r, g, b: byte) := Color.FromArgb(a, r, g, b);
|
function ARGB(a, r, g, b: byte) := Color.FromArgb(a, r, g, b);
|
||||||
|
|
@ -3435,7 +3473,6 @@ function PointOnPlane(Plane: Plane3D; x, y: real): Point3D := Plane.PointOnPlane
|
||||||
function NearestPointOnLine(Line: Ray3D; x, y: real): Point3D := Line.NearestPointOnLine(x,y);
|
function NearestPointOnLine(Line: Ray3D; x, y: real): Point3D := Line.NearestPointOnLine(x,y);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Методы расширения для анимаций
|
// Методы расширения для анимаций
|
||||||
|
|
||||||
function Sec(Self: integer): real; extensionmethod := Self;
|
function Sec(Self: integer): real; extensionmethod := Self;
|
||||||
|
|
@ -3716,25 +3753,25 @@ var LastUpdatedTime := new System.TimeSpan(0);
|
||||||
|
|
||||||
procedure RenderFrame(o: Object; e: System.EventArgs);
|
procedure RenderFrame(o: Object; e: System.EventArgs);
|
||||||
begin
|
begin
|
||||||
if OnDrawTime<>nil then
|
if OnDrawFrame<>nil then
|
||||||
begin
|
begin
|
||||||
var e1 := RenderingEventArgs(e).RenderingTime;
|
var e1 := RenderingEventArgs(e).RenderingTime;
|
||||||
var dt := e1 - LastUpdatedTime;
|
var dt := e1 - LastUpdatedTime;
|
||||||
if LastUpdatedTime.TotalMilliseconds<>0 then
|
if LastUpdatedTime.TotalMilliseconds<>0 then
|
||||||
if OnDrawTime<>nil then
|
if OnDrawFrame<>nil then
|
||||||
OnDrawTime(dt.Milliseconds/1000);
|
OnDrawFrame(dt.Milliseconds/1000);
|
||||||
LastUpdatedTime := e1;
|
LastUpdatedTime := e1;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure BeginFrameBasedAnimationTime(Draw: procedure(dt: real));
|
procedure BeginFrameBasedAnimationTime(Draw: procedure(dt: real));
|
||||||
begin
|
begin
|
||||||
OnDrawTime := Draw;
|
OnDrawFrame := Draw;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure EndFrameBasedAnimation;
|
procedure EndFrameBasedAnimation;
|
||||||
begin
|
begin
|
||||||
OnDrawTime := nil;
|
OnDrawFrame := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -3788,6 +3825,8 @@ type
|
||||||
/// --- SystemKeyEvents
|
/// --- SystemKeyEvents
|
||||||
procedure SystemOnKeyDown(sender: Object; e: System.Windows.Input.KeyEventArgs);
|
procedure SystemOnKeyDown(sender: Object; e: System.Windows.Input.KeyEventArgs);
|
||||||
begin
|
begin
|
||||||
|
if (e.Key = Key.F4) and (e.KeyboardDevice.Modifiers = ModifierKeys.Control) then
|
||||||
|
Close;
|
||||||
if Graph3D.OnKeyDown <> nil then
|
if Graph3D.OnKeyDown <> nil then
|
||||||
Graph3D.OnKeyDown(e.Key);
|
Graph3D.OnKeyDown(e.Key);
|
||||||
e.Handled := True;
|
e.Handled := True;
|
||||||
|
|
@ -3876,8 +3915,7 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
MainWindow := new Graph3DWindow;
|
MainWindow := new Graph3DWindow;
|
||||||
//MainWindow.MainPanel;
|
|
||||||
|
|
||||||
mre.Set();
|
mre.Set();
|
||||||
|
|
||||||
app.Run(MainWindow);
|
app.Run(MainWindow);
|
||||||
|
|
|
||||||
|
|
@ -345,7 +345,7 @@ function Rect(x,y,w,h: real): GRect;
|
||||||
function ColorBrush(c: Color): GBrush;
|
function ColorBrush(c: Color): GBrush;
|
||||||
/// Возвращает однотонное цветное перо, заданное цветом
|
/// Возвращает однотонное цветное перо, заданное цветом
|
||||||
function ColorPen(c: Color): GPen;
|
function ColorPen(c: Color): GPen;
|
||||||
/// Процедура ускорения вывода нескольких графических команд
|
/// Процедура ускорения вывода. Обновляет экран после всех изменений
|
||||||
procedure Redraw(d: ()->());
|
procedure Redraw(d: ()->());
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -483,6 +483,9 @@ var OnKeyUp: procedure(k: Key);
|
||||||
var OnKeyPress: procedure(ch: char);
|
var OnKeyPress: procedure(ch: char);
|
||||||
/// Событие изменения размера графического окна
|
/// Событие изменения размера графического окна
|
||||||
var OnResize: procedure;
|
var OnResize: procedure;
|
||||||
|
/// Событие перерисовки графического окна.
|
||||||
|
///Инициализируется процедурой с вещественным параметром dt - временем, прошедшим с момента последнего обновления экрана
|
||||||
|
var OnDrawFrame: procedure(dt: real) := nil;
|
||||||
|
|
||||||
//{{{--doc: Конец секции 3 }}}
|
//{{{--doc: Конец секции 3 }}}
|
||||||
|
|
||||||
|
|
@ -1566,7 +1569,6 @@ procedure SystemOnResize(sender: Object; e: SizeChangedEventArgs) :=
|
||||||
|
|
||||||
var OnDraw: procedure := nil;
|
var OnDraw: procedure := nil;
|
||||||
var OnDraw1: procedure(frame: integer) := nil;
|
var OnDraw1: procedure(frame: integer) := nil;
|
||||||
var OnDrawTime: procedure(dt: real) := nil;
|
|
||||||
|
|
||||||
var FrameRate := 61; // кадров в секунду. Можно меньше!
|
var FrameRate := 61; // кадров в секунду. Можно меньше!
|
||||||
var LastUpdatedTime := new System.TimeSpan(integer.MinValue);
|
var LastUpdatedTime := new System.TimeSpan(integer.MinValue);
|
||||||
|
|
@ -1575,12 +1577,12 @@ var FrameNum := 0;
|
||||||
|
|
||||||
procedure RenderFrame(o: Object; e: System.EventArgs);
|
procedure RenderFrame(o: Object; e: System.EventArgs);
|
||||||
begin
|
begin
|
||||||
if (OnDraw<>nil) or (OnDraw1<>nil) or (OnDrawTime<>nil) then
|
if (OnDraw<>nil) or (OnDraw1<>nil) or (OnDrawFrame<>nil) then
|
||||||
begin
|
begin
|
||||||
var e1 := RenderingEventArgs(e).RenderingTime;
|
var e1 := RenderingEventArgs(e).RenderingTime;
|
||||||
var dt := e1 - LastUpdatedTime;
|
var dt := e1 - LastUpdatedTime;
|
||||||
var delta := 1000/Framerate; // через какое время обновлять
|
var delta := 1000/Framerate; // через какое время обновлять
|
||||||
if OnDrawTime<>nil then
|
if OnDrawFrame<>nil then
|
||||||
delta := 0; // перерисовывать когда придёт время
|
delta := 0; // перерисовывать когда придёт время
|
||||||
if dt.TotalMilliseconds < delta then
|
if dt.TotalMilliseconds < delta then
|
||||||
exit
|
exit
|
||||||
|
|
@ -1591,8 +1593,8 @@ begin
|
||||||
OnDraw()
|
OnDraw()
|
||||||
else if OnDraw1<>nil then
|
else if OnDraw1<>nil then
|
||||||
OnDraw1(FrameNum)
|
OnDraw1(FrameNum)
|
||||||
else if OnDrawTime<>nil then
|
else if OnDrawFrame<>nil then
|
||||||
OnDrawTime(dt.Milliseconds/1000);
|
OnDrawFrame(dt.Milliseconds/1000);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -1614,7 +1616,7 @@ end;
|
||||||
|
|
||||||
procedure BeginFrameBasedAnimationTime(Draw: procedure(dt: real));
|
procedure BeginFrameBasedAnimationTime(Draw: procedure(dt: real));
|
||||||
begin
|
begin
|
||||||
OnDrawTime := Draw;
|
OnDrawFrame := Draw;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure EndFrameBasedAnimation;
|
procedure EndFrameBasedAnimation;
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ type
|
||||||
g.LastChildFill := True;
|
g.LastChildFill := True;
|
||||||
Result := g;
|
Result := g;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure InitMainGraphControl; virtual;
|
procedure InitMainGraphControl; virtual;
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ function Rect(x,y,w,h: real): GRect;
|
||||||
function ColorBrush(c: Color): SolidColorBrush;
|
function ColorBrush(c: Color): SolidColorBrush;
|
||||||
/// Возвращает случайную точку графического окна. Необязательный параметр z задаёт отступ от края
|
/// Возвращает случайную точку графического окна. Необязательный параметр z задаёт отступ от края
|
||||||
function RandomWindowPoint(z: real := 0): GPoint;
|
function RandomWindowPoint(z: real := 0): GPoint;
|
||||||
/// Процедура ускорения вывода нескольких графических команд
|
/// Процедура ускорения вывода. Обновляет экран после всех изменений
|
||||||
procedure Redraw(p: ()->());
|
procedure Redraw(p: ()->());
|
||||||
//{{{--doc: Конец секции 1 }}}
|
//{{{--doc: Конец секции 1 }}}
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Reference in a new issue