Difference between revisions of "Buffer.Array"

From SunFlurry wiki
Jump to: navigation, search
m (1 revision imported)
1>Admin
Line 20: Line 20:
 
</code>
 
</code>
 
==== Аргументы ====
 
==== Аргументы ====
* <code>''<Индекс буфера (INT)>''</code> - Аргумент задает индекс буфера для записи или чтения. Первый байт буфера имеет индекс 0. При чтении из буфера, индекс с размером данных должны укладываться в размер буфера, иначе будет вызвано исключение. При записи, будет будет автоматически увеличен при необходимости, для того, чтобы новые данные поместились в нем.
+
* <code>''<Индекс буфера (INT)>''</code> - Аргумент задает индекс буфера для записи или чтения. Первый байт буфера имеет индекс 0. При чтении из буфера, индекс с размером данных должны укладываться в размер буфера, иначе будет вызвано исключение. При записи, буфер будет автоматически увеличен при необходимости, для того, чтобы новые данные поместились в нем.
 
* <code>''<Размер данных (INT)>''</code> - {{Optional}} Размер адресуемых данных, возможны следующие значения:
 
* <code>''<Размер данных (INT)>''</code> - {{Optional}} Размер адресуемых данных, возможны следующие значения:
 
** '''1''' (по умолчанию) -- адресуется один байт данных без знака.
 
** '''1''' (по умолчанию) -- адресуется один байт данных без знака.

Revision as of 21:41, 19 February 2022

  [<Индекс буфера (INT)>], [<Индекс буфера (INT)>,<Размер данных (INT)>] (Получение или изменение данных)
Объект:Буфер
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Исключения:Невозможно превратить в число, неверные аргументы
Визуальность:Нет

Использование синтаксиса массивов позволяет получить или изменить содержимое буфера по его индексу. Размер данных можно задать вторым аргументом массива, также задается будут ли полученные данные иметь знак или нет.

Синтаксис

Buffer[<Индекс буфера (INT)>,<Размер данных (INT)>=1]:<Данные буфера (INT)>

Аргументы

  • <Индекс буфера (INT)> - Аргумент задает индекс буфера для записи или чтения. Первый байт буфера имеет индекс 0. При чтении из буфера, индекс с размером данных должны укладываться в размер буфера, иначе будет вызвано исключение. При записи, буфер будет автоматически увеличен при необходимости, для того, чтобы новые данные поместились в нем.
  • <Размер данных (INT)> - (необязательный аргумент) Размер адресуемых данных, возможны следующие значения:
    • 1 (по умолчанию) -- адресуется один байт данных без знака.
    • -1 -- адресуется один байт данных со знаком.
    • 2 -- адресуется одно слово данных без знака.
    • -2 -- адресуется одно слово данных со знаком.
    • 4 -- адресуется одно двойное слово данных без знака.
    • -4 -- адресуется одно двойное слово данных со знаком.
    • 8 или -8 -- адресуется 64-битное число со знаком.

Примеры

аБуф:=Buffer.Create();
//Записываем три слова (6 байт)
аБуф[0,2]:=65280;
аБуф[2,2]:=65280;
аБуф[4,2]:=65280;
//Будет выведено число 4278255360
Message(аБуф[0,4]);
//Будет выведено число 16711935
Message(аБуф[1,-4]);