Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.14;
Скачать: CL | DM;

Вниз

Реестр или ini ?   Найти похожие ветки 

 
Пастор   (2002-07-05 08:56) [0]

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


 
Андрей Штим   (2002-07-05 10:06) [1]

Мелкософт настойчиво рекомендует хранить настройки программы в реестре. А вобще зависит от количества параметров, частоты их обновления и необходимости переносить свою прогу на другой комп.
Если параметров немного, они не затирабются (т.е. ты не собираешся удалять параметр, а затем создавать вновь)то вполне резонно внять рекомендациям авторов операционки, но если ты предпологаешь иметь множество параметров, часто их удалять и создавать новые, то проще работать с ini, иначе реестр раздуется, а это может как минимум замедлить работу твоей винды, а как максимум ее вобще порушить. Т.к. при удалении из реестра данные просто помечаются как удаленные, но физически продолжают находиться в нем. Еще один момент, если ты собираешься тиражировать свою прогу на разные машины, то проще подцепить к ней инишник, чем таскать reg - и и их там пускать.


 
Derkach Valery   (2002-07-05 10:27) [2]

В реестре однозначно лучше - в ветке HKEY_CURRENT_USER\Software\
Почему? Потому что программы должны правильно работать как под Win9х, так и под NT, 2000, XP. Просто Windows NT (2000, XP) рядовому юзеру не даст ничего записать в системные каталоги, а в пользовательскую ветку реестра - пожалуйста.
Надеюсь объяснил понятно :-)


 
Странный Прохожий ©   (2002-07-05 10:36) [3]

Конечно, настройки программы удобнее хранить в ini файле!

Во-первых, все настройки в текстовом виде, на виду, легко отредактировать, сделать резервную копию.

Во-вторых -- лёгкое восстановление. Если у клиента крах, кидаешь ему на почту файлик, он кидает в каталог и никаких тебе regedit-ов.

В-третьих, ниже риск потерять свою систему из-за "случайно" изменённого параметра.

В реестр предпочитаю писать только то, что связано с интеграцией в систему, и не более того.

:)



 
leshy   (2002-07-05 11:16) [4]

Если в настройках мало текстовой информации, удобнее хранить их в файлах собственной «конструкции» — что захотел, то и записал в любом удобном для программы формате. Создаёшь структуру (запись), пихаешь всё в неё и пишешь в файл напрямую. Так же и читаешь. Если задаться целью в самом начале программы, можно вообще все настройки держать в этой структуре в памяти, определив переменную в юните, доступном всем остальным (лучше в отдельном), в initialization и finalization юнита читать из файла и писать в файл, чтобы настройки сохранялись всегда. И не будет проблем с сохранением данных ЛЮБЫХ типов, причем в бинаре. И не потребуется преобразований туда-обратно, которые делает TINIFile. Не будет проблем с разделителем целой и дробной части, форматом даты или времени. Надо не забывать при этом, что строковые данные нужно хранить в ShortString или array[..] of Char. А размеры и положение форм запоминать по WM_EXITSIZEMOVE.
Собственно, такую структуру можно писать и реестр. Если очень хочется.


 
PC_Maniac ©   (2002-08-02 16:53) [5]

Я использую оба метода.
Когда информация спицифична для конкретной системы (инфа, связанная с IP, например) или не сильно важна (положение окон программы, например) я использую реестр.
Когда требуется что-то более долгосрочное или важное - ini
Когда требуется блокировать важную инфу от простых юзеров - реестр, HKLM.


 
IrenFD ©   (2002-08-03 03:08) [6]

В конце концов при полной переинсталяции системы в ini настройки сохраняться, а в реестре - нет.


 
Юрий Зотов ©   (2002-08-05 00:02) [7]

> Derkach Valery (05.07.02 10:27)
> Просто Windows NT (2000, XP) рядовому юзеру не даст ничего
> записать в системные каталоги,

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


> Странный Прохожий © (05.07.02 10:36)
> В реестр предпочитаю писать только то, что связано с
> интеграцией в систему, и не более того.

Я тоже. Хотя бы потому, что реестр - не помойка, нечего сыпать туда все подряд.

Но есть пара нюансов, о которых почему-то не упомянули.

Если программа должна иметь одни и те же настройки для всех юзеров, то лучше в файле (не замусоривает систему). Если свои для каждого юзера - то в реестре (система все разруливает сама). Если же это программа, работающая с БД - то в самой БД (юзер получает одни и те же настройки, входя под своим логином с любой машины).

Конечно, возможны и любые комбинации.



Страницы: 1 вся ветка

Текущий архив: 2002.10.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
6-45497
shelest
2002-08-13 10:41
2002.10.14
Как получить имя пользователя зная IP адрес машины и ее название?


3-45187
Serv
2002-09-20 13:23
2002.10.14
Поиск записи


14-45538
Undert
2002-09-19 22:25
2002.10.14
Предложение администрации и модераторам


1-45395
Slava_BAZ
2002-10-03 06:51
2002.10.14
Хитрый отчёт


1-45294
Gaber
2002-10-02 16:09
2002.10.14
Свой проект при запуске