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

Вниз

Куда лучше прописывать настройки.   Найти похожие ветки 

 
Dmitriy O.   (2003-07-08 15:57) [0]

В книге А.Я.Архангельского говорится что сейчас принято в реестр а потом рекомедуются ini файлы.Так что все таки ini или реестр ?


 
pasha676   (2003-07-08 16:00) [1]

да как угодно. Я пишу в ini. Чтоб не засорять реестр. Он и так растет как на дрожях.


 
Карелин Артем   (2003-07-08 16:02) [2]

Лучше в ини - реестр не всем группам пользователей доступен.


 
N169   (2003-07-08 17:02) [3]

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


 
blackman   (2003-07-08 17:55) [4]

>N169
Подробнее можно?


 
Anatoly Podgoretsky   (2003-07-08 18:02) [5]

Лучше смотри рекомендации Микрософт, выдержку можно посмотреть в FAQ на моем сайте.


 
blackman   (2003-07-08 18:05) [6]

>смотри рекомендации Микрософт
И можно верить ?


 
Игорь Шевченко   (2003-07-08 18:07) [7]

Архангельского - в печку! (Карфаген должен быть разрушен)

blackman © (08.07.03 18:05)

> И можно верить ?


Нужно :)


 
blackman   (2003-07-08 18:10) [8]

Вот примерчик ответа на ваши происки:
http://delphid.dax.ru/docs/view/inifiles.htm
Лично я считаю, что инифайлы удобнее, так как при при переносе программы на другой компьютер, нужно перенести только один инифайл, а во-вторых, если вы что-нибудь в реестре случайно удалите, то может случиться каюк.
--
Михаил Христосенко ( http://Delphid.Dax.ru)


 
Игорь Шевченко   (2003-07-08 18:17) [9]

blackman © (08.07.03 18:10)


> Лично я считаю, что инифайлы удобнее, так как при при переносе
> программы на другой компьютер, нужно перенести только один
> инифайл


а) Export/Import с реестром отменили декретом ? :)
б) А всегда ли есть гарантия, что настройки для одной машины безболезненно подойдут для другой ?


 
blackman   (2003-07-08 18:22) [10]

>А всегда ли есть гарантия, что настройки для одной машины безболезненно подойдут для другой
Может и не подойдут, но при чем здесь метод их хранения ( реестр или INI )?


 
clickmaker   (2003-07-08 18:25) [11]

А почему никто не вспомнил про ограничение инишника 64 Кб ? Хотя в большинстве случаев настроек столько не наберется, но всё же


 
Игорь Шевченко   (2003-07-08 18:31) [12]

blackman © (08.07.03 18:22)


> но при чем здесь метод их хранения ( реестр или INI )?


К вопросу о переносе на другую машину.


 
Anatoly Podgoretsky   (2003-07-08 19:41) [13]

blackman © (08.07.03 18:05)
Можно и нужно, но только после внимательного прочтения и осмысления статью. Тема Q-146: Как хранить настройки программ.


 
Anatoly Podgoretsky   (2003-07-08 20:19) [14]

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


 
Malder   (2003-07-08 20:20) [15]

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

Просьба ногами не пинать, ибо про unistall я знаю и про "Мои документы" и вообще я много чего знаю :)


 
blackman   (2003-07-08 21:43) [16]

Microsoft уже за вас все придумала и нефиг извращаться.
Copyright (C) Alexey Mahotkin 1997-1999
Portion Copyright (C) Anatoly Podgoretsky, 2001
В Windows имеется три места предназначенных для хранения настроек которыми и следует пользоваться.
Системный реестр
Домашний каталог пользователя (точнее один из его подкаталогов)
Общий каталог для пользователей
Как хранить
Системный реестр
Для работы с системным реестром можно использовать функции Registry API общим числом около 40...
Особенно следует обратить внимание на TRegistryIniFile который предоставляет упрощенную модель доступа к системному реестру очень схожую с моделью работы с INI-файлами.
INI-файлы
Это старый метод хранения настроек программ, но все еще применяющийся программистами.
Ну и что ? Осмысление не приводит к отрицанию INI
Или я не прав ?


 
Anatoly Podgoretsky   (2003-07-08 21:48) [17]

