ExternalObject.FileToString

From SunFlurry wiki
Revision as of 08:42, 27 November 2023 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  FileToString (Работа с внешними объектами)
Объект:Внешний загружаемый объект
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, ошибка загрузки
Визуальность:Нет

Функция загружает указанный файл внешнего объекта в строку, используя указанную кодовую страницу. Результирующая строка будет перекодирована в UTF-16, если кодовая страница равна нулю и присутвует BOM или больше нуля. При указании пути используется разделитель /, начальная часть пути Modules/FreeForms обязательна к указанию, если файл находится внутри этой ветки (к примеру: Modules/FreeForms/Установки/Настройки.ini).

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

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

Синтаксис

ExternalObject.FileToString(<Путь и имя файла файла внутри объекта (STRING)>,<Кодовая страница (INT)>=0):<Результат (STRING)>

Аргументы

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

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

Функция возвращает строку ANSI или UTF-16 в зависимости от аргументов вызова функции.

Примеры

ИмяФайла:="c:\Обработки\Вычислить.sfo";
аОбъект:=ExternalObject.Load(ИмяФайла);

If аОбъект.DoesFileExist("Modules/FreeForms/Установки.ini") Then
  Стр:=аОбъект.FileToString("Modules/FreeForms/Установки.ini");
  Ini:=Ini.Create();
  Ini.AddFromString(Стр);
  Message("Обработка имеет версию: "+Ini.GetData("Version","1.00"));
Else
  Message("Обработка имеет версию: 1.00");
EndIf;