Форум: "Система";
Текущий архив: 2002.10.14;
Скачать: [xml.tar.bz2];
ВнизРеестр или 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c