|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Работа с ini-файлами в Delphi
Мой компонент работы с ini-файлами KRIniConfig, является надстройкой над классом TIniFile.
Каждый параметр конфигурационного файла представляет из себя отдельный компонент. Имя компонента является и именем параметра в ini-файле, что дает возможность обращаться к параметру по имени прямо из кода программы. Описание свойств и методов: https://kandiral.ru/delphi/kriniconfig.pas.html Пример использования с видеообзором: https://kandiral.ru/delphi/primer_is...iniconfig.html |
#2
|
|||
|
|||
А нафига так? В чем преимущество перед стандартным компонентом?
|
#3
|
|||
|
|||
Цитата:
А где вы видели стандартный компонент для работы с ini файлами? Есть класс TIniFile, я его и использую в своем компоненте. Мой компонент делает проще работу с ini файлами. И если вы смотрели пример, то я уже пошёл дальше и сделал набор визуальных интерактивных компонентов к которым достаточно подключить мой конфигурационный параметр и они сами сохраняют данные в ini файл. То есть я преследую задачу уменьшить количество кода при разработке программ. И в моём примере форма настроек с сохранением данных в конфигурационный файл имеет всего один метод с двумя строками кода. |
#4
|
|||
|
|||
Ну, ты заменяешь несколько строчек сохранения/чтения ini-файла на кучу кода, который скрыт от основной программы. Т.е. с точки зрения бинарника кода становится на самом деле больше (кстати, dfm это тоже код, хотя и не прямой), и памяти используется больше. Да, особенно на последних версиях компилятора это уже совсем не критично, и все-таки...
Плюс ты вводишь ограничения на типы сохраняемых данных. Плюс при прямом использовании TIniFile я могу всегда его заменить на TRegIniFile (с минимальными правками своего кода) и получить сохранение параметров в реестр. Ну и плюс ко всему, ini-файл нынче не в моде. По умолчанию он пытается писать в %WindowsHome%, а теперь запись туда запрещена (можно обойти, если поставить в манифесте запрос административных прав, но тогда винда будет запрашивать подтверждение при запуске программы, это тоже можно обойти, но какой обычный пользователь это будет делать... Нет, если ты пишешь программу только для себя, то все ОК). Запись в папку программы, если она установлена стандартым способом в %ProgramFiles%, тоже запрещена. Т.е. там надо писать в %UserHome%. "Не пойми меня праильно". Я не то, что бы огульно критикую. Если тебе действительно удобно работать с визуальным редактором, а не написать немного кода, дело твое. Наверняка найдутся еще люди, которые считают так же. Т.е. воспринимай то, что я написал выше, как советы к доработке. Например, по поводу custom типов (я, например, очень часто создаю перечислимые типы для некоторых параметров, там приходится писать небольшой код для корректрого сохранения/чтения). Как ты решаешь такую проблему? ЗЫ. Я обычно создаю класс для хранения параметров. У этого класса есть пара методов Save/Load. Соответственно, весь код в одном месте, из основной программы только вызов этих методов. |