Описание формата ini-файлов

Формат допустимых строк

1.   Все ini-файлы, используемые в продукте S-Terra Gate, могут содержать следующие типы строк:

·       Строка имени секции – строка, обозначающая начало новой секции переменных

·       Строка описания переменной – строка, содержащая имя и значение переменной

·       Строка комментариев – строка, содержащая комментарии или пустая строка.

 

Строка имени секции имеет следующий формат:

[SECTION_NAME]

Пробелы и символы табуляции, стоящие до открывающей и после закрывающей квадратных скобок, игнорируются. Именем секции считается строка, помещенная между квадратными скобками (любой символ является значимым). Допускается пустое имя секции – []. 

 

Строка описания переменной имеет следующий формат:

var_name = var_value 

Пробелы и знаки табуляции, стоящие до и после var_name и var_value  игнорируются.

 

Строка комментариев имеет следующий формат:

! comment  string  

Пробелы и знаки табуляции, стоящие до символа ! игнорируются.

 

Пустая строка (не содержащая ничего, кроме пробелов и знаков табуляции) приравнивается к строке комментария.

 

Любая строка, не удовлетворяющая ни одному типу описанных строк, является ошибочной, и будет приводить к ошибке чтения ini-файла.

 

2.   Повторяющиеся имена секций.

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

 

3.   Повторяющиеся имена переменных.

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

 

4.   Переменные, не принадлежащие ни одной из секций.

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

File01.ini

 Var01=value01

 Var02=value02

 Vat03=valeue03

 

File02.ini

 []

 Var01=value01

 Var02=value02

 Vat03=valeue03

 

5.   Перезапись ini-файла.

В процессе работы некоторые ini-файлы могут модернизироваться продуктом. При этом, все комментарии и пустые строки будут сохранены.

·       В случае повторяющихся имен секций подобные секции будут объединены в одну (первая дополняется переменными последующих). В этом случае комментарии, принадлежащие секциям, объединяются.

·       В случае повторяющихся имен переменных (принадлежащих одной секции) будет оставлено только последнее ее описание. В этом случае комментарии, принадлежащие переменной, объединяются.

 

6.   Принадлежность строк комментариев.

Любая строка комментариев, расположенная перед строкой имени секции или строкой описания переменной, считается принадлежащей этой строке.