<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%91%D1%83%D1%84%D0%B5%D1%80</id>
	<title>Буфер - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%91%D1%83%D1%84%D0%B5%D1%80"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;action=history"/>
	<updated>2026-04-04T12:13:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4963&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4963&amp;oldid=prev"/>
		<updated>2025-01-22T06:57:21Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:57, 22 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4962&amp;oldid=prev</id>
		<title>1&gt;Admin: /* Атрибуты и функции */</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4962&amp;oldid=prev"/>
		<updated>2025-01-20T09:18:22Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Атрибуты и функции&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 09:18, 20 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot; &gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|name=[[Buffer.Array|[&amp;lt;Индекс буфера (INT)&amp;gt;], [&amp;lt;Индекс буфера (INT)&amp;gt;,&amp;lt;Размер данных (INT)&amp;gt;]]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|name=[[Buffer.Array|[&amp;lt;Индекс буфера (INT)&amp;gt;], [&amp;lt;Индекс буфера (INT)&amp;gt;,&amp;lt;Размер данных (INT)&amp;gt;]]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|form={{Grey|Buffer}}'''[&amp;lt;Индекс буфера (INT)&amp;gt;{{Optional|,&amp;lt;Размер данных (INT)&amp;gt;{{Default|{{Eq}}1}}}}]''':''&amp;lt;Данные буфера (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;INT&lt;/del&gt;)&amp;gt;''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|form={{Grey|Buffer}}'''[&amp;lt;Индекс буфера (INT)&amp;gt;{{Optional|,&amp;lt;Размер данных (INT)&amp;gt;{{Default|{{Eq}}1}}}}]''':''&amp;lt;Данные буфера (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;NUMBER&lt;/ins&gt;)&amp;gt;''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|type=0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|type=0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|status=2&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|status=2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|visual=0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|visual=0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Использование синтаксиса массивов позволяет получить или изменить содержимое буфера по его индексу. Размер данных можно задать вторым аргументом массива.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Использование синтаксиса массивов позволяет получить или изменить содержимое буфера по его индексу. Размер данных можно задать вторым аргументом массива&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Также данные могут быть вещественными числами&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l171&quot; &gt;Line 171:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 171:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|visual=0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|visual=0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Функция записывает в буфер символы из UTF-16 (двухбайтной) строки по указанному индексу.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Функция записывает в буфер символы из UTF-16 (двухбайтной) строки по указанному индексу.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{function entry&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|name=[[Buffer.AddValues|AddValues]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|form={{Grey|Buffer.}}'''AddValues'''({{ByRef|''&amp;lt;Индекс буфера (INT)&amp;gt;''}},''&amp;lt;Размер данных (INT)&amp;gt;'',''&amp;lt;Значение 1&amp;gt;''{{Optional|,&amp;lt;Значение 2&amp;gt;,...}})&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|type=1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|status=2&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|visual=0&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|description=Функция записывает в буфер определенное количество одинаковых по типу данных, индекс буфера автоматически увеличивается на размер сохраненных данных, буфер автоматически увеличивается в размерах, если это необходимо.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l234&quot; &gt;Line 234:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 242:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|status=2&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|status=2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|visual=0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|visual=0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Функция возвращает указатель в системной памяти на &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;индексом &lt;/del&gt;смещения в буфере. '''Внимание''': при записи информации в буфер, его размер автоматически увеличивается, при этом данные буфера могут перемещаться в памяти, и возвращенный ранее указатель будет указывать на адрес в памяти более не принадлежащий буферу. При записи по этому адресу, данные в памяти будут испорчены, что приведет к непредсказуемым последствиям, начиная от внезапного завершения работы клиента, до общесистемного сбоя. Возвращенный указатель можно использовать только до изменения размеров буфера, после чего необходимо сновать вызвать функцию для получения обновленного указателя. Функция может использоваться в совокупности с функциями [[Объект загружаемой системной библиотеки|объекта загружаемой системной библиотеки]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|description=Функция возвращает указатель в системной памяти на &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;индекс &lt;/ins&gt;смещения в буфере. '''Внимание''': при записи информации в буфер, его размер автоматически увеличивается, при этом данные буфера могут перемещаться в памяти, и возвращенный ранее указатель будет указывать на адрес в памяти более не принадлежащий буферу. При записи по этому адресу, данные в памяти будут испорчены, что приведет к непредсказуемым последствиям, начиная от внезапного завершения работы клиента, до общесистемного сбоя. Возвращенный указатель можно использовать только до изменения размеров буфера, после чего необходимо сновать вызвать функцию для получения обновленного указателя. Функция может использоваться в совокупности с функциями [[Объект загружаемой системной библиотеки|объекта загружаемой системной библиотеки]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function footer}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function footer}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4588&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4588&amp;oldid=prev"/>
		<updated>2023-06-08T10:14:42Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 10:14, 8 June 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4587&amp;oldid=prev</id>
		<title>1&gt;Admin: /* Объект структуры данных записи */</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4587&amp;oldid=prev"/>
		<updated>2023-05-09T17:19:30Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Объект структуры данных записи&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:19, 9 May 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l242&quot; &gt;Line 242:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 242:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Импорт или экспорт бинарных данных (к примеру, чтение формата ''BMP'' или ''WAV'' напрямую с диска)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Импорт или экспорт бинарных данных (к примеру, чтение формата ''BMP'' или ''WAV'' напрямую с диска)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Работа с [[Объект загружаемой системной библиотеки|функциями загружаемых системных библиотек]]. Функции часто работают со структурами данных, которые требуется разбирать или создавать для вызова функций библиотек.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Работа с [[Объект загружаемой системной библиотеки|функциями загружаемых системных библиотек]]. Функции часто работают со структурами данных, которые требуется разбирать или создавать для вызова функций библиотек.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Объект позволяет создать запись любой сложности, однако существуют несущественные ограничения, которые можно легко обойти (в данный момент нельзя создать &amp;quot;массив массивов&amp;quot;, требуется разделить массивы по разным записям и использовать одну запись внутри другой). Сама запись представляет структуру, не привязанную к памяти, поэтому после создания ее необходимо либо привязать к буферу ([[MemoryRecord.Assign|Assign]] или [[MemoryRecord.Allocate|Allocate]]), либо непосредственно к адресу системной памяти ([[MemoryRecord.AssignToSystemMemory|AssignToSystemMemory]]), после чего поля записи становятся доступными для чтения или записи. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Дублирования &lt;/del&gt;записи осуществляется с помощью функции [[MemoryRecord.Copy|Copy]], при этом сама структура в памяти не дублируется, создается новая привязка к ней, поэтому, такой процесс происходит быстро и не затрачивает дополнительную память.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Объект позволяет создать запись любой сложности, однако существуют несущественные ограничения, которые можно легко обойти (в данный момент нельзя создать &amp;quot;массив массивов&amp;quot;, требуется разделить массивы по разным записям и использовать одну запись внутри другой). Сама запись представляет структуру, не привязанную к памяти, поэтому после создания ее необходимо либо привязать к буферу ([[MemoryRecord.Assign|Assign]] или [[MemoryRecord.Allocate|Allocate]]), либо непосредственно к адресу системной памяти ([[MemoryRecord.AssignToSystemMemory|AssignToSystemMemory]]), после чего поля записи становятся доступными для чтения или записи. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Дублирование &lt;/ins&gt;записи осуществляется с помощью функции [[MemoryRecord.Copy|Copy]], при этом сама структура в памяти не дублируется, создается новая привязка к ней, поэтому, такой процесс происходит быстро и не затрачивает дополнительную память.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для большей информации и примеров см. статью [[MemoryRecord.Create|Create]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Для большей информации и примеров см. статью [[MemoryRecord.Create|Create]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4268&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4268&amp;oldid=prev"/>
		<updated>2022-03-13T10:11:10Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 10:11, 13 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4267&amp;oldid=prev</id>
		<title>1&gt;Admin at 18:02, 18 February 2022</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=4267&amp;oldid=prev"/>
		<updated>2022-02-18T18:02:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:02, 18 February 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l142&quot; &gt;Line 142:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 142:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|name=[[Buffer.GetString|GetString]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|name=[[Buffer.GetString|GetString]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|form={{Grey|Buffer.}}'''GetString'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;&amp;lt;Размер строки в байтах (INT)&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''{{Optional|&lt;/del&gt;,&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;&amp;lt;Кодовая страница (INT)&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;{{Default|{{Eq}}0}}}}):''&amp;lt;Результирующая строка (STRING)&amp;gt;''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|form={{Grey|Buffer.}}'''GetString'''(''&amp;lt;Индекс буфера (INT)&amp;gt;''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{Optional|&lt;/ins&gt;,&amp;lt;Размер строки в байтах (INT)&amp;gt;,&amp;lt;Кодовая страница (INT)&amp;gt;{{Default|{{Eq}}0}}}}):''&amp;lt;Результирующая строка (STRING)&amp;gt;''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|type=1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|type=1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|status=2&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|status=2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l158&quot; &gt;Line 158:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 158:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{function entry&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|name=[[Buffer.GetStringW|GetStringW]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|name=[[Buffer.GetStringW|GetStringW]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|form={{Grey|Buffer.}}'''GetStringW'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/del&gt;&amp;lt;Размер строки в символах (INT)&amp;gt;):''&amp;lt;Результирующая строка (STRING)&amp;gt;''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|form={{Grey|Buffer.}}'''GetStringW'''(''&amp;lt;Индекс буфера (INT)&amp;gt;''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{Optional|&lt;/ins&gt;,&amp;lt;Размер строки в символах (INT)&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/ins&gt;):''&amp;lt;Результирующая строка (STRING)&amp;gt;''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|type=1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|type=1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|status=2&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|status=2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=3106&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=3106&amp;oldid=prev"/>
		<updated>2021-02-07T06:54:56Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:54, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=3105&amp;oldid=prev</id>
		<title>Admin: /* Объект структуры данных записи */</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%91%D1%83%D1%84%D0%B5%D1%80&amp;diff=3105&amp;oldid=prev"/>
		<updated>2020-06-08T16:18:07Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Объект структуры данных записи&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox object&lt;br /&gt;
|object=Buffer&lt;br /&gt;
|status=2&lt;br /&gt;
|create=[[Buffer.Create|Create]]}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]}}&lt;br /&gt;
&lt;br /&gt;
Объект '''буфер''' используется как хранилище любой бинарной информации. В буфер, к примеру, можно загрузить внешний файл в бинарном формате и разобрать этот формат программно. Объект позволяет чтение и запись данных типа байты (8 бит), слова (16 бит), двойные слова (32 бита), учетверенные слова (64 бит), строки. При записи в буфер, он будет автоматически увеличиваться до нужного размера. Размер буфера всегда измеряется в байтах. Индекс буфера при записи или чтении из него начинается с нуля и также измеряется в количестве байт с начала буфера.&lt;br /&gt;
&lt;br /&gt;
== Атрибуты и функции==&lt;br /&gt;
{{function header}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.Array|[&amp;lt;Индекс буфера (INT)&amp;gt;], [&amp;lt;Индекс буфера (INT)&amp;gt;,&amp;lt;Размер данных (INT)&amp;gt;]]]&lt;br /&gt;
|form={{Grey|Buffer}}'''[&amp;lt;Индекс буфера (INT)&amp;gt;{{Optional|,&amp;lt;Размер данных (INT)&amp;gt;{{Default|{{Eq}}1}}}}]''':''&amp;lt;Данные буфера (INT)&amp;gt;''&lt;br /&gt;
|type=0&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Использование синтаксиса массивов позволяет получить или изменить содержимое буфера по его индексу. Размер данных можно задать вторым аргументом массива.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.Create|Create]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''Create'''({{Optional|&amp;lt;Исходный размер буфера (INT)&amp;gt;{{Default|{{Eq}}0}}}}):''&amp;lt;Новый объект (BUFFER)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция возвращает новый объект типа [[Буфер]] с нужным начальным размером, если необходимо.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.Size|Size]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''Size'''({{Optional|&amp;lt;Новый размер буфера (INT)&amp;gt;}}):''&amp;lt;Текущий размер буфера (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция возвращает текущий размер буфера, также изменяет этот размер, если задан первый аргумент.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.LoadFromFile|LoadFromFile]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''LoadFromFile'''(''&amp;lt;Путь и имя файла (STRING)&amp;gt;''{{Optional|,&amp;lt;Начальная позиция файла (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Количество байтов для чтения (INT)&amp;gt;,&amp;lt;Индекс буфера (INT)&amp;gt;{{Default|{{Eq}}0}}}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция читает требуемую часть указанного файла в буфер, начиная с указанного индекса. Если в процессе чтения произошла ошибка, функция вызывает исключение.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SaveToFile|SaveToFile]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SaveToFile'''(''&amp;lt;Путь и имя файла (STRING)&amp;gt;''{{Optional|,&amp;lt;Индекс буфера (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Количество байтов для записи (INT)&amp;gt;}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция сохраняет требуемую часть буфера в указанный файл. Если в процессе чтения произошла ошибка, функция вызывает исключение.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.AppendToFile|AppendToFile]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''AppendToFile'''(''&amp;lt;Путь и имя файла (STRING)&amp;gt;''{{Optional|,&amp;lt;Индекс буфера (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Количество байтов для записи (INT)&amp;gt;}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция добавляет требуемую часть буфера к содержимому указанного файла. Если в процессе чтения произошла ошибка, функция вызывает исключение.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.GetByte|GetByte]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''GetByte'''(''&amp;lt;Индекс буфера (INT)&amp;gt;''{{Optional|,''&amp;lt;Число со знаком (INT)&amp;gt;''{{Default|{{Eq}}0}}}}):''&amp;lt;Значение (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция получает байт (со знаком, если необходимо) из буфера по указанному индексу&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.GetWord|GetWord]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''GetWord'''(''&amp;lt;Индекс буфера (INT)&amp;gt;''{{Optional|,''&amp;lt;Число со знаком (INT)&amp;gt;''{{Default|{{Eq}}0}}}}):''&amp;lt;Значение (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция получает слово (со знаком, если необходимо) из буфера по указанному индексу&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.GetDWord|GetDWord]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''GetDWord'''(''&amp;lt;Индекс буфера (INT)&amp;gt;''{{Optional|,''&amp;lt;Число со знаком (INT)&amp;gt;''{{Default|{{Eq}}0}}}}):''&amp;lt;Значение (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция получает двойное слово (со знаком, если необходимо) из буфера по указанному индексу&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.GetQWord|GetQWord]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''GetQWord'''(''&amp;lt;Индекс буфера (INT)&amp;gt;''):''&amp;lt;Значение (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция получает 64-битное целое число (число всегда будет иметь знак) из буфера по указанному индексу&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.GetRealNumber|GetRealNumber]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''GetRealNumber'''(''&amp;lt;Индекс буфера (INT)&amp;gt;''{{Optional|,&amp;lt;Тип числа (INT)&amp;gt;{{Default|{{Eq}}0}}}}):''&amp;lt;Значение (REAL)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция получает вещественное число из буфера по указанному индексу. &lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SetByte|SetByte]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SetByte'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Значение (INT)&amp;gt;'')&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция сохраняет байт (со знаком или без) в буфер по указанному индексу&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SetWord|SetWord]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SetWord'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Значение (INT)&amp;gt;'')&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция сохраняет слово (со знаком или без) в буфер по указанному индексу&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SetDWord|SetDWord]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SetDWord'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Значение (INT)&amp;gt;'')&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция сохраняет двойное слово (со знаком или без) в буфер по указанному индексу&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SetQWord|SetQWord]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SetQWord'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Значение (INT)&amp;gt;'')&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция сохраняет 64-битное числовое значение в буфер по указанному индексу&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SetRealNumber|SetRealNumber]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SetRealNumber'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Значение (REAL)&amp;gt;''{{Optional|,&amp;lt;Тип числа (INT)&amp;gt;{{Default|{{Eq}}0}}}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция сохраняет вещественное числовое значение в буфер по указанному индексу.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.GetString|GetString]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''GetString'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Размер строки в байтах (INT)&amp;gt;''{{Optional|,''&amp;lt;Кодовая страница (INT)&amp;gt;''{{Default|{{Eq}}0}}}}):''&amp;lt;Результирующая строка (STRING)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция получает однобайтовую строку в указанной кодировке возвращает ее в виде ANSI строки, если кодовая страница кодировки равна нулю, или в виде UFT-16 строки, если кодовая страница не равна нулю.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SetString|SetString]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SetString'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Строка для записи в буфер (STRING)&amp;gt;''{{Optional|,''&amp;lt;Кодовая страница (INT)&amp;gt;''{{Default|{{Eq}}0}}}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция записывает в буфер символы из строки, предварительно перекодировав ее в требуемую кодировку. Будет произведена запись однобайтной строки.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.GetStringW|GetStringW]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''GetStringW'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Размер строки в символах (INT)&amp;gt;):''&amp;lt;Результирующая строка (STRING)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция получает UTF-16 (двухбайтную) строку из буфера по указанному индексу.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SetStringW|SetStringW]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SetStringW'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Строка для записи в буфер (STRING)&amp;gt;'')&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция записывает в буфер символы из UTF-16 (двухбайтной) строки по указанному индексу.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.GetBuffer|GetBuffer]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''GetBuffer'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Размер в байтах (INT)&amp;gt;''):''&amp;lt;Результат-буфер (BUFFER)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция создает новый объект буфера и заполняет его указанной частью текущего буфера.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.CopyTo|CopyTo]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''CopyTo'''(''&amp;lt;Буфер для записи (BUFFER)&amp;gt;'',''&amp;lt;Индекс текущего буфера для чтения (INT)&amp;gt;'',''&amp;lt;Количество байт для чтения (INT)&amp;gt;''{{Optional|,&amp;lt;Индекс в указанном буфере для записи (INT)&amp;gt;{{Default|{{Eq}}0}}}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция сохраняет другой буфер по указанному адресу требуемую часть из текущего буфера.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.Fill|Fill]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''Fill'''(''&amp;lt;Индекс буфера (INT)&amp;gt;'',''&amp;lt;Размер в байтах (INT)&amp;gt;'',''&amp;lt;Значение для записи (INT)&amp;gt;''{{Optional|,&amp;lt;Тип значения (INT)&amp;gt;{{Default|{{Eq}}0}}}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=1&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция заполняет указанную часть буфера указанным значением. Значение может быть как байтом, словом, двойным словом, так и четверным словом.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.CopyData|CopyData]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''CopyData'''(''&amp;lt;Индекс начала данных (INT)&amp;gt;'',''&amp;lt;Размер области в байтах (INT)&amp;gt;'',''&amp;lt;Индекс назначения копирования (INT)&amp;gt;'')&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция копирует данные внутри буфера. Данные копируются начиная с начала отрезка, заканчивая концом отрезка копирования (в прямом направлении). Обычно эта процедура применяется при перемещении данных ближе к началу буфера, при этом, отрезок копирования может пересекаться с отрезком назначения.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.CopyDataInverse|CopyDataInverse]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''CopyDataInverse'''(''&amp;lt;Индекс начала данных (INT)&amp;gt;'',''&amp;lt;Размер области в байтах (INT)&amp;gt;'',''&amp;lt;Индекс назначения копирования (INT)&amp;gt;'')&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция копирует данные внутри буфера. Данные копируются начиная с конца отрезка, заканчивая началом отрезка копирования (в обратном направлении). Обычно эта процедура применяется при перемещении данных дальше к концу буфера, при этом, отрезок копирования может пересекаться с отрезком назначения. &lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.CopyFromSystemMemory|CopyFromSystemMemory]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''CopyFromSystemMemory'''(''&amp;lt;Указатель в системной памяти (INT)&amp;gt;'',''&amp;lt;Размер данных в байтах (INT)&amp;gt;''{{Optional|,&amp;lt;Индекс назначения копирования (INT)&amp;gt;}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция копирует данные указанного размера из системной памяти в буфер по указанному индексу. '''Внимание''': функция работает с прямыми адресами системной памяти, что может вызвать системное исключение доступа, если адрес недоступен или память не выделена. Системное исключение будет превращено в локальное исключение вызываемое функцией. Функция может использоваться в совокупности с функциями [[Объект загружаемой системной библиотеки|объекта загружаемой системной библиотеки]].&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.CopyToSystemMemory|CopyToSystemMemory]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''CopyToSystemMemory'''(''&amp;lt;Указатель в системной памяти (INT)&amp;gt;''{{Optional|,&amp;lt;Размер данных в байтах (INT)&amp;gt;,&amp;lt;Индекс в буфере для копирования (INT)&amp;gt;}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция копирует данные из буфера начиная с указанного индекса заданного размера (или до конца буфера) в системную память. '''Внимание''': функция работает с прямыми адресами системной памяти, что может вызвать системное исключение доступа, если адрес недоступен или память не выделена. Системное исключение будет превращено в локальное исключение вызываемое функцией. Подобное копирование может вызвать порчу данных в памяти без создания системного исключения, которое может привести к непредсказуемым последствиям, начиная от внезапного завершения работы клиента, до общесистемного сбоя. Поэтому прежде чем копировать что-то в системную память, необходимо корректно ее выделить. Функция может использоваться в совокупности с функциями [[Объект загружаемой системной библиотеки|объекта загружаемой системной библиотеки]].&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[Buffer.SystemAddress|SystemAddress]]&lt;br /&gt;
|form={{Grey|Buffer.}}'''SystemAddress'''({{Optional|&amp;lt;Индекс в буфере (INT)&amp;gt;{{Default|{{Eq}}0}}}}):''&amp;lt;Указатель в системной памяти (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция возвращает указатель в системной памяти на индексом смещения в буфере. '''Внимание''': при записи информации в буфер, его размер автоматически увеличивается, при этом данные буфера могут перемещаться в памяти, и возвращенный ранее указатель будет указывать на адрес в памяти более не принадлежащий буферу. При записи по этому адресу, данные в памяти будут испорчены, что приведет к непредсказуемым последствиям, начиная от внезапного завершения работы клиента, до общесистемного сбоя. Возвращенный указатель можно использовать только до изменения размеров буфера, после чего необходимо сновать вызвать функцию для получения обновленного указателя. Функция может использоваться в совокупности с функциями [[Объект загружаемой системной библиотеки|объекта загружаемой системной библиотеки]].&lt;br /&gt;
}}&lt;br /&gt;
{{function footer}}&lt;br /&gt;
&lt;br /&gt;
== Объект структуры данных записи ==&lt;br /&gt;
Структура данных ''запись'' ('''MemoryRecord''') позволяет получить удобный доступ к бинарным данным в системной памяти или в буфере. Она может использоваться в двух основных случаях:&lt;br /&gt;
* Импорт или экспорт бинарных данных (к примеру, чтение формата ''BMP'' или ''WAV'' напрямую с диска)&lt;br /&gt;
* Работа с [[Объект загружаемой системной библиотеки|функциями загружаемых системных библиотек]]. Функции часто работают со структурами данных, которые требуется разбирать или создавать для вызова функций библиотек.&lt;br /&gt;
Объект позволяет создать запись любой сложности, однако существуют несущественные ограничения, которые можно легко обойти (в данный момент нельзя создать &amp;quot;массив массивов&amp;quot;, требуется разделить массивы по разным записям и использовать одну запись внутри другой). Сама запись представляет структуру, не привязанную к памяти, поэтому после создания ее необходимо либо привязать к буферу ([[MemoryRecord.Assign|Assign]] или [[MemoryRecord.Allocate|Allocate]]), либо непосредственно к адресу системной памяти ([[MemoryRecord.AssignToSystemMemory|AssignToSystemMemory]]), после чего поля записи становятся доступными для чтения или записи. Дублирования записи осуществляется с помощью функции [[MemoryRecord.Copy|Copy]], при этом сама структура в памяти не дублируется, создается новая привязка к ней, поэтому, такой процесс происходит быстро и не затрачивает дополнительную память.&lt;br /&gt;
&lt;br /&gt;
Для большей информации и примеров см. статью [[MemoryRecord.Create|Create]].&lt;br /&gt;
 &lt;br /&gt;
{{function header}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.Array|&amp;lt;Имя поля&amp;gt;[&amp;lt;Индекс массива (INT)&amp;gt;]]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''&amp;lt;Имя поля&amp;gt;[&amp;lt;Индекс массива (INT)&amp;gt;]''':''&amp;lt;Данные массива&amp;gt;''&lt;br /&gt;
|type=0&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Использование синтаксиса массивов позволяет получить или изменить данные в массивах структуры записей. Запись должна быть привязана к памяти или буферу.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.FieldName|&amp;lt;Имя поля&amp;gt;]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''&amp;lt;Имя поля&amp;gt;''':''&amp;lt;Данные поля&amp;gt;''&lt;br /&gt;
|type=0&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Атрибут позволяет получить или изменить данные по имени поля записи. Запись должна быть привязана к памяти или буферу.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.Create|Create]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''Create'''(''&amp;lt;Описание структуры записи (STRING)&amp;gt;''{{Optional|,&amp;lt;Привязать созданную запись к буферу (BUFFER)&amp;gt;,&amp;lt;Индекс в буфере (INT)&amp;gt;}}):''&amp;lt;Новый объект записи (MEMORYRECORD)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция создает новый объект записи по указанным правилам, привязывая его к существующему буферу, если это необходимо.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.Allocate|Allocate]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''Allocate'''():''&amp;lt;Новый буфер записи (BUFFER)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция отвязывает запись от ее текущей привязки, создает новый буфер с размером, совпадающим с размером записи и привязывает запись к новому буферу. Созданный буфер будет заполнен нулевыми байтами.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.Buffer|Buffer]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''Buffer'''():''&amp;lt;Привязанный буфер или системный указатель (BUFFER,INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция возвращает объект буфера, привязанного к текущей записи, либо системный указатель, если запись привязана к системной памяти. Если запись не привязана, функция возвращает пустое значение.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.Assign|Assign]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''Assign'''(''&amp;lt;Буфер для привязки (BUFFER)&amp;gt;''{{Optional|,&amp;lt;Индекс в буфере (INT)&amp;gt;}})&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция отвязывает запись от текущей привязки, и привязывает ее к заданному в аргументе буферу.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.AssignToSystemMemory|AssignToSystemMemory]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''AssignToSystemMemory'''(''&amp;lt;Системный указатель (INT)&amp;gt;'')&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция отвязывает запись от текущей привязки, и привязывает ее к заданному в аргументе системному указателю. '''Внимание''': запись, привязанная к системной памяти, работает с прямыми адресами системной памяти, что может вызвать системное исключение доступа, если адрес недоступен или память не выделена.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.Copy|Copy]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''Copy'''():''&amp;lt;Новый объект записи (MEMORYRECORD)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция создает копию структуры записи, и возвращает ее как новую запись. Новая запись не будет привязана.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.Size|Size]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''Size'''():''&amp;lt;Размер записи в байтах (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция возвращает размер записи в байтах. Запись может быть не привязана.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.Index|Index]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''Index'''(''&amp;lt;Наименование поля (STRING)&amp;gt;''{{Optional|,&amp;lt;Индекс массива (INT)&amp;gt;{{Default|{{Eq}}0}}}}):''&amp;lt;Смещение к данным поля от начала записи в байтах (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция возвращает смещение указанного поля в байтах от начала записи (для полей-массивов также можно указать индекс массива). Запись может быть не привязана. Важно понимать, что для записей, входящих в другие записи, будет возвращено смещение от начала текущей записи, а не ее родителя.&lt;br /&gt;
}}&lt;br /&gt;
{{function entry&lt;br /&gt;
|name=[[MemoryRecord.SystemAddress|SystemAddress]]&lt;br /&gt;
|form={{Grey|MemoryRecord.}}'''SystemAddress'''({{Optional|&amp;lt;Наименование поля (STRING)&amp;gt;,&amp;lt;Индекс массива (INT)&amp;gt;{{Default|{{Eq}}0}}}}):''&amp;lt;Системный адрес к данным поля (INT)&amp;gt;''&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|visual=0&lt;br /&gt;
|description=Функция возвращает системный указатель на указанное имя поля (для полей-массивов также можно указать индекс массива). Запись должна быть привязана. '''Внимание''': использование системных указателей опасно, запись или чтение может вызвать системное исключение доступа, если адрес недоступен или память не выделена.&lt;br /&gt;
}}&lt;br /&gt;
{{function footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Объекты}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>