Можещь выбирать, учитывая достинства и недостатки.


 
blackman   (2003-07-08 21:55) [18]

Реестр один и испортить его означает загубить не только своё, но и чужое.
Ini лично мой и порчу как хочу.
Тут компонентик рекламировался даже с записью bin в ini...


 
Dmitriy O.   (2003-07-08 21:57) [19]

А вот у меня был такой глюк когда пользователь открывал две и более копии программы все настройки в ini стирались.(сейчас такого не допускаю)


 
Marser   (2003-07-08 22:05) [20]


> Игорь Шевченко © (08.07.03 18:07)
> Архангельского - в печку! (Карфаген должен быть разрушен)

А можно поинтересоваться, почему? Это моя настольная книга.


 
Dmitriy O.   (2003-07-08 22:09) [21]

>Marser © (08.07.03 22:05)Мне тоже. Вроде пишет толково может не о всем подробно зато приемлимо по цене а подробные многотомные книжки переваливают за разумные пределы.


 
blackman   (2003-07-08 22:10) [22]

А действительно чем плох Архангельский ?
Конечно написано несколько деревянно, но ошибок нет.
А главное нет псевдоучености как у Фаронова, который просто перекопировал книгу по DELPHI5 и сменил название на DELPHI6


 
Marser   (2003-07-08 22:19) [23]

Отличный справочник. Один недостаток - сетевых компонент нет и МИДАСа и ещё кое-чего. А так - жить можно, я ведь программировать не на ней учился(когда я учился, едва Delphi 2 вышла).


 
blackman   (2003-07-08 22:30) [24]

А я когда перешел на DELPHI пользовался им.
Довольно быстро все получилось...
Коряво конечно, но быстро


 
Ihor Osov'yak   (2003-07-08 22:49) [25]

2 Marser © (08.07.03 22:05)

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

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


 
miwa   (2003-07-08 22:51) [26]

Только что в факе Подгорецкого ( http://podgoretsky.com/ftp/Language/nps/ru.delphi.html) нашел вопросс "Как применить настойки в реестре без перезагрузки?" с чего сделал вывод, что для того, чтобы настройки вступили в силу, машину надо перегружать (или использовать методы, предложенные в ФАКе, которые ВОЗМОЖНО подействуют). Неа, господа. Вы уж как хотите, а я старыми инишками попользуюсь. Теми, что по 64 кБ.


 
Olivka   (2003-07-08 22:53) [27]

голосую за XML


 
Ihor Osov'yak   (2003-07-08 23:01) [28]

2 Olivka © (08.07.03 22:53)

Да, присоединяюсь. Последним временем активно использую. Если, конечно, нужно сохранять более, чем 2 параметра.


 
Marser   (2003-07-08 23:01) [29]

Удалено модератором


 
Ihor Osov'yak   (2003-07-08 23:10) [30]

2 Marser © (08.07.03 23:01)

Справочные данные - F1. А книга немного учителем должна быть. То есть мозги в нужном направлении заворачивать. А вот наличие последнего свойства в упомянутого автора вызывает маленькое сомнение.


 
Olivka   (2003-07-08 23:29) [31]

XML: Кроме того имеет массу преимуществ,
компоненты весьма удобны,
современно,
пригодится не только здесь.
ИМХО.


 
Malder   (2003-07-08 23:42) [32]

Удалено модератором


 
Marser   (2003-07-08 23:56) [33]

Удалено модератором


 
Ihor Osov'yak   (2003-07-09 00:24) [34]

> А книжечку можно и без компьютера почитать.

Так никто против этого не возражает. Даже наоборот. Речь шла только об том, что упомянутый автор не есть самый оптимальный выбор..


 
Marser   (2003-07-09 00:31) [35]

Удалено модератором


 
Ihor Osov'yak   (2003-07-09 00:46) [36]

> Но книгу за 67и грн, относительно полезную - в печку?

Ну, для основательного ответа нужно сейчас книгу в руках подержать, посмотреть немного.. А о опыте общения с ней я уже рассказывал. Стремительный он был.. Но в общем-то Шевченко я предрасположен доверять..
Вполне возможно, что ляпы там есть посерьезнее, чем я упомянул..

Зы - конечно, не стоит воспринимать все так буквально. Но определенную долю здорового критицизма при чтении книг нужно иметь. К книгам упомянутого автора - особенно :-). Конечно, это легше, если уже есть какой-то практический опыт. Но даже и без особенно опыта не стоит принимать за истину в последней инстанции то, что в книжке написано. Нужно смотреть не одну книгу, сравнивать, анализировать.. Да в общем-то я уже начинаю с умным видом банальности рассказывать, так что сорри, остановлю рассказ..


 
kaif   (2003-07-09 02:06) [37]

У меня сетевая программа.
Настройки доступа к БД (в INI-файле) и сам EXE-файл лежат на сервере. Очень удобно. На клиентских компьютерах только клиент InterBase и ярлык для запуска EXE-файла. Ясно, что я не мог бы глобально изменить настройки доступа (список доступных баз и пути к ним), не поместив их в INI-файл на сервере.
В то же время многие локальные настройки (размеры окон, например) храню в реестре клиентской машины.
Некоторые настройки юзера, зависящие от базы данных, храню прямо в базе данных на сервере. И некоторые глобальные настройки (для всех юзеров), зависящие от базы данных - тоже храню в базе данных на сервере.
Таким образом, я не вижу необходимости противопоставлять INI-файлы и реестр. Особенно в сетевых задачах.
Все настройки я классифицирую так:
1. Локальные, независящие от базы данных (в реестре)
2. Глобальные, независящие от базы данных (в INI на сервере)
3. Зависящие от БД настройки пользователя (в БД)
4. Зависящие от БД глобальные настройки (в БД)




 
Ihor Osov'yak   (2003-07-09 02:17) [38]

2 kaif © (09.07.03 02:06)

Все верно. Задача определяет средство.. А то заладили, что лучше..


 
Asteroid   (2003-07-09 02:33) [39]

В реестре можно очень хорошо что-нибудь запрятать. Еще в нем можно хранить бинарные значения. Но лично мне приятнее INI, а еще более приятен собственный формат :)


 
panov   (2003-07-09 02:52) [40]

>Ihor Osov"yak © (08.07.03 22:49)
2 Marser © (08.07.03 22:05)

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

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


Сделать в качестве Primary Key строку - очень даже логично(например в ORACLE).

Работа с индексами по текстовым полям идет значительно быстрее.
Другое дело, что в этом случае надо задумываться о генерации уникального ключа, так как стандартных средств для этого в СУБД нет, насколько я знаю.

PS.

Не всегда то, что мы думаем, правильно.
Истина где-то рядом.


 
panov   (2003-07-09 02:59) [41]

А по теме вопроса - это ж какая программа в стольких настройках нуждается(>64k)?

На мой взгляд - оптимальнее текстового файла(например - INI-файла) нет.

Из аргументов:
1. Всегда настройки можно подправить в редакторе.
2. Перенос программ не представляет трудности.
3. Проблемы с доступом нет, так как всегда можно решить этот вопрос.

Недостатков пока не видел.


 
Ihor Osov'yak   (2003-07-09 03:18) [42]

2 panov © (09.07.03 02:52)

ну да, очень быстро. Особенно быстрее относительно целочисельных ключей. Там операции всякие сравнения.

И еще очень логично сделать в качестве примари кей строку. Атрибут, однозначно идентифицирующий сущность. Который в самом деле есть. Очень наглядно. Например номер паспорта для человека. Легко искать. И очень верно. И особенно убеждаешся в этом, когда в один прекрасный момент это неизменяемое значение нужно изменить. Ввиду того, что человек по пьяни пасторт потерял и новый выработал. Неожиданно. Неожиданно, ибо в ТЗ не было сказано, что паспорта иногда теряются. Не только по пьяни.


2 panov © (09.07.03 02:59)

> 1. Всегда настройки можно подправить в редакторе.
..
> Недостатков пока не видел.

Ну да, подправить.. И внести ручками абсолютно некорректное значение.. Или структуру поломать..
Хорошо, когда программа по человечески написана, и корректно обрабатывает такие виды ошибок..


Если уж говорить о текстовый файлах - то снова вспоминаем о xml - все же есть средства контроля правильности.. Хотя бы в IE загрузить, и посмотреть, не ругается ли она..




 
Ihor Osov'yak   (2003-07-09 03:21) [43]

2 panov © (09.07.03 02:52)


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


 
Dmitriy O.   (2003-07-09 10:20) [44]

Из всего выше сказанного я понял что старые добрые INI пока еще лучше всех.А вот про XML слышу в первые.И вот еще в RX Tools есть такие компаненты как FormStorage и FormPlasement куда тоже можно прописать настройки кто нить знает как. У меня есть английский Help по RX но я пока не разобрался.


 
Игорь Шевченко   (2003-07-09 10:31) [45]

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

panov © (09.07.03 02:52)
> Сделать в качестве Primary Key строку - очень даже логично(например
> в ORACLE).
>
> Работа с индексами по текстовым полям идет значительно быстрее.


Ы? Аргументы утверждения в студию, плз!


 
panov   (2003-07-09 10:35) [46]

Ы? Аргументы утверждения в студию, плз!

По меньшей мере - утверждение самого Oracle.


 
Игорь Шевченко   (2003-07-09 10:40) [47]

По поводу хранения настроек - посмотрите, где хранит свои настройки Delphi - вопрос сразу прояснится :)

panov © (09.07.03 10:35)

Где прочитать ? ;-)



 
stone   (2003-07-09 10:41) [48]


> Реестр один и испортить его означает загубить не только
> своё, но и чужое.
> Ini лично мой и порчу как хочу.


Так я не понял в чем смысл задачи: хранить настройки или безболезненно портить?


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


Делать выводы не разобравшись в теме, по меньшей мере, не умно.


 
blackman   (2003-07-09 10:42) [49]

>Почему я не люблю Архангельского - потому что это всего лишь перевод хелпа
Утверждение сомнительное. Если это перевод help, то это хорошо.
Или плох сам help ?


 
panov   (2003-07-09 10:46) [50]

>Игорь Шевченко © (09.07.03 10:40)
Очень давно читал. Если найду сейчас - процитирую...


 
Игорь Шевченко   (2003-07-09 10:46) [51]

blackman © (09.07.03 10:42)

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


 
blackman   (2003-07-09 11:29) [52]

>Игорь Шевченко
Можно и не платить. Он по всему инету выложен.
Здесь перечень
http://blackman.wp-club.net/cncat/?c=31
и другие
http://blackman.wp-club.net/cncat/jump.php?271
http://blackman.wp-club.net/cncat/jump.php?44


 
Ihor Osov'yak   (2003-07-09 11:57) [53]

Сорри немного за оффтопик -

> panov © (09.07.03 02:52)
> panov © (09.07.03 10:35)
> panov © (09.07.03 10:46)

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

Ведь за чистую монету могут принять..


 
Игорь Шевченко   (2003-07-09 12:20) [54]

blackman © (09.07.03 11:29)

А help входит в каждую поставку Delphi. Впрочем, мы уже в offtopic скатываемся :)


 
Malder   (2003-07-09 19:40) [55]

БЛИН !

А чего я такого сказал Malder © (08.07.03 23:42) ?!?! Никто не помнит ? :)
Я вот не помню... вроде что-то про Архангельского сказал. За что удалили то ?


 
Ihor Osov'yak   (2003-07-09 19:47) [56]



2 Malder © (09.07.03 19:40)

>Malder © (08.07.03 23:42)
>Да нет, Архангельский - это то, что нужно новичкам. По Дельфи


 
Malder   (2003-07-09 19:51) [57]

и чего криминального ?



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

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

Наверх





Память: 0.6 MB
Время: 0.009 c
11-77820
lomman
2002-11-18 19:44
2003.07.24
Как впихнуть в ListView другие контролы?


1-77894
kat
2003-07-14 10:49
2003.07.24
Проблема с ComboBox


1-77856
чайниковский
2003-07-10 10:21
2003.07.24
DirectX


1-77919
jiura1
2003-07-10 13:12
2003.07.24
А как работать в Grid-е со свойством ToplLeft?


14-78063
Дмитрий К.К.
2003-07-07 06:13
2003.07.24
Именинники 7 июля





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