Difference between revisions of "ExternalObject.FileToBuffer"

From SunFlurry wiki
Jump to: navigation, search
1>Admin
(Created page with "{{infobox function |name=FileToBuffer |object=Функции общего назначения#Внешний загружаемый объект|Внешний загруж...")
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08:42, 27 November 2023

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

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

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

  • 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.FileToBuffer(<Путь и имя файла файла внутри объекта (STRING)>):<Результат (BUFFER)>

Аргументы

  • <Путь и имя файла файла внутри объекта (STRING)> - Путь и имя файла внутри загруженного внешнего объекта. См. Имена файлов.

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

Функция возвращает новый буфер с содержимым требуемого файла.

Примеры

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

If аОбъект.DoesFileExist("Modules/FreeForms/Рабочее/Module.sfc") Then
  аБуф:=аОбъект.FileToBuffer("Modules/FreeForms/Рабочее/Module.sfc");
  аФун:=LoadFunctionFromBuffer(аБуф)

  //Исполняем функцию ВыполнитьОбработку в загруженном модуле
  If DoesFunctionExist("ВыполнитьОбработку",аФун) Then
    ExecuteFunction("ВыполнитьОбработку",аФун);
  Else
    Message("В модуле внешнего объекта отсутствует функция ""ВыполнитьОбработку!""","!");
  EndIf;
Else
  Message("Внешний объект не содержит нужного модуля!","!");
EndIf;