Difference between revisions of "File.LoadFiles"

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

Latest revision as of 08:50, 7 February 2021

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

Функция осуществляет загрузку найденных с помощью выборки файлов, и отдается содержимое загруженных файлов в списке. Так как функция выполняется за один запрос к серверу (если файлы находятся на сервере), ее можно использовать, как функцию оптимизации при работе с клиентами, подключенными через медленные соединения (к примеру, через Интернет). При некорректном использовании функция может использовать большое количество памяти на сервере или клиенте, загрузить сеть передачей большого пакета и выполняться очень долгое время! Функция рекомендуется для использования при загрузке небольших текстовых файлов (к примеру, файлов инициализации), либо любых других небольших файлов.

Синтаксис

File.LoadFiles(<Путь и маска для выборки файлов (STRING)>,<Тип отдаваемых объектов (INT)>=0,<Включать вложенные папки (INT)>=0):<Список с содержимым файлов выборки (LIST)>

Аргументы

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

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

Возвращается список файлов. Наименованиями элементов списка служат имена файлов (или папок). В отличие от функции LoadFileNames, наименования всегда имеют путь. Содержимое файлов находится в значениях элементов списка, формат содержимого зависит от второго аргумента функции.

Примеры

//Пример загрузки файлов с расширением "ini" в таблицу тУстановки
aList:=File.LoadFiles(Каталог+"*.ini",0,1);
aList.SortByNames();
For i:=1 To aList.Size() Do
  Ини:=Ini.Create();
  If not Ини.AddFromString(Стр) Then
    Exit;
  EndIf;
  If (not Ини.DoesExist("Description"))or(not Ини.DoesExist("Caption")) Then
    Exit;
  EndIf;
  тУстановки.AddLine("Каталог,Описание,Заголовок",Каталог,Ини.GetData("Description","?"),Ини.GetData("Caption","?"));
EndDo;