пятница, 7 августа 2009 г.

Словарь для параметров

С появлением в Windows-95 системного реестра, он стал наиболее популярным хранилищем параметров для разных программ. Но, для небольшого скринсейвера можно хранить настройки и в ini-файле, который обладает по сравнению с реестром одним преимуществом - читабельностью. Объяснить неопытному пользователю, как Regedit-ом заменить в нужной ветке реестра "0" на "1", может оказаться нелегко. А, открыв Блокнотом ini-файл, он внесет нужные исправления без труда. Это может упростить поддержку продукта, которая (особенно - при англоязычных пользователях) способна стать для разработчика нетривиальной задачей.

Среди многообразия классов NET Framework есть коллекция StringDictionary, которая заметно облегчает программисту работу с ini-файлом.
Мы считываем очередную строку из текстового файла функцией ReadLine(...) и находим в ней символ "=" функцией IndexOf(...). То, что слева от него - название параметра (ключ), справа - значение параметра. Можно добавить их в StringDictionary функцией Add(...), а потом - обращаться к значению параметра обычным индексированием: [] (как для массива).
Сохранение ini-файла тоже не представляет труда. Получаем итератор для коллекции функцией GetEnumerator(...) и преобразуем функцией dynamic_cast<...> очередной (Current) элемент словаря к типу DictionaryEntry. Для него уже определены свойства Key и Value, которые мы и сохраняем в файл функцией WriteLine(...).

Вывод: старые идеи можно сочетать с новыми технологиями

Комментариев нет:

Отправить комментарий

Можете оставить комментарий: