f.Lines для текстового файла

f.Elements для типизированного
This commit is contained in:
Mikhalkovich Stanislav 2019-03-10 22:26:23 +03:00
parent fd774576aa
commit eb011c6321
5 changed files with 28 additions and 1 deletions

View file

@ -1,4 +1,5 @@
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="Elements">
<param name="Keyword" value="Read">
<param name="Keyword" value="Read2">
<param name="Keyword" value="Read3">
@ -9,7 +10,9 @@
<param name="Keyword" value="Write"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ òèïèçèðîâàííûõ ôàéëîâ</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Read&lt;T&gt;(Self: <b>file</b> <b>of</b> T): T;</code>
<table border=0 cellpadding=5><tr><td><code><b>function</b> Elements&lt;T&gt;(Self: <b>file</b> <b>of</b> T): <b>sequence </b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü ýëåìåíòîâ îòêðûòîãî òèïèçèðîâàííîãî ôàéëà</td></tr>
<tr><td><code><b>function</b> Read&lt;T&gt;(Self: <b>file</b> <b>of</b> T): T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñ÷èòûâàåò è âîçâðàùàåò ñëåäóþùèé ýëåìåíò òèïèçèðîâàííîãî ôàéëà</td></tr>
<tr><td><code><b>function</b> Read2&lt;T&gt;(Self: <b>file</b> <b>of</b> T): (T,T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñ÷èòûâàåò è âîçâðàùàåò äâà ñëåäóþùèõ ýëåìåíòà òèïèçèðîâàííîãî ôàéëà â âèäå êîðòåæà</td></tr>

View file

@ -227,5 +227,11 @@
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> newname (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)</td>
</tr>
<tr>
<td>
<code><strong>function</strong> Lines: <strong>sequence of</strong>
string; </code><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü ñòðîê îòêðûòîãî òåêñòîâîãî ôàéëà</td>
</tr>
</table>
</body></html>

View file

@ -142,6 +142,14 @@ begin
end;
end;
/// Возвращает последовательность элементов открытого типизированного файла
function Elements<T>(Self: file of T): sequence of T; extensionmethod;
begin
Reset(Self); // Если файл открыт, то файловый указатель просто устанавливается на 0 позицию
Result := Self.ReadElements;
end;
/// Открывает типизированный файл, возвращает последовательность его элементов и закрывает его
function ReadElements<T>(fname: string): sequence of T;
begin

View file

@ -409,6 +409,8 @@ type
procedure Append;
/// Открывает текстовый файл на дополнение в указанной кодировке
procedure Append(en: Encoding);
/// Возвращает последовательность строк открытого текстового файла
function Lines: sequence of string;
end;
/// Тип текстового файла
@ -5607,6 +5609,14 @@ procedure Text.Append := PABCSystem.Append(Self);
procedure Text.Append(en: Encoding) := PABCSystem.Append(Self,en);
function Text.Lines: sequence of string;
begin
Self.sr.BaseStream.Position := 0;
while not Eof do
yield ReadlnString;
end;
// -----------------------------------------------------
// AbstractBinaryFile methods

Binary file not shown.