Difference between revisions of "Buffer.Array"

From SunFlurry wiki
Jump to: navigation, search
1>Admin
m (1 revision imported)
 
(No difference)

Latest revision as of 12:04, 13 March 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]);