Buffer.Array
Revision as of 20:41, 19 February 2022 by 1>Admin
[<Индекс буфера (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]);