Skip to content

Alardinal/Alardinal.Configuration.INI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alardinal.Configuration.INI

Реализация INI конфигурации.

Дисклеймер

Реализовывал данное чудо чисто для своего использования, но решил выложить как образец.

Примеры

Комментарии

В файле INI можно оставлять комментарии, но при сохранении нового файла, сохранятся только те комментарии, что были в шапке файла.

Комментарии должны начинатся с символов // или #.

# Комментарий 1
// Комментарий 2

Если при чтении INI файла в начале файла находилась неправильно определенная группа элементов или элементы без группы, то все такие строки будут прочитанны как комментарии.

# Комментарий 1
// Комментарий 2

какой-то ключ = какое-то его значение

[группа с косяком
ключ=значеие

[НазваниеГруппы]
Ключ 1 = Значение 1
Ключ 2 = Значение у-у-у-у-у!

Группы

INI файл должен быть разбит на группы, все что не входит в состав группы будет пропущено.

# Комментарий 1
// Комментарий 2

[НазваниеГруппы]
Ключ 1 = Значение 1
Ключ 2 = Значение у-у-у-у-у!

Определение пустого INI файла

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

using Alardinal.Configuration.INI;

Config IniCfg = new Config(new FileInfo("config/empty.ini"));

Определение INI файла с значениями по умолчанию

Что бы определить INI файл с заранее заложенным содержимым, достаточно просто вызвать конфигурацию, которой не существует с передачей метода, определяющий значения по умолчанию.

using Alardinal.Configuration.INI;

Config IniCfg = new Config(new FileInfo("config/not_exists.ini"), delegate(Config cfg)
{
  cfg.AddStartComment("Комментарий, который будет помещен в начале файла.");
  cfg.AddStartComment("Можно добавить еще один.");
  
  cfg.SetInit("general", "days", 1);
  cfg.SetString("general", "test", "Тестовое значение");
  
  cfg.SetConfigMap("general", "test_map", new ConfigMap(new string[] { "А", "так", "можно", "делать", "перечисления." });
});

Если файл, на который вы пытаетесь указать - не существует, то на его месте будет создана конфигурация с определенными вами данными.

#Alardinal INI configuration.
#Комментарий, который будет помещен в начале файла.
#Можно добавить еще один.

[general]
days=1
test=Тестовое значение
test_map=А,так,можно,делать,перечисления.

Лицензия

MIT License, а вообще код для кого угодно.

About

Реализация INI конфигурации.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages