Difference between revisions of "Text.Load"

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

Revision as of 11:41, 18 November 2022

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

Функция очищает содержимое текущего объекта и загружает его из файла в требуемой кодировке. Перед загрузкой и разбором XML-файлов рекомендуется применить функцию ReformatXML.

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

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

Синтаксис

Text.Load(<Имя файла для загрузки или буфер (STRING,BUFFER)>,<Кодовая страница (INT)>=-1):<Размер загруженного файла в символах (INT)>

Аргументы

  • <Имя файла для загрузки или буфер (STRING,BUFFER)> - Путь и имя файла для загрузки. Путь может быть как серверным и так и локальным (Имена файлов). Аргумент также может содержать объект буфера, из которого будет производиться загрузка.
  • <Кодовая страница (INT)> - (необязательный аргумент) Кодовая страница может принимать сл. значения: -1 (по умолчанию) -- всегда загружать файл в ANSI без изменения данных (т.е. в байтах), 0 -- загружать файл в ANSI, если он не имеет BOM, иначе загружать согласно BOM и перекодировать в UTF-16, в случае других значений аргумента, последний задает кодовую страницу из которой будет произведено перекодирование в UTF-16.

Возвращаемое значение

Возвращается числовое значение, количество символов в тексте. Если текст хранится в кодировке UTF-16, количество символов не совпадает с размером файла в байтах.

Примеры

Т:=Text.Create();
Т.Load(Файл,0);
If not Т.IsUnicode Then
  Message("Текст не имел BOM, возможна неверная кодировка или потеря международных символов!","!");
EndIf;
//Изменение кодировки на UTF-8, объект далее имеет признак ANSI, однако, сам текст хранится в UTF-8
Т.TranslateTo(65001);
Т.Save("C:\test.xml");