fix #1650
This commit is contained in:
parent
5bb8771953
commit
5705e03dc7
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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> Создаёт или обнуляет двоичный файл и возвращает значение для инициализации файловой переменной</td></tr>
|
||||
<br> Создаёт или обнуляет бестиповой файл и возвращает значение для инициализации файловой переменной</td></tr>
|
||||
<tr><td><code><b>function</b> CreateFile<T>(fname: string): <b>file</b> <b>of</b> T;</code>
|
||||
<br> Ñîçäà¸ò èëè îáíóëÿåò òèïèçèðîâàííûé ôàéë è âîçâðàùàåò çíà÷åíèå äëÿ èíèöèàëèçàöèè ôàéëîâîé ïåðåìåííîé</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> Ñîçäà¸ò èëè îáíóëÿåò òèïèçèðîâàííûé ôàéë âåùåñòâåííûõ è âîçâðàùàåò çíà÷åíèå äëÿ èíèöèàëèçàöèè ôàéëîâîé ïåðåìåííîé</td></tr>
|
||||
<tr><td><code><b>function</b> OpenBinary(fname: string): file;</code>
|
||||
<br> Открывает двоичный файл и возвращает значение для инициализации файловой переменной</td></tr>
|
||||
<br> Открывает бестиповой файл и возвращает значение для инициализации файловой переменной</td></tr>
|
||||
<tr><td><code><b>function</b> OpenFile<T>(fname: string): <b>file</b> <b>of</b> T;</code>
|
||||
<br> Îòêðûâàåò òèïèçèðîâàííûé ôàéë è âîçâðàùàåò çíà÷åíèå äëÿ èíèöèàëèçàöèè ôàéëîâîé ïåðåìåííîé</td></tr>
|
||||
<tr><td><code><b>function</b> OpenFileInteger(fname: string): <b>file</b> <b>of</b> integer;</code>
|
||||
|
|
|
|||
|
|
@ -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.
Loading…
Reference in a new issue