Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Вниз

Registry, xml, ini и другие товарищи   Найти похожие ветки 

 
Sir John ©   (2004-08-05 12:58) [0]

Созрел вопрос вот какого плана. Для хранения настроек программ можно использовать как ini файлы, так и системный реестр. В последнее время Запад просто пищит от xml. Запихивают туда все, что не поподя. И состояние форм и меню и строковые ресурсы. Яркий пример тому Macromedia Dreamweaver и проч продукты этой компании

Собственно говря к чему это все тут пишу. Хотелось бы узнать ваше мнение по поводу хранения информации. Кто что использует и почему. Что быстрее получается по чтению данных? :)


 
Мастер ©   (2004-08-05 13:04) [1]

Хоть и говорят, что на вкус и цвет товарищей нет, но я выбираю .ini, потому что

1. Перенос настроек на другой компьютер в случае хранения в реестре может быть проблематичен.
2. Для изменения настроек можно воспользоваться простейшим текстовым редактором, для этого не надо дополнительных знаний форматов хранения данных(напр. XML).
3. Доступ к ini как минимум не медленнее, чем другими способами.
4. Не люлю программы, захламляющие реестр своими настройками.


 
DiamondShark ©   (2004-08-05 13:04) [2]


> Что быстрее получается по чтению данных? :)

Собственный бинарный формат.


 
Prohodil Mimo ©   (2004-08-05 13:04) [3]

Я в базе создал таблицу по структуре похожую на ИНИ и несколько процедур для работы с ней. Туда записываю почти все настройки, как для каждого юзера, так и для всей проги. И не важно с какой машини залезет юзер, настройки будут везде одинаковы.


 
Игорь Шевченко ©   (2004-08-05 13:05) [4]


> Что быстрее получается по чтению данных? :)


Интересно, какой выигрыш дает ускорение чтения настроек ? Вроде, они читаются один раз, при запуске программы.


> Кто что использует и почему.


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


 
Anatoly Podgoretsky ©   (2004-08-05 13:06) [5]

Мастер ©   (05.08.04 13:04) [1]
4. Не люлю программы, захламляющие реестр своими настройками.

4. Не люлю программы, захламляющие системный каталог ини файлами


 
Игорь Шевченко ©   (2004-08-05 13:06) [6]


> 1. Перенос настроек на другой компьютер в случае хранения
> в реестре может быть проблематичен.


Экспорт/импорт - проще некуда


 
panov ©   (2004-08-05 13:07) [7]

>Anatoly Podgoretsky ©   (05.08.04 13:06) [5]
4. Не люлю программы, захламляющие системный каталог ини файлами

А настройки надо хранить там, где положено - вместе с программой в одном каталоге.


 
panov ©   (2004-08-05 13:08) [8]

>Игорь Шевченко ©   (05.08.04 13:06) [6]

Экспорт/импорт - проще некуда

А как насчет доступа к различным веткам и ключам реестра, а также доступа вообще к реестру на разных компьютерах?


 
Гаврила ©   (2004-08-05 13:09) [9]

Если ини хранится в папке Windows (например), то перенос на другую машину так же проблематичен. И "захламление" ничуть ее меньше, чем при использовании реестра.
(кстати, но пойму, зачем вообще переносить настройки, если они индивидуальны дляч пользователя)
Если хранить ини в папке программы, то в случае нескольких программ все ини будут в разных местах ,что не есть удобно.
Поэтому использую реестр.
А о скорости доступа говорить не приходится - это копейки, учитывая объем настроек, при любом способе хранения


 
panov ©   (2004-08-05 13:09) [10]

Я тоже предпочитаю хранить в INI.


 
Sir John ©   (2004-08-05 13:09) [11]

