Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.007 c
1-45311
Supra
2002-10-03 10:14
2002.10.14
Описание к графическим файлам


4-45652
LEgO-2
2002-09-02 10:56
2002.10.14
Как получить дескриптор иконки чужого окна?!?


14-45550
Sergo
2002-09-19 09:43
2002.10.14
Принтер


6-45493
Бамбук
2002-08-06 22:13
2002.10.14
Помогите разобрать пример, пожалуйста


1-45296
race1
2002-10-04 16:52
2002.10.14
колонки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский