parent
f9bfe8f78f
commit
0613eaf452
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "4";
|
||||
public const string Build = "0";
|
||||
public const string Revision = "1727";
|
||||
public const string Revision = "1728";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=0
|
||||
%REVISION%=1727
|
||||
%MINOR%=4
|
||||
%REVISION%=1728
|
||||
%COREVERSION%=0
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -5,7 +5,13 @@
|
|||
</object>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||||
<title></title>
|
||||
<link rel="StyleSheet" href="../../default.css"></head>
|
||||
<link rel="StyleSheet" href="../../default.css">
|
||||
<style type="text/css">
|
||||
.auto-style1 {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body><H1>Àðèôìåòè÷åñêèå îïåðàöèè</H1>
|
||||
<p>Ê <i>àðèôìåòè÷åñêèì</i> îòíîñÿòñÿ áèíàðíûå îïåðàöèè
|
||||
<code>+</code>, <code>-</code>,
|
||||
|
|
@ -31,6 +37,7 @@
|
|||
<td><b><code>BigInteger</code></b></td>
|
||||
<td><b><code>single</code></b></td>
|
||||
<td><b><code>real</code></b></td>
|
||||
<td><b><code>decimal</code></b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>shortint</code></b></td>
|
||||
|
|
@ -45,6 +52,7 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>byte</code></b></td>
|
||||
|
|
@ -59,6 +67,7 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>smallint</code></b></td>
|
||||
|
|
@ -73,6 +82,7 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>word</code></b></td>
|
||||
|
|
@ -87,6 +97,7 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>integer</code></b></td>
|
||||
|
|
@ -101,6 +112,7 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>longword</code></b></td>
|
||||
|
|
@ -115,6 +127,7 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>int64</code></b></td>
|
||||
|
|
@ -129,6 +142,7 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>uint64</code></b></td>
|
||||
|
|
@ -143,6 +157,7 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>BigInteger</code></b></td>
|
||||
|
|
@ -155,8 +170,12 @@
|
|||
<td><code>BigInteger</code></td>
|
||||
<td><code>BigInteger</code></td>
|
||||
<td><code>BigInteger</code></td>
|
||||
<td>-</td>
|
||||
<td>-</td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>single</code></b></td>
|
||||
|
|
@ -168,9 +187,12 @@
|
|||
<td><code>single</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td>-</td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
<td><code>single</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>real</code></b></td>
|
||||
|
|
@ -182,9 +204,30 @@
|
|||
<td><code>real</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td>-</td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td><code>real</code></td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><code>decimal</code></b></td>
|
||||
<td><code>decimal</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
<td class="auto-style1">
|
||||
<code>-</code></td>
|
||||
<td>
|
||||
<code>-</code></td>
|
||||
<td><code>decimal</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>Òî åñòü, åñëè îïåðàíäû - öåëûå, òî ðåçóëüòàòîì ÿâëÿåòñÿ ñàìûé êîðîòêèé öåëûé
|
||||
|
|
|
|||
|
|
@ -41,7 +41,8 @@ PascalABC.NET
|
|||
<ul>
|
||||
<li><a href="oppriority.html">Ňŕáëčöŕ ďđčîđčňĺňîâ îďĺđŕöčé</a></li>
|
||||
</ul>
|
||||
<p>Ряд операций для определяемых пользователем типов можно перегружать. </p>
|
||||
<p>Ряд операций для определяемых пользователем типов можно перегружать. Можно
|
||||
также перегружать операции для .NET-типов если они не были перегружены.</p>
|
||||
<ul>
|
||||
<li><a href="../Classes/operoverloading.html">Ďĺđĺăđóçęŕ îďĺđŕöčé</a></li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,9 @@
|
|||
<param name="Keyword" value="ToIntegers">
|
||||
<param name="Keyword" value="ToReal">
|
||||
<param name="Keyword" value="ToReals">
|
||||
<param name="Keyword" value="ToWords"></object>
|
||||
<param name="Keyword" value="ToWords">
|
||||
<param name="Keyword" value="TryToInteger">
|
||||
<param name="Keyword" value="TryToReal"></object>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
||||
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ òèïà string</H1>
|
||||
<table cellpadding=3><tr><td><code><b>function</b> Between(Self: string; a, b: string): boolean; </code>
|
||||
|
|
@ -60,12 +62,20 @@
|
|||
<br> Ïðåîáðàçóåò ñòðîêó â BigInteger</td></tr>
|
||||
<tr><td><code><b>function</b> ToInteger(Self: string): integer; </code>
|
||||
<br> Ïðåîáðàçóåò ñòðîêó â öåëîå</td></tr>
|
||||
<tr><td><code><b>function</b> ToInteger(Self: string; defaultvalue: integer): integer; </code>
|
||||
<br> Преобразует строку в целоеПри невозможности преобразования возвращается defaultvalue</td></tr>
|
||||
<tr><td><code><b>function</b> ToIntegers(Self: string): <b>array</b> <b>of</b> integer; </code>
|
||||
<br> Ïðåîáðàçóåò ñòðîêó â ìàññèâ öåëûõ</td></tr>
|
||||
<tr><td><code><b>function</b> ToReal(Self: string): real; </code>
|
||||
<br> Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîå</td></tr>
|
||||
<tr><td><code><b>function</b> ToReal(Self: string; defaultvalue: real): real; </code>
|
||||
<br> Преобразует строку в вещественноеПри невозможности преобразования возвращается defaultvalue</td></tr>
|
||||
<tr><td><code><b>function</b> ToReals(Self: string): <b>array</b> <b>of</b> real; </code>
|
||||
<br> Ïðåîáðàçóåò ñòðîêó â ìàññèâ âåùåñòâåííûõ</td></tr>
|
||||
<tr><td><code><b>function</b> ToWords(Self: string; <b>params</b> delim: <b>array</b> <b>of</b> char): <b>array</b> <b>of</b> string; </code>
|
||||
<br> Ïðåîáðàçóåò ñòðîêó â ìàññèâ ñëîâ</td></tr>
|
||||
<tr><td><code><b>function</b> TryToInteger(Self: string; <b>var</b> value: integer): boolean; </code>
|
||||
<br> Преобразует строку в целое и записывает его в value.При невозможности преобразования возвращается False</td></tr>
|
||||
<tr><td><code><b>function</b> TryToReal(Self: string; <b>var</b> value: real): boolean; </code>
|
||||
<br> Преобразует строку в вещественное и записывает его в value.При невозможности преобразования возвращается False</td></tr>
|
||||
</table></body></HTML>
|
||||
|
|
@ -1,20 +1,33 @@
|
|||
<html><head>
|
||||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||
<param name="Keyword" value="Print">
|
||||
<param name="Keyword" value="Println">
|
||||
<param name="Keyword" value="Write">
|
||||
<param name="Keyword" value="Writeln">
|
||||
<param name="Keyword" value="ReadInteger">
|
||||
<param name="Keyword" value="ReadReal">
|
||||
<param name="Keyword" value="ReadChar">
|
||||
<param name="Keyword" value="ReadString">
|
||||
<param name="Keyword" value="ReadBoolean">
|
||||
<param name="Keyword" value="ReadWord">
|
||||
<param name="Keyword" value="ReadlnInteger">
|
||||
<param name="Keyword" value="ReadlnReal">
|
||||
<param name="Keyword" value="ReadlnChar">
|
||||
<param name="Keyword" value="ReadlnString">
|
||||
<param name="Keyword" value="ReadlnBoolean">
|
||||
<param name="Keyword" value="ReadlnWord">
|
||||
<param name="Keyword" value="Eof">
|
||||
<param name="Keyword" value="Eoln">
|
||||
<param name="Keyword" value="SeekEof">
|
||||
<param name="Keyword" value="SeekEoln">
|
||||
<param name="Keyword" value="Flush">
|
||||
<param name="Keyword" value="Reset">
|
||||
<param name="Keyword" value="Close">
|
||||
<param name="Keyword" value="ReadToEnd">
|
||||
<param name="Keyword" value="Name">
|
||||
<param name="Keyword" value="FullName">
|
||||
<param name="Keyword" value="Erase">
|
||||
<param name="Keyword" value="Rename">
|
||||
</object>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||||
<title></title>
|
||||
|
|
@ -26,12 +39,29 @@
|
|||
òåêñòîâûõ ôàéëîâ (òèï <code>Text</code>)
|
||||
îïðåäåëåíû ñëåäóþùèå ìåòîäû:</p>
|
||||
<table border=0 CELLPADDING=5>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Write(a,b,...); </code><br>
|
||||
Çàïèñûâàåò â ôàéë çíà÷åíèÿ a, b, ...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Writeln(a,b,...); </code><br>
|
||||
Çàïèñûâàåò â ôàéë çíà÷åíèÿ a, b, ...
|
||||
è îñóùåñòâëÿåò ïåðåõîä íà ñëåäóþùóþ ñòðîêó</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Print(a,b,...); </code><br>
|
||||
Çàïèñûâàåò â ôàéë çíà÷åíèÿ a, b, ...,
|
||||
ðàçäåëÿÿ èõ ïðîáåëàìè</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Println(a,b,...); </code><br>
|
||||
Çàïèñûâàåò â ôàéë çíà÷åíèÿ a, b, ...,
|
||||
ðàçäåëÿÿ èõ ïðîáåëàìè, è îñóùåñòâëÿåò ïåðåõîä íà ñëåäóþùóþ ñòðîêó</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>function</strong> ReadInteger: integer; </code><br>
|
||||
|
|
@ -58,6 +88,11 @@
|
|||
<code><strong>function</strong> ReadBoolean: boolean; </code><br>
|
||||
Âîçâðàùàåò çíà÷åíèå òèïà boolean, ââåäåííîå èç òåêñòîâîãî ôàéëà</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>function</strong> ReadWord: string; </code><br>
|
||||
Âîçâðàùàåò ñëîâî, ââåäåííîå èç òåêñòîâîãî ôàéëà</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>function</strong> ReadlnInteger: integer; </code><br>
|
||||
|
|
@ -88,6 +123,19 @@
|
|||
Âîçâðàùàåò çíà÷åíèå òèïà boolean, ââåäåííîå èç òåêñòîâîãî ôàéëà,
|
||||
è ïåðåõîäèò íà ñëåäóþùóþ ñòðîêó</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>function</strong> ReadlnWord: string; </code><br>
|
||||
Âîçâðàùàåò ñëîâî, ââåäåííîå èç òåêñòîâîãî ôàéëà, è ïåðåõîäèò íà
|
||||
ñëåäóþùóþ ñòðîêó</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>function</strong> Eof: boolean; </code><br>
|
||||
Âîçâðàùàåò True, åñëè äîñòèãíóò êîíåö
|
||||
ôàéëà, è False â
|
||||
ïðîòèâíîì ñëó÷àå</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>function</strong> Eoln: boolean; </code><br>
|
||||
|
|
@ -106,6 +154,26 @@
|
|||
Ïðîïóñêàåò ïðîáåëüíûå ñèìâîëû, ïîñëå ÷åãî âîçâðàùàåò True, åñëè
|
||||
äîñòèãíóò êîíåö ñòðîêè â ôàéëå</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>function</strong> Name: string; </code><br>
|
||||
Âîçâðàùàåò èìÿ ôàéëà</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>function</strong> FullName: string;</code><br>
|
||||
Âîçâðàùàåò ïîëíîå èìÿ ôàéëà</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Reset; </code><br>
|
||||
Óñòàíàâëèâàåò ôàéëîâûé óêàçàòåëü íà íà÷àëî ôàéëà</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Close; </code><br>
|
||||
Çàêðûâàåò ôàéë</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Flush; </code><br>
|
||||
|
|
@ -117,5 +185,16 @@
|
|||
Âîçâðàùàåò â âèäå ñòðîêè ñîäåðæèìîå ôàéëà îò òåêóùåãî ïîëîæåíèÿ
|
||||
äî êîíöà</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Erase; </code><br>
|
||||
Óäàëÿåò ôàéë (ôàéë äîëæåí áûòü çàêðûò)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code><strong>procedure</strong> Rename(newname: string); </code><br>
|
||||
Ïåðåèìåíîâûâàåò ôàéë, äàâàÿ åìó èìÿ newname (ôàéë äîëæåí áûòü
|
||||
çàêðûò)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body></html>
|
||||
|
|
|
|||
|
|
@ -3532,21 +3532,38 @@ begin
|
|||
end;
|
||||
|
||||
/// Преобразует строку в целое
|
||||
function ToInteger(Self: string): integer; extensionmethod;
|
||||
begin
|
||||
Result := integer.Parse(Self);
|
||||
end;
|
||||
function ToInteger(Self: string): integer; extensionmethod := integer.Parse(Self);
|
||||
|
||||
/// Преобразует строку в BigInteger
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod;
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod := BigInteger.Parse(Self);
|
||||
|
||||
/// Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîå
|
||||
function ToReal(Self: string): real; extensionmethod := real.Parse(Self, nfi);
|
||||
|
||||
/// Ïðåîáðàçóåò ñòðîêó â öåëîå è çàïèñûâàåò åãî â value.
|
||||
///Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ False
|
||||
function TryToInteger(Self: string; var value: integer): boolean; extensionmethod := TryStrToInt(Self,value);
|
||||
|
||||
/// Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîå è çàïèñûâàåò åãî â value.
|
||||
///Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ False
|
||||
function TryToReal(Self: string; var value: real): boolean; extensionmethod := TryStrToReal(Self,value);
|
||||
|
||||
/// Ïðåîáðàçóåò ñòðîêó â öåëîå
|
||||
///Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ defaultvalue
|
||||
function ToInteger(Self: string; defaultvalue: integer): integer; extensionmethod;
|
||||
begin
|
||||
Result := BigInteger.Parse(Self);
|
||||
var b := TryStrToInt(Self,Result);
|
||||
if not b then
|
||||
Result := defaultvalue
|
||||
end;
|
||||
|
||||
/// Преобразует строку в вещественное
|
||||
function ToReal(Self: string): real; extensionmethod;
|
||||
///Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ defaultvalue
|
||||
function ToReal(Self: string; defaultvalue: real): real; extensionmethod;
|
||||
begin
|
||||
Result := real.Parse(Self, nfi);
|
||||
var b := TryStrToReal(Self,Result);
|
||||
if not b then
|
||||
Result := defaultvalue
|
||||
end;
|
||||
|
||||
/// Преобразует строку в массив слов
|
||||
|
|
|
|||
|
|
@ -1467,11 +1467,23 @@ function ReadReal(Self: string; var from: integer): real; extensionmethod;
|
|||
/// Считывает слово из строки начиная с позиции from и устанавливает from за считанным значением
|
||||
function ReadWord(Self: string; var from: integer): string; extensionmethod;
|
||||
/// Преобразует строку в целое
|
||||
function ToInteger(Self: string): integer; extensionmethod;
|
||||
function ToInteger(Self: string): integer; extensionmethod := integer.Parse(Self);
|
||||
/// Преобразует строку в BigInteger
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod;
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod := BigInteger.Parse(Self);
|
||||
/// Преобразует строку в вещественное
|
||||
function ToReal(Self: string): real; extensionmethod;
|
||||
function ToReal(Self: string): real; extensionmethod := real.Parse(Self, nfi);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â öåëîå è çàïèñûâàåò åãî â value.
|
||||
///Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ False
|
||||
function TryToInteger(Self: string; var value: integer): boolean; extensionmethod := TryStrToInt(Self,value);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîå è çàïèñûâàåò åãî â value.
|
||||
///Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ False
|
||||
function TryToReal(Self: string; var value: real): boolean; extensionmethod := TryStrToReal(Self,value);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â öåëîå
|
||||
///Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ defaultvalue
|
||||
function ToInteger(Self: string; defaultvalue: integer): integer; extensionmethod;
|
||||
/// Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîå
|
||||
///Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ defaultvalue
|
||||
function ToReal(Self: string; defaultvalue: real): real; extensionmethod;
|
||||
/// Преобразует строку в массив слов
|
||||
function ToWords(Self: string; params delim: array of char): array of string; extensionmethod;
|
||||
/// Преобразует строку в массив целых
|
||||
|
|
|
|||
|
|
@ -1434,11 +1434,19 @@ function ReadReal(Self: string; var from: integer): real; extensionmethod;
|
|||
/// Считывает слово из строки начиная с позиции from и устанавливает from за считанным значением
|
||||
function ReadWord(Self: string; var from: integer): string; extensionmethod;
|
||||
/// Преобразует строку в целое
|
||||
function ToInteger(Self: string): integer; extensionmethod;
|
||||
function ToInteger(Self: string): integer; extensionmethod := integer.Parse(Self);
|
||||
/// Преобразует строку в BigInteger
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod;
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod := BigInteger.Parse(Self);
|
||||
/// Преобразует строку в вещественное
|
||||
function ToReal(Self: string): real; extensionmethod;
|
||||
function ToReal(Self: string): real; extensionmethod := real.Parse(Self, nfi);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â öåëîå è çàïèñûâàåò åãî â value.Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ False
|
||||
function TryToInteger(Self: string; var value: integer): boolean; extensionmethod := TryStrToInt(Self,value);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîå è çàïèñûâàåò åãî â value.Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ False
|
||||
function TryToReal(Self: string; var value: real): boolean; extensionmethod := TryStrToReal(Self,value);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â öåëîåÏðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ defaultvalue
|
||||
function ToInteger(Self: string; defaultvalue: integer): integer; extensionmethod;
|
||||
/// Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîåÏðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ defaultvalue
|
||||
function ToReal(Self: string; defaultvalue: real): real; extensionmethod;
|
||||
/// Преобразует строку в массив слов
|
||||
function ToWords(Self: string; params delim: array of char): array of string; extensionmethod;
|
||||
/// Преобразует строку в массив целых
|
||||
|
|
|
|||
|
|
@ -1376,11 +1376,19 @@ function ReadReal(Self: string; var from: integer): real; extensionmethod;
|
|||
/// Считывает слово из строки начиная с позиции from и устанавливает from за считанным значением
|
||||
function ReadWord(Self: string; var from: integer): string; extensionmethod;
|
||||
/// Преобразует строку в целое
|
||||
function ToInteger(Self: string): integer; extensionmethod;
|
||||
function ToInteger(Self: string): integer; extensionmethod := integer.Parse(Self);
|
||||
/// Преобразует строку в BigInteger
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod;
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod := BigInteger.Parse(Self);
|
||||
/// Преобразует строку в вещественное
|
||||
function ToReal(Self: string): real; extensionmethod;
|
||||
function ToReal(Self: string): real; extensionmethod := real.Parse(Self, nfi);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â öåëîå è çàïèñûâàåò åãî â value.Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ False
|
||||
function TryToInteger(Self: string; var value: integer): boolean; extensionmethod := TryStrToInt(Self,value);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîå è çàïèñûâàåò åãî â value.Ïðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ False
|
||||
function TryToReal(Self: string; var value: real): boolean; extensionmethod := TryStrToReal(Self,value);
|
||||
/// Ïðåîáðàçóåò ñòðîêó â öåëîåÏðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ defaultvalue
|
||||
function ToInteger(Self: string; defaultvalue: integer): integer; extensionmethod;
|
||||
/// Ïðåîáðàçóåò ñòðîêó â âåùåñòâåííîåÏðè íåâîçìîæíîñòè ïðåîáðàçîâàíèÿ âîçâðàùàåòñÿ defaultvalue
|
||||
function ToReal(Self: string; defaultvalue: real): real; extensionmethod;
|
||||
/// Преобразует строку в массив слов
|
||||
function ToWords(Self: string; params delim: array of char): array of string; extensionmethod;
|
||||
/// Преобразует строку в массив целых
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.4.0.1727'
|
||||
!define VERSION '3.4.0.1728'
|
||||
|
|
|
|||
|
|
@ -24,6 +24,11 @@ namespace SyntaxVisitors.SugarVisitors
|
|||
return num.ToString();
|
||||
}
|
||||
|
||||
public override void visit(write_accessor_name wn)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void visit(assign_tuple asstup)
|
||||
{
|
||||
// тут возможно ошибка более глубокая - в semantic_check_sugared_statement_node(asstup) возможно остаются во вложенных лямбдах другие assign_tuple
|
||||
|
|
|
|||
|
|
@ -353,6 +353,8 @@ type
|
|||
function ReadString: string;
|
||||
/// Возвращает значение типа boolean, введенное из текстового файла
|
||||
function ReadBoolean: boolean;
|
||||
/// Возвращает слово, введенное из текстового файла
|
||||
function ReadWord: string;
|
||||
/// Возвращает значение типа integer, введенное из текстового файла, и переходит на следующую строку
|
||||
function ReadlnInteger: integer;
|
||||
/// Возвращает значение типа real, введенное из текстового файла, и переходит на следующую строку
|
||||
|
|
@ -369,6 +371,10 @@ type
|
|||
procedure Write(params o: array of Object);
|
||||
/// Записывает в текстовый файл значения и переходит на следующую строку
|
||||
procedure Writeln(params o: array of Object);
|
||||
/// Записывает в текстовый файл значения, разделяя их пробелами
|
||||
procedure Print(params o: array of Object);
|
||||
/// Записывает в текстовый файл значения, разделяя их пробелами, и переходит на следующую строку
|
||||
procedure Println(params o: array of Object);
|
||||
/// Возвращает True, если достигнут конец файла, и False в противном случае
|
||||
function Eof: boolean;
|
||||
/// Возвращает True, если достигнут конец строки, и False в противном случае
|
||||
|
|
@ -2168,6 +2174,7 @@ const
|
|||
FILE_NOT_OPENED = 'Файл не открыт!!File is not opened';
|
||||
FILE_NOT_OPENED_FOR_READING = 'Файл не открыт на чтение!!File is not opened for reading';
|
||||
FILE_NOT_OPENED_FOR_WRITING = 'Файл не открыт на запись!!File is not opened for writing';
|
||||
READ_LEXEM_AFTER_END_OF_TEXT_FILE = 'Попытка считывания за концом текстового файла!!Read after end of text file';
|
||||
RANGE_ERROR_MESSAGE = 'Выход за границы диапазона!!Out of range';
|
||||
EOF_FOR_TEXT_WRITEOPENED = 'Функция Eof не может быть вызвана для текстового файла, открытого на запись!!Eof function can''t be called for file, opened on writing';
|
||||
EOLN_FOR_TEXT_WRITEOPENED = 'Функция Eoln не может быть вызвана для текстового файла, открытого на запись!!Eoln function can''t be called for file, opened on writing';
|
||||
|
|
@ -4359,6 +4366,8 @@ begin
|
|||
repeat
|
||||
i := f.sr.Read();
|
||||
until not char.IsWhiteSpace(char(i)); // pass spaces
|
||||
if i=-1 then
|
||||
raise new System.IO.IOException(GetTranslation(READ_LEXEM_AFTER_END_OF_TEXT_FILE));
|
||||
c := char(i);
|
||||
var sb := System.Text.StringBuilder.Create;
|
||||
repeat
|
||||
|
|
@ -5351,6 +5360,11 @@ begin
|
|||
Result := PABCSystem.ReadString(Self);
|
||||
end;
|
||||
|
||||
function Text.ReadWord: string;
|
||||
begin
|
||||
Result := read_lexem(Self);
|
||||
end;
|
||||
|
||||
function Text.ReadBoolean: boolean;
|
||||
begin
|
||||
Result := PABCSystem.ReadBoolean(Self);
|
||||
|
|
@ -5396,6 +5410,23 @@ begin
|
|||
PABCSystem.Writeln(Self, o);
|
||||
end;
|
||||
|
||||
procedure Text.Print(params o: array of Object);
|
||||
begin
|
||||
foreach var s in o do
|
||||
PABCSystem.Write(Self, s, ' ');
|
||||
end;
|
||||
|
||||
procedure Text.Println(params o: array of Object);
|
||||
begin
|
||||
if o.Length <> 0 then
|
||||
begin
|
||||
for var i:=0 to o.Length-2 do
|
||||
PABCSystem.Write(Self, o[i], ' ');
|
||||
PABCSystem.Write(Self, o.Last);
|
||||
end;
|
||||
PABCSystem.Writeln(Self);
|
||||
end;
|
||||
|
||||
function Text.Eof: boolean;
|
||||
begin
|
||||
Result := PABCSystem.Eof(Self);
|
||||
|
|
@ -7799,47 +7830,15 @@ begin
|
|||
value := Res;
|
||||
end;
|
||||
|
||||
function StrToInt64(s: string): int64;
|
||||
begin
|
||||
Result := Convert.ToInt64(s);
|
||||
end;
|
||||
function StrToInt64(s: string) := Convert.ToInt64(s);
|
||||
function StrToReal(s: string) := Convert.ToDouble(s, nfi);
|
||||
function StrToFloat(s: string) := StrToReal(s);
|
||||
|
||||
function StrToFloat(s: string): real;
|
||||
begin
|
||||
Result := Convert.ToDouble(s, nfi);
|
||||
end;
|
||||
|
||||
function StrToReal(s: string) := StrToFloat(s);
|
||||
|
||||
function TryStrToInt64(s: string; var value: int64): boolean;
|
||||
begin
|
||||
Result := int64.TryParse(s, value);
|
||||
end;
|
||||
|
||||
function TryStrToFloat(s: string; var value: real): boolean;
|
||||
begin
|
||||
try
|
||||
Result := True;
|
||||
value := Convert.ToDouble(s, nfi);
|
||||
except
|
||||
value := 0;
|
||||
Result := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TryStrToFloat(s: string; var value: single): boolean;
|
||||
begin
|
||||
try
|
||||
Result := True;
|
||||
value := Convert.ToSingle(s, nfi);
|
||||
except
|
||||
value := 0;
|
||||
Result := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TryStrToReal(s: string; var value: real) := TryStrToFloat(s, value);
|
||||
function TryStrToSingle(s: string; var value: single) := TryStrToFloat(s, value);
|
||||
function TryStrToInt64(s: string; var value: int64) := int64.TryParse(s, value);
|
||||
function TryStrToReal(s: string; var value: real) := real.TryParse(s,System.Globalization.NumberStyles.Float,nil,value);
|
||||
function TryStrToSingle(s: string; var value: single) := single.TryParse(s,System.Globalization.NumberStyles.Float,nil,value);
|
||||
function TryStrToFloat(s: string; var value: real) := TryStrToReal(s, value);
|
||||
function TryStrToFloat(s: string; var value: single) := TryStrToSingle(s, value);
|
||||
|
||||
function ReadIntegerFromString(s: string; var from: integer): integer;
|
||||
begin
|
||||
|
|
@ -10189,21 +10188,38 @@ begin
|
|||
end;
|
||||
|
||||
/// Преобразует строку в целое
|
||||
function ToInteger(Self: string): integer; extensionmethod;
|
||||
begin
|
||||
Result := integer.Parse(Self);
|
||||
end;
|
||||
function ToInteger(Self: string): integer; extensionmethod := integer.Parse(Self);
|
||||
|
||||
/// Преобразует строку в BigInteger
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod;
|
||||
function ToBigInteger(Self: string): BigInteger; extensionmethod := BigInteger.Parse(Self);
|
||||
|
||||
/// Преобразует строку в вещественное
|
||||
function ToReal(Self: string): real; extensionmethod := real.Parse(Self, nfi);
|
||||
|
||||
/// Преобразует строку в целое и записывает его в value.
|
||||
///При невозможности преобразования возвращается False
|
||||
function TryToInteger(Self: string; var value: integer): boolean; extensionmethod := TryStrToInt(Self,value);
|
||||
|
||||
/// Преобразует строку в вещественное и записывает его в value.
|
||||
///При невозможности преобразования возвращается False
|
||||
function TryToReal(Self: string; var value: real): boolean; extensionmethod := TryStrToReal(Self,value);
|
||||
|
||||
/// Преобразует строку в целое
|
||||
///При невозможности преобразования возвращается defaultvalue
|
||||
function ToInteger(Self: string; defaultvalue: integer): integer; extensionmethod;
|
||||
begin
|
||||
Result := BigInteger.Parse(Self);
|
||||
var b := TryStrToInt(Self,Result);
|
||||
if not b then
|
||||
Result := defaultvalue
|
||||
end;
|
||||
|
||||
/// Преобразует строку в вещественное
|
||||
function ToReal(Self: string): real; extensionmethod;
|
||||
///При невозможности преобразования возвращается defaultvalue
|
||||
function ToReal(Self: string; defaultvalue: real): real; extensionmethod;
|
||||
begin
|
||||
Result := real.Parse(Self, nfi);
|
||||
var b := TryStrToReal(Self,Result);
|
||||
if not b then
|
||||
Result := defaultvalue
|
||||
end;
|
||||
|
||||
/// Преобразует строку в массив слов
|
||||
|
|
|
|||
|
|
@ -353,6 +353,8 @@ type
|
|||
function ReadString: string;
|
||||
/// Возвращает значение типа boolean, введенное из текстового файла
|
||||
function ReadBoolean: boolean;
|
||||
/// Возвращает слово, введенное из текстового файла
|
||||
function ReadWord: string;
|
||||
/// Возвращает значение типа integer, введенное из текстового файла, и переходит на следующую строку
|
||||
function ReadlnInteger: integer;
|
||||
/// Возвращает значение типа real, введенное из текстового файла, и переходит на следующую строку
|
||||
|
|
@ -369,6 +371,10 @@ type
|
|||
procedure Write(params o: array of Object);
|
||||
/// Записывает в текстовый файл значения и переходит на следующую строку
|
||||
procedure Writeln(params o: array of Object);
|
||||
/// Записывает в текстовый файл значения, разделяя их пробелами
|
||||
procedure Print(params o: array of Object);
|
||||
/// Записывает в текстовый файл значения, разделяя их пробелами, и переходит на следующую строку
|
||||
procedure Println(params o: array of Object);
|
||||
/// Возвращает True, если достигнут конец файла, и False в противном случае
|
||||
function Eof: boolean;
|
||||
/// Возвращает True, если достигнут конец строки, и False в противном случае
|
||||
|
|
@ -2168,6 +2174,7 @@ const
|
|||
FILE_NOT_OPENED = 'Файл не открыт!!File is not opened';
|
||||
FILE_NOT_OPENED_FOR_READING = 'Файл не открыт на чтение!!File is not opened for reading';
|
||||
FILE_NOT_OPENED_FOR_WRITING = 'Файл не открыт на запись!!File is not opened for writing';
|
||||
READ_LEXEM_AFTER_END_OF_TEXT_FILE = 'Попытка считывания за концом текстового файла!!Read after end of text file';
|
||||
RANGE_ERROR_MESSAGE = 'Выход за границы диапазона!!Out of range';
|
||||
EOF_FOR_TEXT_WRITEOPENED = 'Функция Eof не может быть вызвана для текстового файла, открытого на запись!!Eof function can''t be called for file, opened on writing';
|
||||
EOLN_FOR_TEXT_WRITEOPENED = 'Функция Eoln не может быть вызвана для текстового файла, открытого на запись!!Eoln function can''t be called for file, opened on writing';
|
||||
|
|
@ -4359,6 +4366,8 @@ begin
|
|||
repeat
|
||||
i := f.sr.Read();
|
||||
until not char.IsWhiteSpace(char(i)); // pass spaces
|
||||
if i=-1 then
|
||||
raise new System.IO.IOException(GetTranslation(READ_LEXEM_AFTER_END_OF_TEXT_FILE));
|
||||
c := char(i);
|
||||
var sb := System.Text.StringBuilder.Create;
|
||||
repeat
|
||||
|
|
@ -5351,6 +5360,11 @@ begin
|
|||
Result := PABCSystem.ReadString(Self);
|
||||
end;
|
||||
|
||||
function Text.ReadWord: string;
|
||||
begin
|
||||
Result := read_lexem(Self);
|
||||
end;
|
||||
|
||||
function Text.ReadBoolean: boolean;
|
||||
begin
|
||||
Result := PABCSystem.ReadBoolean(Self);
|
||||
|
|
@ -5396,6 +5410,23 @@ begin
|
|||
PABCSystem.Writeln(Self, o);
|
||||
end;
|
||||
|
||||
procedure Text.Print(params o: array of Object);
|
||||
begin
|
||||
foreach var s in o do
|
||||
PABCSystem.Write(Self, s, ' ');
|
||||
end;
|
||||
|
||||
procedure Text.Println(params o: array of Object);
|
||||
begin
|
||||
if o.Length <> 0 then
|
||||
begin
|
||||
for var i:=0 to o.Length-2 do
|
||||
PABCSystem.Write(Self, o[i], ' ');
|
||||
PABCSystem.Write(Self, o.Last);
|
||||
end;
|
||||
PABCSystem.Writeln(Self);
|
||||
end;
|
||||
|
||||
function Text.Eof: boolean;
|
||||
begin
|
||||
Result := PABCSystem.Eof(Self);
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in a new issue