Подправлена первая страница справки

This commit is contained in:
Mikhalkovich Stanislav 2021-08-07 09:58:35 +03:00
parent 8fd47325f6
commit 85c13a6a21
13 changed files with 81 additions and 8 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "8";
public const string Build = "0";
public const string Revision = "2951";
public const string Revision = "2953";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=8
%REVISION%=2951
%REVISION%=2953
%COREVERSION%=0
%MAJOR%=3

View file

@ -88,8 +88,8 @@ Visual Basic.NET,
записи, можно пользоваться встроенными в стандартные типы методами и свойствами, память под объекты управляется
<a href="../LangGuide/MemoryManagement/index_memory.html">сборщиком мусора</a> и
не требует явного освобождения, множества <b>
<code>set</code></b> могут быть
созданы на основе произвольных типов, введен операторы <code><b>foreach</b></code>, переменные
<code>set</code></b> могут быть созданы на основе произвольных типов, введен
оператор <code><b>foreach</b></code>, переменные
циклов <b><code>for</code></b> и <b><code>foreach</code></b>
можно описывать непосредственно в заголовке цикла, имеются
обобщенные классы и подпрограммы (generics),

View file

@ -9,6 +9,8 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñëîâàðü, ñîïîñòàâëÿþùèé êëþ÷ó ãðóïïû ðåçóëüòàò ãðóïïîâîé îïåðàöèè</td></tr>
<tr><td><code><b>function</b> EachCount&lt;Key,Source&gt;(Self: <b>sequence </b> <b>of</b> System.Linq.IGrouping&lt;Key,Source&gt;): Dictionary&lt;Key,integer&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñëîâàðü, ñîïîñòàâëÿþùèé êëþ÷ó ãðóïïû êîëè÷åñòâî ýëåìåíòîâ ñ äàííûì êëþ÷îì</td></tr>
<tr><td><code><b>function</b> EachCount&lt;T&gt;(Self: <b>sequence </b> <b>of</b> T): Dictionary&lt;T,integer&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ÷àñòîòíûé ñëîâàðü îáúåêòîâ ïîñëåäîâàòåëüíîñòè</td></tr>
<tr><td><code><b>function</b> Get&lt;Key, Value&gt;(Self: IDictionary&lt;Key, Value&gt;; K: Key): Value;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò â ñëîâàðå çíà÷åíèå, ñâÿçàííîå ñ óêàçàííûì êëþ÷îì, à åñëè òàêîãî êëþ÷à íåò, òî çíà÷åíèå ïî óìîë÷àíèþ</td></tr>
<tr><td><code><b>procedure</b> operator-=&lt;Key,Value&gt;(Self: IDictionary&lt;Key,Value&gt;; k: Key);</code>

View file

@ -28,6 +28,7 @@
<param name="Keyword" value="Shuffle">
<param name="Keyword" value="Slice">
<param name="Keyword" value="Sort">
<param name="Keyword" value="SortDescending">
<param name="Keyword" value="Transform"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ îäíîìåðíûõ äèíàìè÷åñêèõ ìàññèâîâ</H1>
@ -133,6 +134,12 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(Self: <b>array</b> <b>of</b> T; cmp: (T,T) -&gt;integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ, èñïîëüçóÿ cmp â êà÷åñòâå ôóíêöèè ñðàâíåíèÿ ýëåìåíòîâ</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T,T1&gt;(Self: <b>array</b> <b>of</b> T; keySelector: T -&gt; T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ ïî êëþ÷ó</td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T&gt;(Self: <b>array</b> <b>of</b> T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ</td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T,T1&gt;(Self: <b>array</b> <b>of</b> T; keySelector: T -&gt; T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
<tr><td><code><b>procedure</b> Transform&lt;T&gt;(Self: <b>array</b> <b>of</b> T; f: T-&gt;T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ýëåìåíòû ìàññèâà ïî çàäàííîìó ïðàâèëó</td></tr>
<tr><td><code><b>procedure</b> Transform&lt;T&gt;(Self: <b>array</b> <b>of</b> T; f: (T,integer)-&gt;T);</code>

View file

@ -1,8 +1,10 @@
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="Between">
<param name="Keyword" value="Ceil">
<param name="Keyword" value="Clamp">
<param name="Keyword" value="ClampBottom">
<param name="Keyword" value="ClampTop">
<param name="Keyword" value="Floor">
<param name="Keyword" value="InRange">
<param name="Keyword" value="Round">
<param name="Keyword" value="RoundBigInteger">
@ -15,12 +17,16 @@
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ òèïà real</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Between(Self: real; a, b: real): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè</td></tr>
<tr><td><code><b>function</b> Ceil(Self: real): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàìåíüøåå öåëîå, áîëüøåå èëè ðàâíîå âåùåñòâåííîìó ÷èñëó</td></tr>
<tr><td><code><b>function</b> Clamp(Self: real; bottom,top: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ÷èñëî, îãðàíè÷åííîå äèàïàçîíîì îò bottom äî top âêëþ÷èòåëüíî</td></tr>
<tr><td><code><b>function</b> ClampBottom(Self: real; bottom: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ÷èñëî, îãðàíè÷åííîå âåëè÷èíîé bottom ñíèçó</td></tr>
<tr><td><code><b>function</b> ClampTop(Self: real; top: real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ÷èñëî, îãðàíè÷åííîå âåëè÷èíîé top ñâåðõó</td></tr>
<tr><td><code><b>function</b> Floor(Self: real): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò íàèáîëüøåå öåëîå, ìåíüøåå èëè ðàâíîå âåùåñòâåííîìó ÷èñëó</td></tr>
<tr><td><code><b>function</b> InRange(Self: real; a,b: real): boolean;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò True åñëè çíà÷åíèå íàõîäèòñÿ ìåæäó äâóìÿ äðóãèìè</td></tr>
<tr><td><code><b>function</b> Round(Self: real): integer;</code>

View file

@ -55,15 +55,23 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî êðèòåðèþ ñîðòèðîâêè, çàäàâàåìîìó ôóíêöèåé ñðàâíåíèÿ cmp</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(a: <b>array</b> <b>of</b> T; less: (T,T)-&gt;boolean);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî êðèòåðèþ ñîðòèðîâêè, çàäàâàåìîìó ôóíêöèåé ñðàâíåíèÿ less</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T,T1&gt;(<b>var</b> a: <b>array</b> <b>of</b> T; keySelector: T-&gt;T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî êëþ÷ó</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(l: List&lt;T&gt;);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(l: List&lt;T&gt;; cmp: (T,T)-&gt;integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî êðèòåðèþ ñîðòèðîâêè, çàäàâàåìîìó ôóíêöèåé ñðàâíåíèÿ cmp</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(l: List&lt;T&gt;; less: (T,T)-&gt;boolean);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî êðèòåðèþ ñîðòèðîâêè, çàäàâàåìîìó ôóíêöèåé ñðàâíåíèÿ less</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T,T1&gt;(<b>var</b> l: List&lt;T&gt;; keySelector: T-&gt;T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ ïî êëþ÷ó</td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T&gt;(a: <b>array</b> <b>of</b> T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî óáûâàíèþ</td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T,T1&gt;(<b>var</b> a: <b>array</b> <b>of</b> T; keySelector: T-&gt;T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T&gt;(l: List&lt;T&gt;);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî óáûâàíèþ</td></tr>
<tr><td><code><b>procedure</b> SortDescending&lt;T,T1&gt;(<b>var</b> l: List&lt;T&gt;; keySelector: T-&gt;T1);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ñïèñîê ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
</table>
</body></HTML>

View file

@ -286,7 +286,6 @@
<tag value="ShortFuncDefinition">
<name value="proc_func_decl_noclass" />
<name value="inclass_proc_func_decl_noclass" />
<name value="proc_func_constr_destr_decl_with_attr" />
</tag>
<tag value="new_expr">
<name value="new_expr" />
@ -306,7 +305,6 @@
<tag value="Проблема с атрибутами">
<name value="decl_sect" />
<name value="type_decl_sect" />
<name value="proc_func_constr_destr_decl_with_attr" />
<name value="type_decl" />
<name value="attribute_declarations" />
<name value="simple_type_decl" />

View file

@ -340,6 +340,9 @@ script=

View file

@ -1 +1 @@
3.8.0.2951
3.8.0.2953

View file

@ -1 +1 @@
!define VERSION '3.8.0.2951'
!define VERSION '3.8.0.2953'

View file

@ -2123,16 +2123,24 @@ procedure Sort<T>(a: array of T);
procedure Sort<T>(a: array of T; cmp: (T,T)->integer);
/// Сортирует динамический массив по критерию сортировки, задаваемому функцией сравнения less
procedure Sort<T>(a: array of T; less: (T,T)->boolean);
/// Сортирует динамический массив по ключу
procedure Sort<T,T1>(var a: array of T; keySelector: T->T1);
/// Сортирует список по возрастанию
procedure Sort<T>(l: List<T>);
/// Сортирует список по критерию сортировки, задаваемому функцией сравнения cmp
procedure Sort<T>(l: List<T>; cmp: (T,T)->integer);
/// Сортирует список по критерию сортировки, задаваемому функцией сравнения less
procedure Sort<T>(l: List<T>; less: (T,T)->boolean);
/// Сортирует список по возрастанию по ключу
procedure Sort<T,T1>(var l: List<T>; keySelector: T->T1);
/// Сортирует динамический массив по убыванию
procedure SortDescending<T>(a: array of T);
/// Сортирует динамический массив по убыванию по ключу
procedure SortDescending<T,T1>(var a: array of T; keySelector: T->T1);
/// Сортирует список по убыванию
procedure SortDescending<T>(l: List<T>);
/// Сортирует список по убыванию по ключу
procedure SortDescending<T,T1>(var l: List<T>; keySelector: T->T1);
/// Изменяет порядок элементов в динамическом массиве на противоположный
procedure Reverse<T>(a: array of T);
/// Изменяет порядок элементов на противоположный в диапазоне динамического массива длины count, начиная с индекса index
@ -8585,11 +8593,21 @@ begin
System.Array.Sort(a, (x, y)-> less(x, y) ? -1 : (less(y, x) ? 1 : 0));
end;
procedure Sort<T,T1>(var a: array of T; keySelector: T->T1);
begin
a := a.OrderBy(x->keySelector(x)).ToArray;
end;
procedure Sort<T>(l: List<T>);
begin
l.Sort();
end;
procedure Sort<T,T1>(var l: List<T>; keySelector: T->T1);
begin
l := l.OrderBy(x->keySelector(x)).ToList;
end;
procedure Sort<T>(l: List<T>; cmp: (T,T)->integer);
begin
l.Sort(cmp);
@ -8606,12 +8624,22 @@ begin
Reverse(a);
end;
procedure SortDescending<T,T1>(var a: array of T; keySelector: T->T1);
begin
a := a.OrderByDescending(x->keySelector(x)).ToArray;
end;
procedure SortDescending<T>(l: List<T>);
begin
Sort(l);
Reverse(l);
end;
procedure SortDescending<T,T1>(var l: List<T>; keySelector: T->T1);
begin
l := l.OrderByDescending(x->keySelector(x)).ToList;
end;
procedure Reverse<T>(a: array of T);
begin
System.Array.Reverse(a);
@ -11797,12 +11825,33 @@ begin
System.Array.Sort(Self);
end;
/// Сортирует массив по убыванию
procedure SortDescending<T>(Self: array of T); extensionmethod;
begin
System.Array.Sort(Self);
Reverse(Self);
end;
/// Сортирует массив по возрастанию, используя cmp в качестве функции сравнения элементов
procedure Sort<T>(Self: array of T; cmp: (T,T) ->integer); extensionmethod;
begin
System.Array.Sort(Self, cmp);
end;
/// Сортирует массив по возрастанию по ключу
procedure Sort<T,T1>(Self: array of T; keySelector: T -> T1); extensionmethod;
begin
var a := Self.OrderBy(keySelector).ToArray;
System.Array.Copy(a,Self,a.Length);
end;
/// Сортирует массив по убыванию по ключу
procedure SortDescending<T,T1>(Self: array of T; keySelector: T -> T1); extensionmethod;
begin
var a := Self.OrderByDescending(keySelector).ToArray;
System.Array.Copy(a,Self,a.Length);
end;
/// Возвращает индекс последнего элемента массива
function High(Self: System.Array); extensionmethod := High(Self);

Binary file not shown.