Difference between revisions of "Buffer.Array"
1>Admin |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:51, 22 January 2025
[<Индекс буфера (INT)>], [<Индекс буфера (INT)>,<Размер данных (INT)>] (Получение или изменение данных) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Использование синтаксиса массивов позволяет получить или изменить содержимое буфера по его индексу. Размер данных можно задать вторым аргументом массива, также задается будут ли полученные данные иметь знак или нет. Также данные могут быть вещественными числами.
Синтаксис
Buffer[<Индекс буфера (INT)>,<Размер данных (INT)>=1]:<Данные буфера (NUMBER)>
Аргументы
<Индекс буфера (INT)>
- Аргумент задает индекс буфера для записи или чтения. Первый байт буфера имеет индекс 0. При чтении из буфера, индекс с размером данных должны укладываться в размер буфера, иначе будет вызвано исключение. При записи, буфер будет автоматически увеличен при необходимости, для того, чтобы новые данные поместились в нем.<Размер данных (INT)>
- (необязательный аргумент) Размер адресуемых данных, возможны следующие значения:- 1 (по умолчанию) -- адресуется один байт данных без знака.
- -1 -- адресуется один байт данных со знаком.
- 2 -- адресуется одно слово данных без знака.
- -2 -- адресуется одно слово данных со знаком.
- 4 -- адресуется одно двойное слово данных без знака.
- -4 -- адресуется одно двойное слово данных со знаком.
- 8 или -8 -- адресуется 64-битное число со знаком.
- 104 -- адресуется вещественное число IEEE 754 Single (4 байта).
- 108 -- адресуется вещественное число IEEE 754 Double (8 байт).
- 110 -- адресуется вещественное число x87 Extended (10 байт).
Примеры
аБуф:=Buffer.Create(); //Записываем три слова (6 байт) аБуф[0,2]:=65280; аБуф[2,2]:=65280; аБуф[4,2]:=65280; //Будет выведено число 4278255360 Message(аБуф[0,4]); //Будет выведено число 16711935 Message(аБуф[1,-4]);