насколько я понимаю, западная софтверная индустрия уже практически забыла, что такое ini и все работают с xml или с реестром.


 
}|{yk ©   (2004-08-05 13:10) [12]

Я в основном юзаю ini файлы. xml использую для передачи данных между разными серверами (между Oracle и Firebird в частном случае). Реестр использую редко, только для инсталляции/деинсталляции


 
Sergey_Masloff   (2004-08-05 13:11) [13]

У меня юзер в настройках галочкой помечает. Поддерживаются реджистри, ini, xml. Это общие настройки. Детальные и специфика юзера - всегда в базе (он же с разных компьютеров заходит)


 
Мастер ©   (2004-08-05 13:11) [14]

>Sir John ©   (05.08.04 13:09) [11]
насколько я понимаю, западная софтверная индустрия уже практически забыла, что такое ini и все работают с xml или с реестром.

Модно - не значит хорошо.

>Гаврила ©   (05.08.04 13:09) [9]

Если хранить ини в папке программы, то в случае нескольких программ все ини будут в разных местах ,что не есть удобно.
Поэтому использую реестр.


С реестром то же самое.


 
Digitman ©   (2004-08-05 13:12) [15]


> Sir John ©   (05.08.04 12:58)  


> В последнее время Запад просто пищит от xml


XML просто очередной прикладной формат представления инф-ции, претендующий на "универсальность", не более того ... INI - тоже прикладной формат ... а вот отдельный файл, хранящий настройки в том или ином прикл.формате, или ветка реестра, выполняющая те же ф-ции - это контейнерный уровень, т.е. чуть ниже ...

в каком контейнере хранить данные в подходящем прикл.формате - это только тебе решать

выбор конкретного прикл.формата - тоже отолько за тобой, он не зависит от контейнерного уровня, но напрямую зависит от возможностей и требований по кроссплатформенности и переносимости


 
Думкин ©   (2004-08-05 13:14) [16]

> [7] panov ©   (05.08.04 13:07)
> А настройки надо хранить там, где положено - вместе с программой
> в одном каталоге.

А если программа с компакта только?


 
Гаврила ©   (2004-08-05 13:14) [17]


> Мастер ©   (05.08.04 13:11) [14]



> С реестром то же самое.


Это еще почему ? Ключ  - название фирмы, ладее ключи с названиями продуктов - общий root имеем.
Кстати, бинарные данные в ini файле хранить геморройнее, чем в реестре


 
Игорь Шевченко ©   (2004-08-05 13:14) [18]

panov ©   (05.08.04 13:08) [8]


> А как насчет доступа к различным веткам и ключам реестра,
> а также доступа вообще к реестру на разных компьютерах?


Определяется грамотным администрированием. Не вижу причины для этого вопроса. Точно также можно обсудить вопрос о доступе к различным каталогам файловой системы.


 
Prohodil Mimo ©   (2004-08-05 13:15) [19]

[16] Думкин
тогда в требовании проги - работа только с РВ и на РВ, в противном случае не гарантруется стабильная работа программы :о)


 
Anatoly Podgoretsky ©   (2004-08-05 13:16) [20]

panov ©   (05.08.04 13:08) [8]
Roaming Profile


 
Мастер ©   (2004-08-05 13:19) [21]

И все же я сторонник того, что в реестре должна храниться только информация ОС.

Иначе реестр превращается в большую помойку.


 
Anatoly Podgoretsky ©   (2004-08-05 13:21) [22]

http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N146


 
Prohodil Mimo ©   (2004-08-05 13:22) [23]

[21] Мастер, реестр и есть эта большая помойка, не зависимо от того, валишь ты свой мусор туда или в отдельную кучку. А жаль что он стал именно таковым.

Я там храню только путь к базе, всё остальное в самой базе.


 
Думкин ©   (2004-08-05 13:22) [24]

>  [21] Мастер ©   (05.08.04 13:19)

The original goal of the registry—the systemwide data repository—was to replace INI files that were used in the early days of Windows to store user and application configuration data.
There were several good reasons to replace INI files. First of all, they are text-based and easily edited in a text editor. As such, they are subject to unauthorized access and easy tampering. Additionally, information that needed to be stored in a structured, hierarchical way was saved as flat text in an INI file. XML would have been a good way to combine the usability of INI files with a rather complex data description, but XML had not been developed five years ago. Third, INI files force a decentralization of information. Without clear and fixed rules for organizing documents and folders, there is a risk that valuable information will get lost, duplicated, corrupted, or simply become more difficult to retrieve.


 
ShaggyDoc   (2004-08-05 13:24) [25]

Как только программист начинает писать программы не только для себя, любимого, но и для неограниченного круга пользователей, которые могут быть не только Админстраторами, но и "лишенцами",

как только программист начинает писать программы, которые должны работать без его присутствия,

как только программист начинает настоящую поддержку своих программ,

он понимает, что программируя в [B]Microsoft Windows[/B], надо следовать рекомендациям [B]Microsoft[/B], несмотря на все "не люблю". То есть хранить настройки [B]в реестре[/B], да не абы где и абы как, а там, где их положено положить.

Статья с подробными рекомендациями есть на сайте Anatoly Podgoretsky.

XML, по сравнению с иными способами хранения настроек в файлах, следует применять тогда, когда важна именно глубокая "древовидность" настроек (меню, например), когда эти файлы требуется тиражировать, редактировать и просматривать другими програмами. Иначе в INI читать и писать проще - для XML пока нет стандартных функций чтения-записи по типу чтения-записи в реестр. Приходится каждому самостоятельно изощряться.


 
noname_   (2004-08-05 13:39) [26]

> panov © [7]
> А настройки надо хранить там, где положено - вместе с программой в одном каталоге.

Есть разные настройки. Сохранять, например, ширину колонок гридов в каталоге с программой IMHO не самое удачное решение, больше для этого подходит личный каталог пользователя.


 
TUser ©   (2004-08-05 13:55) [27]

Я храню в ini. Реестр не забивается, юзер может сам редактировать, а задачи хранить настройки для каждого отдельного юзера у меня нет. только в последнем случае, на мой взгляд, реестр предпочтительнее. Да еще - во время отладки, когда переношу прогу с одного компа на другой, иногда по 15-20 компиляций в день, настройки тоже удобно переносить. С одной стороны они для каждой машины свои, но если вдруг надо скопировать - это просто перенести фал и все.


 
Игорь Шевченко ©   (2004-08-05 14:12) [28]


> иногда по 15-20 компиляций в день, настройки тоже удобно
> переносить


Настройки тоже по 15-20 раз в день меняются ? :)


 
Sir John ©   (2004-08-05 14:13) [29]

Я вот тут в инете вычитал, что Win 2003 будет построен на xml. Т. е. интерфейс виндов, его настройки будут заложены в xml. Выходит, что грядет эра xml?


 
Гаврила ©   (2004-08-05 14:24) [30]


> Я храню в ini. Реестр не забивается


Зато папка забивается


> юзер может сам редактировать


А в реестре не может ?


 
Игорь Шевченко ©   (2004-08-05 14:33) [31]


> Я вот тут в инете вычитал, что Win 2003 будет построен на
> xml. Т. е. интерфейс виндов, его настройки будут заложены
> в xml.


Не верь, хозяин, этому константинопольскому ходже


 
Мастер ©   (2004-08-05 14:36) [32]

>Гаврила ©   (05.08.04 14:24) [30]

А в реестре не может ?

Нет, не может. - реалии жизни.


 
Игорь Шевченко ©   (2004-08-05 14:39) [33]


> Нет, не может. - реалии жизни.


Что за реалии ? Обычно интерфейс изменения настроек предустмотрен в самой программе, при этом пользователю пофиг, где они хранятся.


 
TUser ©   (2004-08-05 14:46) [34]

>Настройки тоже по 15-20 раз в день меняются ? :)
Нет. Настройки большей частью неизменны. прописал один раз их в ini - и не трогай его. Но если надо настройки с одной машины перенести на другую, то ini - удобнне, чем reg.


 
Anatoly Podgoretsky ©   (2004-08-05 14:48) [35]

DSKalugin ©   (05.08.04 14:31) [18]
Ни чуть, точно также легко, к тому же в нормальных программах это можно встроить внутрь программы,


 
REA ©   (2004-08-05 14:52) [36]

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


 
начинающий   (2004-08-05 20:13) [37]

Говорите, запад подсел на XML? Видно, Украина - западная страна: я тоже считаю XML восьмым чудом света.


 
Гаврила ©   (2004-08-05 20:45) [38]


> Нет, не может. - реалии жизни.


Пользователь и не должен править никакие настройки руками, ни в реестре, ни в инифайле
Только программист, да и то только в зудшем случае, или на этапе отладки


 
Мазут Береговой ©   (2004-08-06 10:04) [39]

Есть хорошие новости:
С началом создания .net технологии Microsoft практически официально отказалась от использования реестра. Оглядываясь назад, они увидели, что хранение информации, порой, забивает его ненужной информацией и тормозит работу системы. Особенно это касается СОМ технологий. Теперь программы созданные в .net не записывают себя в реестр, при установке, но для них нужна .net framework, которая встроена в WIN 2003. Библиотеки же будут храниться в тех директориях, в которых установлена программа.
Вместо реестра будет используется XML файл.
Короче, вернулись к старому доброму DOS. :^)))



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

Форум: "Потрепаться";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.029 c
14-1091102799
ИМХО
2004-07-29 16:06
2004.08.22
500-я ошибка


1-1092049831
Relaxxx
2004-08-09 15:10
2004.08.22
Как мне выставить ширину колонки в Excel?


3-1090906907
MakNik
2004-07-27 09:41
2004.08.22
список пользователей, работающих в данный момент с базой


3-1091035902
senderw
2004-07-28 21:31
2004.08.22
как удалить удаленные записи из таблицы


14-1091663080
Alec
2004-08-05 03:44
2004.08.22
Как мне помог этот форум.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский