Difference between revisions of "Buffer.SetString"

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

Latest revision as of 08:43, 7 February 2021

  SetString (Изменение данных)
Объект:Буфер
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, строку, отрицательных индекс.
Визуальность:Нет

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

Примеры кодов некоторых кириллических и прочих кодировок:

  • 0 -- ANSI (текущая системная кодировка)
  • 866 -- Кириллица OEM
  • 1200 -- UTF-16LE (стандарное многобайтовое строковое представление в системе)
  • 1201 -- UTF-16BE (стандарное многобайтовое строковое представление в системе, с переставленными местами байтами)
  • 1251 -- Кириллица Windows
  • 1252 -- Стандартная латинская кодировка Windows (латиница-1)
  • 20866 -- Кириллица KOI-8
  • 65000 -- UTF-7
  • 65001 -- UTF-8

Синтаксис

Buffer.SetString(<Индекс буфера (INT)>,<Строка для записи в буфер (STRING)>,<Кодовая страница (INT)>=0)

Аргументы

  • <Индекс буфера (INT)> - Позиция в буфере для записи. Адресация буфера начинается с нуля.
  • <Строка для записи в буфер (STRING)> - Строка, которая будет записана в буфер.
  • <Кодовая страница (INT)> - (необязательный аргумент) Кодовая страница для перекодирования строки перед записью. Если значение равно нулю или не указано, строка не будет перекодирована перед записью (однако, если строка хранилась в UTF-16, она сначала будет превращена в ANSI с возможной потерей международных символов). Для сохранения строки в формате Unicode (1200), используйте функцию SetStringW.

Примеры

аБуф:=Buffer.Create();
аБуф.SetString(0,"Проверка работы функции",65000);
//Будет выведено "+BB8EQAQ+BDIENQRABDoEMA- +BEAEMAQxBD4EQgRL- +BEQEQwQ9BDoERgQ4BDg-"
Message(аБуф.GetString(0,аБуф.Size()));