This commit is contained in:
Mikhalkovich Stanislav 2019-01-19 21:24:18 +03:00
parent 5bb8771953
commit 5705e03dc7
4 changed files with 17 additions and 9 deletions

View file

@ -14,8 +14,8 @@
.NET-программы компактны, пользуются единым набором типов
данных и библиотек. Компания Microsoft активно развивает платформу
.NET, выпуская новые версии с расширенными
возможностями. На момент начала 2015 г. последней версией является
.NET 4.5.</p>
возможностями. На момент начала 2019 г. последней версией является
.NET 4.7.1.</p>
<p>В результате компиляции .NET-программы генерируется не машинный код, а
так называемый байт-код, содержащий команды <i>виртуальной машины </i>(в
.NET он называется <b>IL-кодом</b>

View file

@ -11,7 +11,7 @@
<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> CreateBinary(fname: string): file;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Создаёт или обнуляет двоичный файл и возвращает значение для инициализации файловой переменной</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Создаёт или обнуляет бестиповой файл и возвращает значение для инициализации файловой переменной</td></tr>
<tr><td><code><b>function</b> CreateFile&lt;T&gt;(fname: string): <b>file</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîçäà¸ò èëè îáíóëÿåò òèïèçèðîâàííûé ôàéë è âîçâðàùàåò çíà÷åíèå äëÿ èíèöèàëèçàöèè ôàéëîâîé ïåðåìåííîé</td></tr>
<tr><td><code><b>function</b> CreateFileInteger(fname: string): <b>file</b> <b>of</b> integer;</code>
@ -19,7 +19,7 @@
<tr><td><code><b>function</b> CreateFileReal(fname: string): <b>file</b> <b>of</b> real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîçäà¸ò èëè îáíóëÿåò òèïèçèðîâàííûé ôàéë âåùåñòâåííûõ è âîçâðàùàåò çíà÷åíèå äëÿ èíèöèàëèçàöèè ôàéëîâîé ïåðåìåííîé</td></tr>
<tr><td><code><b>function</b> OpenBinary(fname: string): file;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Открывает двоичный файл и возвращает значение для инициализации файловой переменной</td></tr>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Открывает бестиповой файл и возвращает значение для инициализации файловой переменной</td></tr>
<tr><td><code><b>function</b> OpenFile&lt;T&gt;(fname: string): <b>file</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Îòêðûâàåò òèïèçèðîâàííûé ôàéë è âîçâðàùàåò çíà÷åíèå äëÿ èíèöèàëèçàöèè ôàéëîâîé ïåðåìåííîé</td></tr>
<tr><td><code><b>function</b> OpenFileInteger(fname: string): <b>file</b> <b>of</b> integer;</code>

View file

@ -6397,10 +6397,14 @@ begin
else
if t = typeof(string) then
begin
var len := f.br.ReadByte();
var chh := f.br.ReadChars(len);
if f is TypedFile then
begin
var len := f.br.ReadByte();
var chh := f.br.ReadChars(len);
Result := new string(chh);
Result := new string(chh);
end
else Result := f.br.ReadString();
if (f is TypedFile) and ((f as TypedFile).offsets <> nil) and ((f as TypedFile).offsets.Length > 0) then
begin
f.br.BaseStream.Seek((f as TypedFile).offsets[ind] - (Result as string).Length, SeekOrigin.Current);
@ -6490,8 +6494,12 @@ begin
else if t = typeof(string) then
begin
//var tmp := f.bw.BaseStream.Position;
f.bw.Write(byte(string(val).Length));
f.bw.Write(string(val).ToArray);
if f is TypedFile then
begin
f.bw.Write(byte(string(val).Length));
f.bw.Write(string(val).ToArray);
end
else f.bw.Write(string(val));
if (f is TypedFile) and ((f as TypedFile).offsets <> nil) and ((f as TypedFile).offsets.Length > 0) then
begin
f.bw.Write(new byte[(f as TypedFile).offsets[ind] - (val as string).Length]);

Binary file not shown.