Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 17:52   #1
Paleolit
Пользователь
 
Аватар для Paleolit
 
Регистрация: 27.05.2012
Сообщений: 14
По умолчанию Где лучше хранить настройки программы

Куда лучше писать настройки программы -

1) XML файл

2) Ini файл

3) Реестр

помогите определится. Который из этих вариантов лучше.
Скажи мне на каком языке ты пишеш и я скажу тебе кто ты
Paleolit вне форума Ответить с цитированием
Старый 07.06.2012, 18:02   #2
t2skler
Форумчанин
 
Аватар для t2skler
 
Регистрация: 25.11.2010
Сообщений: 164
По умолчанию

Цитата:
Сообщение от Paleolit Посмотреть сообщение
Куда лучше писать настройки программы -

1) XML файл

2) Ini файл

3) Реестр

помогите определится. Который из этих вариантов лучше.
Работа с XML требует хоть и небольшое, но потребление оперативной памяти. Хранение настроек в реестр чревато тем, что какой-нибудь RegOrganizer их выпилит оттуда (частая практика). Да и к тому же, если настроек много, то это не есть гуд. Ini - самый оптимальный вариант хранения настроек.
Возможно Я Быдлокодер ©.
t2skler вне форума Ответить с цитированием
Старый 09.06.2012, 09:48   #3
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

XML файл.
ini - начинает сильно тормозить при кол-ве записей более 1000(я ждал минуты 2 пока сохраниться 4500 записей). Тогда приходится использовать TMemIniFile, который собственно, тоже начинает потреблять память. Или писать свой ini класс с использованием TStringsHash. Ведь обычный ini написан с использованием TStrings. Да, еще есть ограничение на длину строки - 1024 знака (можно подправить исходник класса). Я не смог сохранить строку с зашифрованным образом отпечатка пальца.
Знающий не говорит, говорящий не знает (С) Лао Цзы

Последний раз редактировалось Krok27; 09.06.2012 в 09:51.
Krok27 вне форума Ответить с цитированием
Старый 09.06.2012, 11:50   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Paleolit

Куда лучше писать настройки программы -

1) XML файл

2) Ini файл

3) Реестр

помогите определится. Который из этих вариантов лучше.


Ни в коем случае не в ini
это крайне отстойный формат не поддерживающий сохранение сложных типов, древовидной структуры и пр.

до появления .NET оптимальным местом хранения был реестр (да и сейчас вообщем-то особых противопоказаний нет), а в плюсах - поддержка транзакционных операций и возможность выставления custom security. Про древовидный спомоб хроанения настроек - это как бы само сабой подразумевается.

В последнее время MS проталкивает xml формат
из очевидных преимуществ - возможность развертывания.

так что либо reg, либо xml. ini-файлы - в (_|_)

а идеальный путь - организовать работу с настройками так, чтобы чтение/запись не были завязаны на определенное хранилище.
Rififi вне форума Ответить с цитированием
Старый 09.06.2012, 16:55   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...не было необходимости хранить в ini-файлах базы данных на мегабайты , поэтому использую всегда INI, в каталоге с проектом (объекты тоже можно хранить в ini, если кто не в курсе).

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

p.s.: использование реестра не есть оптимальный вариант, начиная от загаживания, заканчивая авирем, который на корню может пресечь его использование. Предугадать, есть ли на машине юзвера авирь и какие у него будут настройки, практически невозможно.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.06.2012, 22:17   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тоже за ИНИ. Впрочем XML уже на пятки наступает...
Про реестр забудь - нечего гадить в святилище винды, потом пожалеть можно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.06.2012, 10:33   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Я обычно выбираю нечто среднее. Есть настройки, которые просто необходимо хранить в реестре. Например, регистрация собственых расшитений.
В ini храню локальные настройки, сохранение позиций форм и компонентов (если они перенастраиваемые).
Для хранения древовидных структур использую либо XML, либо TTreeNode (в зависимости от задачи).
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше хранить денежные величины в FireBird Lokos БД в Delphi 8 08.02.2012 03:36
Drupal где лучше хранить доп. модули Alexei91 WordPress и другие CMS 3 13.12.2011 09:26
Как лучше хранить фото в базе? GenniY Свободное общение 0 19.07.2010 10:35
Как правильнее хранить настройки программы на хосте? Kottik Работа с сетью в Delphi 9 07.10.2009 14:06