Buffer.Fill

From SunFlurry wiki
Jump to: navigation, search
  Fill (Заполнение буфера)
Объект:Буфер
Статус разработки: Частичная реализация
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, отрицательный индекс.
Визуальность:Нет

Функция заполняет указанную часть буфера указанным значением. Значение может быть как байтом, словом, двойным словом, так и четверным словом. При необходимости, буфер будет увеличен автоматически.

Синтаксис

Buffer.Fill(<Индекс буфера (INT)>,<Размер в байтах (INT)>,<Значение для записи (INT)>,<Тип значения (INT)>=0)

Аргументы

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

Примеры

аБуф:=Buffer.Create();
аБуф.Fill(0,65536,65280,1);
//Будет выведено число 65280
Message(аБуф.GetWord(1000));
//Будет выведено число 255
Message(аБуф.GetWord(1001,1));