![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где хранить настройки программы?
GlobalVariable © (2008-10-06 10:11:00)Всем привет.
Где удобнее(правильнее?) сохранять текущие настройки программы? Т.е. есть инифайл или ветка в реестре. Куда мне загружать их? Сделать глобальную переменную record? Или где? Или объект сделать?
123-ий (2008-10-07 07:53:00) [1]ини
Anatoly Podgoretsky (2008-10-06 21:06:00) [2]> Правильный$Вася (06.10.2008 20:36:07) [7]
Если это не W9x то это не преимущество, поскольку нет разницы. Преимущество в изначально иерархической структуре реестра, эффективностью работы, развитыми данными, например двоичные не проблема. Нет проблемы и с региональными настройками.
Правильный$Вася (2008-10-06 20:36:00) [3]уточню
> MsGuns © (06.10.08 11:49) [3]
1. Реестр
Преимущества: если у каждого юзера свои настройки, то это удобнее ini-файла, при этом другой юзер ничего не сможет исправить
2. Ини-файл:
Недостатки: если программа устанавливается админом, то папка с рядом лежащим ини должна иметь права на запись каждому пользователю, иначе у каждого юзера будет свой ини в documents and settings, а это геморройнее реестра
GlobalVariable (2008-10-06 19:23:00) [4]
> MsGuns © (06.10.08 11:49) [3]
учитывая, что делаю клиент-сервер, то, пожалуй, засуну в БД.
всем спасибо.
Только, вот, эта.... Возможно я вопрос некорректно задал: меня интересует как хранить настройки в оперативной памяти? Скажем, настройка двух разных типов поведения некоего объекта. Не считывать же мне ее каждый раз из ини/реестра/БД? В чем хранить? В объекте, или глобальной переменной? Или как их положено хранить? Кол-во настроек неизвестно(тз пополняется по мере развития проекта).
{RASkov} (2008-10-06 14:28:00) [5]> Недостатки: легко правятся или даже удаляются пользователем,
> не рекомендуется хранить в настройках слишком много данных,
> необходимость при перемещении приложения "тащить" вместе
> с ним и ини-файл
А может это даже и преимущество, а? :)
clickmaker (2008-10-06 11:59:00) [6]зависит от программы.
если юзер хочет ее каждый раз зарускать с флэшки, то удобно, когда настройки лежат рядом. В ини или хмл - как удобней
MsGuns (2008-10-06 11:49:00) [7]1. Реестр
Преимущества: настройки спрятаны и защищены от зловредного или нерадивого пользователя, не зависят от местоположения программы.
Недостатки: захламление реестра и необходимость "своей" записи реестра для каждого приложения, не рекомендуется хранить в настройках слишком много данных
2. Ини-файл:
Преимущества: не захламляет реестр, независимость разных ини-файлов друг от друга так как они хранятся в папке с приложением - что позволяет иметь на одном компе несколько версий одного и того же приложения
Недостатки: легко правятся или даже удаляются пользователем, не рекомендуется хранить в настройках слишком много данных, необходимость при перемещении приложения "тащить" вместе с ним и ини-файл
3. База данных
Преимущества: неограниченный объем данных и высокая скорость обработки, независимость от местоположения приложения, в т.ч. позволяет хранить его на сетевом ресурсе, что очень удобно для приложениий, подвергающихся частой модификации т.к. нет потребности в деплое, полная защита от пользователя. Настройки сохраняются даже при переустановке ОС. При условии хранения БД на сетевом ресурсе настройки действуют для пользователя с какого бы ПК он не запускал приложение
Недостатки: установка собственно СУБД и всего с нею связанного. Более сложный код доступа к настройкам. Сильно усложненная процедура деплоя на удаленных (не подключенных к ЛВС) ПК
4. Ресурсы - черт его знает - не делал :)
Vlad Oshin (2008-10-06 11:34:00) [8]я бы ини/рекорд/(xml :)) выбрал, зачем реестр дуть..
Сергей М. (2008-10-06 10:16:00) [9]
> есть инифайл или ветка в реестре. Куда мне загружать их?
Куда хочешь, туда и загружай.
При прочих равных условиях разницы нет никакой.