Ini-файл

From SunFlurry wiki
Jump to: navigation, search
  Ini (Ini-файл)
Статус разработки: Реализован
Создание объекта: Create

Объект ini-файл позволяет производить работу с внешними файлами инициализации. Файлы могут быть как в кодировке Ansi, так и в кодировке Unicode (в последнием случае, файл должен иметь корректный BOM). Каждая строка файла является либо комменатрием (начинается на знак ";"), либо указанием на ветку (представляет собой полный путь, заключенный в квардатные скобки [Ветка1\Ветка2...]), либо определением листа (в виде ИмяЛиста="ЗначениеЛиста"). Имена листьев и веток внутри одной ветки не должны быть одинаковыми. При поиске имен регистр имени не имеет значения. Листы также могут содержать бинарные данные.
Пример файла инициализации, построенного указанным способом:

;Комментарий
[Загрузки и выгрузки]
Restriction="О,К,М,Н"

;Комментарий 2
[Загрузки и выгрузки\Загрузка заявок из XLS]
Description="Загрузка из XLS"
Object="Modules\FreeForms\_ВнешниеОбработки\ЗагрузкаЗаявокXLS"

[Загрузки и выгрузки\Выгрузка на сервер]
Description="Обмен с сервером"
Object="Modules\FreeForms\_ВнешниеОбработки\ВыгрузкаНаСервер"

Атрибуты и функции

Идентификатор Статус Тип Визуальная Параметры Описание
Create Реализована Функция Ini.Create():<Новый объект (INI)> Функция возвращает новый объект типа Ini-файл
Clear Реализована Функция Ini.Clear() Функция очищает текущий ini-файл, удаляя все его ветви.
AddFromFile Реализована Функция Ini.AddFromFile(<Имя Файла (STRING)>,<Пропускать ошибки (INT)>=0):<Успешно (INT)> Функция производит загрузку из внешнего файла.
StoreToFile Реализована Функция Ini.StoreToFile(<Начальный путь (STRING)>,<Имя Файла>,<Комментарий заголовка (STRING)>,<Юникод (INT)>=1):<Успешно (INT)> Функция сохраняет ветку объекта во внешний файл.
AddFromString Реализована Функция Ini.AddFromString(<Источник (STRING)>):<Успешно (INT)> Функция производит загрузку из строки.
StoreToString Реализована Функция Ini.StoreToString(<Начальный путь (STRING)>,<Комментарий заголовка (STRING)>):<Результат (STRING)> Функция экспортирует ветку объекта в строку.
DoesExist Реализована Функция Ini.DoesExist(<Путь (STRING)>):<0 или 1 (INT)> Функция проверяет путь на существование в объекте.
CreateBranch Реализована Функция Ini.CreateBranch(<Путь (STRING)>) Функция создает ветку по указанному пути.
AddLeaf Реализована Функция Ini.AddLeaf(<Путь (STRING)>,<Данные (STRING)>) Функция создает лист по указанному пути и присваивает ему текстовое значение.
AddLeafBinary Планируется Функция Ini.AddLeafBinary(<Путь (STRING)>,<Данные (STRING,BUFFER)>) Функция создает лист по указанному пути и присваивает ему бинарное значение.
DeleteBranch Реализована Функция Ini.DeleteBranch(<Путь (STRING)>,<Удалить саму ветку (INT)>=1) Функция удаляет все вложенные ветки и листья и избирательно удаляет саму ветку.
DeleteLeaf Реализована Функция Ini.DeleteLeaf(<Путь (STRING)>) Функция удаляет лист по указанному пути.
IsBranch Реализована Функция Ini.IsBranch(<Путь (STRING)>):<0 или 1 (INT)> Функция проверяет, является ли компонент по указанному пути веткой или листом.
LeavesInBranch Реализована Функция Ini.LeavesInBranch(<Путь (STRING)>):<Количество листьев (INT)> Функция возвращает количество листьев по указанному пути, либо ноль, если путь не существует.
ComponentsInBranch Реализована Функция Ini.ComponentsInBranch(<Путь (STRING)>):<Количество листьев и веток (INT)> Функция возвращает количество листьев и веток по указанному пути, либо ноль, если путь не существует.
GetComponentByNumberName Реализована Функция Ini.GetComponentByNumberName(<Путь (STRING)>,<Индекс (INT)>):<Имя листа или ветки (STRING)> Функция возвращает имя листа (или ветки) с заданным индексом, являющегося подчиненным ветки по указанному пути.
GetComponentByNumberData Реализована Функция Ini.GetComponentByNumberData(<Путь (STRING)>,<Индекс (INT)>):<Данные листа или ветки (STRING)> Функция возвращает текстовые данные листа (или ветки) с заданным индексом, являющегося подчиненным ветки по указанному пути.
GetComponentByNumberBinaryData Планируется Функция Ini.GetComponentByNumberBinaryData(<Путь (STRING)>,<Индекс (INT)>):<Данные листа или ветки (BUFFER)> Функция возвращает бинарные данные листа или ветки с заданным индексом, являющейся подчиненной ветки по указанному пути.
GetLeafByNumberName Реализована Функция Ini.GetLeafByNumberName(<Путь (STRING)>,<Индекс (INT)>):<Имя листа (STRING)> Функция возвращает имя листа с заданным индексом, являющегося подчиненным ветки по указанному пути.
GetLeafByNumberData Реализована Функция Ini.GetLeafByNumberData(<Путь (STRING)>,<Индекс (INT)>):<Данные листа (STRING)> Функция возвращает текстовые данные листа с заданным индексом, являющегося подчиненным ветки по указанному пути.
GetData Реализована Функция Ini.GetData(<Путь (STRING)>,<Данные по умолчанию (STRING)>):<Данные (STRING)> Функция возвращает текстовые данные листа или ветки по указанному пути, если лист или ветка по указанному пути отсутствует, будет возвращена строка <Данные по умолчанию>.
GetDataBinary Планируется Функция Ini.GetDataBinary(<Путь (STRING)>):<Данные (BUFFER)> Функция возвращает бинарные данные листа или ветки по указанному пути, если лист или ветка по указанному пути отсутствует, будет возвращено пустое значение.