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

Вниз

сохранение настроек   Найти похожие ветки 

 
stenfit   (2010-12-06 18:50) [0]

актуально ли сейчас хранить настройки в ini-файлах?


 
xayam ©   (2010-12-06 18:55) [1]

если только ini удаленный :)
у себя уже никто не хранит :)


 
Anatoly Podgoretsky ©   (2010-12-06 19:41) [2]

> stenfit  (06.12.2010 18:50:00)  [0]

Если данные простые то можно.


 
Ega23 ©   (2010-12-06 20:00) [3]

Хранилище как хранилище, имеет свои плюсы и свои минусы.


 
Dimka Maslov ©   (2010-12-06 20:05) [4]

актуально их хранить в папке с данными пользователя. А формат - вторичен.


 
Kerk ©   (2010-12-07 01:18) [5]

В этом сезоне актуально хранить настройки в реестре.


 
Германн ©   (2010-12-07 01:26) [6]

На вкус и цвет...


 
Германн ©   (2010-12-07 01:32) [7]


> Dimka Maslov ©   (06.12.10 20:05) [4]
>
> актуально их хранить в папке с данными пользователя.

Пожалуй это единственное неудобство в использовании ини-файлов сейчас.


 
Eraser ©   (2010-12-07 01:49) [8]

> [0] stenfit   (06.12.10 18:50)

актуально хранить в XML, т.к. будет проще внедрять кроссплатформенность в будущем.


 
Германн ©   (2010-12-07 02:20) [9]


> Eraser ©   (07.12.10 01:49) [8]

И та же проблема останется с тем, где этот XML хранить.

<offtop>
Кстати мне почему-то аббревиатура XML уже давно вызывает ассоциации с неким "просторечивым" нашим словом. Нужно только добавить две гласные. :)
</offtop>

P.S. Если я перешел границы допустимого оффтопа, модераторы удалят это сообщение.
P.P.S.
Данное слово найдено только в
"С.И. Ожегов, Н.Ю. Шведова
Толковый словарь русского языка"
Во всех прочих уважаемых словарях его нет.


 
Eraser ©   (2010-12-07 03:07) [10]

> [9] Германн ©   (07.12.10 02:20)


> И та же проблема останется с тем, где этот XML хранить.

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


 
Германн ©   (2010-12-07 03:31) [11]


> Eraser ©   (07.12.10 03:07) [10]
>
> > [9] Германн ©   (07.12.10 02:20)
>
>
> > И та же проблема останется с тем, где этот XML хранить.
>
>
> никакой проблемы нет

Ты забыл про суть ini-файлов! Эти файлы в старых версиях Винды хранились там, (как правило), где их Винда легко находила.  И таких мест было много, где винда искала, находила и позволяла изменять эти файлы.
Насколько я знаю, сейчас (Vista + 7) таких мест просто нет.
Т.е. всё что мы можем, мы и должны сами реализововать.


> хранить в специальном каталоге, предназначеном для файлов
> настроек.

А это какой каталог?
А ну да. Личный каталог пользователя или общий каталог всех пользователей.

Тогда я голосую за файл *.dat


 
Eraser ©   (2010-12-07 04:06) [12]

> А ну да. Личный каталог пользователя или общий каталог всех
> пользователей.
>
> Тогда я голосую за файл *.dat

не вижу логики. хотя какая разница, какое расширение.

> Ты забыл про суть ini-файлов!

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


 
Германн ©   (2010-12-07 04:20) [13]


> не вижу логики. хотя какая разница, какое расширение.

А тут логика простая. Для ini-файлов в Windows есть/был встроенный механизм работы с ними. Вспомни, что изначально, для ini-файлов достаточно было указать только имя файла (без пути к нему).


> суть у них одна - хранить настройки в текстовом файле

Это только одна из особенностей. Вспомни средства Дельфи для "особой" работы с такими файлами.

Дык, мне тогда проще формировать свой файл настроек, не оглядываясь на ОС.


 
Eraser ©   (2010-12-07 04:29) [14]

> [13] Германн ©   (07.12.10 04:20)


> Дык, мне тогда проще формировать свой файл настроек, не
> оглядываясь на ОС.

я про это же. только зачем изобретать велосипед, т.е. свой формат? есть xml, для работы с ним есть удобные библиотеки практически на всех ЯП.

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


 
Германн ©   (2010-12-07 04:30) [15]

<offtop>
Ну и в добавок.
Преклоняясь пред мудростью авторов Windows, я всё же сомневаюсь, что они смогут реализовать свой реестр так, чтобы эта их псевдо-БД работала и через 10 лет.
</offtop>


 
Германн ©   (2010-12-07 04:36) [16]


>  Eraser ©   (07.12.10 04:29) [14]
>
> > [13] Германн ©   (07.12.10 04:20)
>
>
> > Дык, мне тогда проще формировать свой файл настроек, не
> > оглядываясь на ОС.
>
> я про это же. только зачем изобретать велосипед, т.е. свой
> формат? есть xml

Ну Леш, я ещё не достиг пока такого уровня, чтобы набор сырых записей и простых полей формировать в XML. Тем более, что у меня нет денег, чтобы нанять в качестве учителя Медвежонка. :)


 
Eraser ©   (2010-12-07 04:40) [17]

> [16] Германн ©   (07.12.10 04:36)


> ещё не достиг пока такого уровня, чтобы набор сырых записей
> и простых полей формировать в XML

набор сырых записей или полей думаю лучше хранить в SQL формате ;-)


 
Германн ©   (2010-12-07 04:49) [18]


>  Eraser ©   (07.12.10 04:40) [17]
>
> > [16] Германн ©   (07.12.10 04:36)
>
>
> > ещё не достиг пока такого уровня, чтобы набор сырых записей
> > и простых полей формировать в XML
>
> набор сырых записей или полей думаю лучше хранить в SQL
> формате ;-)

Ты почти угадал.
Набор хочу  сохранять в "CSV"-файле.
Светлой памяти Vit, называл эту БД, как приемлемую.
Давно это было, но не настолько давно.


 
Ega23 ©   (2010-12-07 07:20) [19]


> а сейчас времена другие.

Какие?


 
han_malign   (2010-12-07 13:26) [20]


> актуально хранить в XML, т.к. будет проще внедрять кроссплатформенность в будущем.

- то есть "[valume1]\r\nparam1=value1\r\n", с тупым линейным парсером - ни разу не кросс-платформенно?

Чтоб быть рядах кросс-носцев надо - на пару десятков слабо-связных параметров - обязательно добавить сотню дополнительных символов, затем ради экономии десятка байт и чистоты DOM структуры удалить все незначащие линейные пробелы и выяснить в каких случаях этот DOM-провайдер не падает???
А... - чуть не забыл, еще обязательно x-path прикрутить, иначе совсем за деревенщину неумытую сойдешь...


 
Eraser ©   (2010-12-07 14:06) [21]

> [19] Ega23 ©   (07.12.10 07:20)

сейчас MS не рекомендует хранить настройки в системных каталогах, а windows, в ряде случаев, это и не позволяет делать.

> [20] han_malign   (07.12.10 13:26)

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


 
sniknik ©   (2010-12-07 14:26) [22]

> нравится технология 30 летней давности
нравится не нравится, какая разница? во многих случаях ini удобнее, так же как хранение его рядом с программой а не "в местах для этого отведенных".
и что с пользователем не делай, он все одно пытается в настройки блокнотом влезть (т.е. xml ему не будет так уж удобен).
ну например у нас практикуется установка программы на сервере, с запуском оттуда, т.е. если класть настройки в реестр/каталог пользователя/... то придется настраивать программу на каждой машине. что для админов напряжно.
а так, настройки программы в ini рядом, настройки интерфейса(/юзерские) в базе и не зависят от того на какой машине юзер прогу запускает. и все довольны.

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


 
DiamondShark ©   (2010-12-07 14:47) [23]


> нравится технология 30 летней давности

А кодировке ASCII вообще пятьдесят лет. Фтопку её!
А паскалю сорок. Только старые маразматики пишут на паскале.
Ах, да. Объектно-ориентированному программированию тоже под сорок. FFFFFFFFUUUUUUUUUUUUUUU!!!!!!!!!!!!!!!!!!!!!!!

Как же маркетоиды людям моск загадили...


 
DiamondShark ©   (2010-12-07 14:50) [24]


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

Дикие у вас какие-то админы. Видимо, от слов active directory и roaming profile шарахаются, нервно крестясь и сплёвывая через плечо.


 
Маркетоид   (2010-12-07 14:55) [25]

Работая с xml через dom получаешь неоспоримую выгоду, если конечно вкурил всю мощь и гибкость которая доступна тебе.

Считав из ини значение, ты получаешь всего лишь значение.

Найдя в xml узел, ты получаешь как само значение(я), так и структуру, которую можно использовать в качестве параметров процедур/функций.

Один раз считал, затем передал куда-то. Обработал, сохранил в нее же (структуру) передал дальше если надо.
В конце вызвал save и все.

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

Романтика!


 
Ega23 ©   (2010-12-07 14:55) [26]


> сейчас MS не рекомендует хранить настройки в системных каталогах,
>  а windows, в ряде случаев, это и не позволяет делать.


А кто говорит про системный каталог?


 
Jeer ©   (2010-12-07 16:07) [27]


> Романтика!


Бред.


 
Маркетоид   (2010-12-07 16:16) [28]

Бред.

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

Ты демонстрируешь свой вариант, я демонстрирую свой.

И предметно сравним у кого что вышло.


 
han_malign   (2010-12-07 16:31) [29]


> Допустим есть приложение работающее с БД.
> Серверов несколько.
> Требуется хранить настройки подключения ко всем серверам
> и ид последнего сервера (с которым работали последний раз)

> Работая с
кластером получаешь неоспоримую выгоду, если
> конечно вкурил всю мощь и гибкость которая доступна тебе.
>
>
> Считав из
xml значение, ты получаешь всего лишь значение.


 
Маркетоид   (2010-12-07 16:34) [30]

и это все аргументы?


 
tesseract ©   (2010-12-07 16:36) [31]


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


Ещё сильно теряешь в зависимостях. А значит и в размере исполнимого файла и занимаемой памяти! Это не по взрослому !


> DiamondShark ©   (07.12.10 14:50) [24]


Вот и я про то же.


 
Маркетоид   (2010-12-07 16:42) [32]

Вот и я про то же.

Пока что (по факту) вы тупо зассали представить свой вариант кода.
Перескочив на какой-то "кластер".

А посему досвидос.
Дискутировать с вами в таком ключе совершенно неинтересно.


 
Ega23 ©   (2010-12-07 16:47) [33]


> Работая с xml через dom


Какую задачу-то решаем?
А решаем мы задачу хранить некоторые параметры приложения в некотором внешнем файле. При этом не просто хранить, а иметь возможность их настроить вручную. Иначе обычный бинарный стрим отлично подходит.
Простому пользователю гораздо нагляднее редактировать ini, чем xml. Как минимум в том, что в ini ошибиться гораздо сложнее.


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

А какая, собственно, разница в том, как объект десериализуется?
TMyObject.LoadFromStream(Stream: TStream);
TMyObject.LoadFromIni(ini: TIniFile; Section: string);
TMyObject.LoadfromXML(Node: IXMLNode);

Один хрен любой из этих трёх методов надо реализовывать (а то и все разом).

Вот если бы каждый объект, начиная с TObject, наследовал бы LoadfromXML(Node: IXMLNode), то наверное какая-то соль в этом была бы.
А так - фигня полная. Холивар a-la Windows vs. Linux


 
Kerk ©   (2010-12-07 16:49) [34]

Крылья, ноги... главное - хвост!

Задачи вообще разные бывают. И нередко XML применять неоправданно.
Так-то то, что XML дает больше возможностей, чем INI, очевидно.
Но продолжая логику можно заявить, что настройки нужно хранить в базе Oracle, потому что [... перечисление возможностей, которые не даст XML ...]


 
tesseract ©   (2010-12-07 16:50) [35]


> А посему досвидос.


Аревуар. Спасибо, что так быстро слиняли.


 
Маркетоид   (2010-12-07 16:52) [36]

Вот если бы каждый объект, начиная с TObject, наследовал бы LoadfromXML(Node: IXMLNode),

Нет, вы совершенно не поняли меня.
Мечта иметь методы загрузки/сохранения в хмл начиная с tobject  - она вообще не характерна тем, кто умеет работать с хмл

Мне это тоже не нужно, просто потому что мне не нужен сам объект TMyObject.

Понимаете?

Не нужен объект и не нужны методы ненужного объекта.

В этом вся фишка.


 
Ega23 ©   (2010-12-07 16:52) [37]

Если работаешь с Ruby, то имеет смысл сериализовать объект в YAML
Если работаешь с JavaScript - в JSON
XML - типа универсальное описание (но перегруженное и нужен DOM).
Ini - просто, но не поддерживает древовидность (точнее, она достигается ректальным способом).


 
Маркетоид   (2010-12-07 16:56) [38]

Внутри хмл есть некий узел, который является рутом некой сущности.
Так вот сам этот дом узел - и есть замена тому самому TMyObject"у у которого вы так мечтаете иметь методы LoadFromXML/SaveToXML

Я беру этот узел и читаю/пишу из него данные.
Я беру и передаю его параметром куда мне надо.
И все.

Никаких tmyobject и никакой кастомной сериализации.
Ложки нет!


 
Jeer ©   (2010-12-07 16:56) [39]


>
> Ini - просто, но не поддерживает древовидность


Все достигается элементарным способом, если не приучать себя думать ректально.


 
Маркетоид   (2010-12-07 16:58) [40]

Если работаешь с Ruby, то имеет смысл сериализовать объект в YAML
Если работаешь с JavaScript - в JSON


А я работаю с Delphi и ничего не сериализую если надо повзаимодействовать с внешним миром.

Не сериализую потому что у меня нечего сериализовать.
У меня все уже в xml


 
Ega23 ©   (2010-12-07 17:00) [41]


> Так вот сам этот дом узел - и есть замена тому самому TMyObject"у
> у которого вы так мечтаете иметь методы LoadFromXML/SaveToXML


если кое-кто внимательно разует глаза, то увидит, что метод TMyObject.LoadFromXML имеет входным параметров Node: IXMLNode
И мне никто не мешает передавать нужным объектам, из которых состоит этот TMyObject передавать им нужный XMLNode, родителем которого является изначальный Node.
Ещё раз: от писанины это не избавляет.


 
Ega23 ©   (2010-12-07 17:00) [42]


> Все достигается элементарным способом, если не приучать
> себя думать ректально.


Достигается, но не так изящно, как в XML. Впрочем, она нужна далеко не всегда.


 
Jeer ©   (2010-12-07 17:02) [43]


> Впрочем, она нужна далеко не всегда.


Я за удобство работы в конкретном случае, а не изящество - оставим это танцорам.


 
Маркетоид   (2010-12-07 17:02) [44]

то увидит, что метод TMyObject.LoadFromXML имеет входным параметров Node: IXMLNode

Да наздоровье. И не надо думать что я не увидел.

Но я еще раз повторяю:

У меня вообще нет TMyObject и у меня вообще нет потребности иметь этот самый TMyObject чем бы он ни был. Классом или рекордом.

Он мне просто не нужен.

Боже ж мой, неужели это так трудно понять.


 
Ega23 ©   (2010-12-07 17:03) [45]


> Не сериализую потому что у меня нечего сериализовать.
> У меня все уже в xml

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


 
Маркетоид   (2010-12-07 17:06) [46]

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

Для каждого свойства кого/чего?
Для свойства какого объекта?

Напоминаю, что у меня нет вашего объекта. И свойств этого объекта тоже нет.


 
Ega23 ©   (2010-12-07 17:08) [47]


> Напоминаю, что у меня нет вашего объекта. И свойств этого
> объекта тоже нет.


Ты пишешь в delphi на WinAPI?


 
Kerk ©   (2010-12-07 17:08) [48]


> Маркетоид   (07.12.10 17:06) [46]
>
> Напоминаю, что у меня нет вашего объекта. И свойств этого
> объекта тоже нет.

Т.е. ООП ты ни в каком виде не используешь?


 
han_malign   (2010-12-07 17:13) [49]


> Ты пишешь в delphi на WinAPI?

- ты не понял - ему не нужен delphi, у него уже есть xml...


 
TUser ©   (2010-12-07 17:13) [50]

Я предпочитаю XML, потому что дерево - оно универсальнее.


 
Маркетоид   (2010-12-07 17:15) [51]

Я пишу на делфи и использую ООП.

Но едрена батона.....

У меня нету вашего TMyObject.

У меня нету, екарный бабай, того объекта и той структуры которую вы создаете чтобы хранить настройки в ПАМЯТИ приложения при считывании их с диска.


 
Kerk ©   (2010-12-07 17:18) [52]


> Маркетоид   (07.12.10 17:15) [51]

Ну с этого бы и начинал.
В памяти настройки, кроме любителей XML, просто так никто не хранит. Все они "растекаются" по свойствам различных объектов, реализующих бизнес-логику. В этом и смысл настроек.


 
Ega23 ©   (2010-12-07 17:18) [53]


>  того объекта и той структуры которую вы создаете чтобы
> хранить настройки в ПАМЯТИ приложения при считывании их
> с диска.


Врёшь. У тебя есть IXMLDocument, со всеми его прибабахами. Который ВСЕГДА сидит у тебя в памяти.


 
Jeer ©   (2010-12-07 17:19) [54]

"Собрались глухой, слепой, немой и беспомощный вотку пить" (С)


 
Kerk ©   (2010-12-07 17:21) [55]


> Ega23 ©   (07.12.10 17:18) [53]
>
> Врёшь. У тебя есть IXMLDocument, со всеми его прибабахами.
>  Который ВСЕГДА сидит у тебя в памяти.

Он просто радуется, что не сам его писал.
Ну так никто сам аналогов и не пишет.


 
Маркетоид   (2010-12-07 17:22) [56]

Врёшь. У тебя есть IXMLDocument, со всеми его прибабахами. Который ВСЕГДА сидит у тебя в памяти.

Конечно есть.

Но я не тратил ни секунды своего времени на его реализацию.

А вы в каждом своем проекте сначала изобретаете свой TMyObject, затем пишете загрузку/выгрузку из него в файл.


 
Kerk ©   (2010-12-07 17:25) [57]

Ну теперь началась окончательная и бесповоротная клоунада.
Запасся попкорном :)


 
b z   (2010-12-07 17:26) [58]


> Конечно есть.
А зачем?


 
Jeer ©   (2010-12-07 17:26) [59]


> Запасся попкорном :)


Я уже жую, поскольку ставлю оракл :)


 
Kerk ©   (2010-12-07 17:27) [60]

Еще мне кажется, что человек не знает, что такое сериализация, о которой ему с [33] начиная твердят. Надо ж было додуматься, что TMyObject там - это заменитель IXMLDocument"а :)


 
Ega23 ©   (2010-12-07 17:28) [61]


> А вы в каждом своем проекте сначала изобретаете свой TMyObject,
>  затем пишете загрузку/выгрузку из него в файл.


А, ну да, я забыл, у тебя вся программа из XML состоит. ОМГ.


 
Ega23 ©   (2010-12-07 17:29) [62]


> Еще мне кажется, что человек не знает, что такое сериализация,


Он знает, что такое XML, этого достаточно.


 
Маркетоид   (2010-12-07 17:30) [63]

А, ну да, я забыл, у тебя вся программа из XML состоит. ОМГ.


Понтоваться насчет кода надо было тогда, когда я предлагал это делать.
Честно и прямо.

Но уже не сейчас, понимаешь?


 
sniknik ©   (2010-12-07 17:30) [64]

почему как ни любитель XML так фанат отрекающий все остальное (или придурок ничего другого не признающий/не знающий), а вот фанатов ini почему то нет, используют там где удобно, где нет, могут и xml, и что угодно другое...

ненавижу XML... не за то что он есть/какой он есть, а за его разрекламированность, навязываемость, и фанатизм приверженцев...


 
Kerk ©   (2010-12-07 17:31) [65]

Я не верю, что это серьезно :)
Наверно кто-то из старожилов прикалывается.


 
b z   (2010-12-07 17:32) [66]


> А, ну да, я забыл, у тебя вся программа из XML состоит
Ну а что в этом плохого? sirvelight, wpf и т.п. так и есть и никто не кричит ОМГ...


 
Маркетоид   (2010-12-07 17:33) [67]

а за его разрекламированность, навязываемость, и фанатизм приверженцев...

Продуктивная ненависть.
На возможности наплевать, но "разрекламированность навязываемость и фанатизм"

Кстати о фанатизме.
Мой пост №25 нефанатичные люди с незамутненным рассудком поняли в районе  где то через страницу-полторы.
Что как бы намекает.


 
allocator   (2010-12-07 17:34) [68]

sniknik ©   (07.12.10 17:30) [64]

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


 
Kerk ©   (2010-12-07 17:37) [69]


> Маркетоид   (07.12.10 17:33) [67]
>
> Мой пост №25 нефанатичные люди с незамутненным рассудком
> поняли в районе  где то через страницу-полторы.

Так ты [33] до сих пор не понял :)))))


 
Ega23 ©   (2010-12-07 17:38) [70]


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


А тебе и было сразу же сказано, что с точки зрения какого-то настраиваемого объекта, без разницы, из чего десериализоваться и куда сериализоваться - в секцию ini, в IXMLNode или по смещению в бинарный стрим. ПОФИГУ. Эти методы писать придётся всё равно.
Либо постоянно обращаться к хранилищу, когда не дай бог один из параметров был изменён, либо программой либо пользователем.
Без разницы. Код всё равно писать.

З.Ы. Для настроек используем XML. Написаны удобные хелперы, в базовые классы добавлены методы. Но у конечных классов код всё равно приходится писать, никуда от этого не денешься.


 
Kerk ©   (2010-12-07 17:42) [71]


> Ega23 ©   (07.12.10 17:38) [70]
>
> А тебе и было сразу же сказано, что с точки зрения какого-
> то настраиваемого объекта, без разницы, из чего десериализоваться
> и куда сериализоваться - в секцию ini, в IXMLNode или по
> смещению в бинарный стрим. ПОФИГУ. Эти методы писать придётся
> всё равно.

Ты все еще не понял. До этапа сериализации полет его мысли не доходит.
Речь о том, что _ДО_. Он считывает настройки из файла в IXMLDocument. ВСЕ!
Остальные для этого якобы какие-то TMyObject пишут.
В этом основное недопонимание, в том, что настройки - не самоцель.


 
Маркетоид   (2010-12-07 17:57) [72]

В этом основное недопонимание, в том, что настройки - не самоцель.


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


 
Kerk ©   (2010-12-07 17:58) [73]

Анекдот :)


 
Маркетоид   (2010-12-07 17:59) [74]

Остальные для этого якобы какие-то TMyObject пишут.

Так "якобы" или пишут ?


 
Kerk ©   (2010-12-07 18:01) [75]


> Маркетоид   (07.12.10 17:59) [74]
>
> Остальные для этого якобы какие-то TMyObject пишут.
>
> Так "якобы" или пишут ?

С тобой-то я уже во все поверить готов :)
А так вообще сам ниразу не переписывал ни IXMLDocument, ни TIniFile, ни TRegistry :)


 
Маркетоид   (2010-12-07 18:04) [76]

не переписывал ни IXMLDocument, ни TIniFile, ни TRegistry

А я это утверждал?
Я говорил, что разрабатываются классы или структуры, для того, чтобы хранить в них данные, считанные непереписанными TIniFile и TRegistry


 
Kerk ©   (2010-12-07 18:05) [77]


> Маркетоид   (07.12.10 18:04) [76]
>
> Я говорил, что разрабатываются классы или структуры, для
> того, чтобы хранить в них данные, считанные непереписанными
> TIniFile и TRegistry

Кем разрабатываются?


 
Jeer ©   (2010-12-07 18:07) [78]


> Я говорил, что разрабатываются классы или структуры,


Еще один Закон Природы ?


 
Eraser ©   (2010-12-07 18:16) [79]

Нда.. как обычно все свелось к флуду )
Вроде автора спрашивал "актуально ли сейчас хранить настройки в ini-файлах?", ключевое слово - настройки, а не объекты.
Да, настройки можно хранить в объектах, а затем сереализовать сами объекты и хранить эти данные, но это уже частный случай. Здесь вполне уместно применять встроенный в Делфи механизм сериализации компонентов и не изобретать велосипед.


> DiamondShark ©  

демагогия, не имеющая никакого отношеня к практике, и не более того, впрочем как обычно ;-)
кстати, если мне не изменяет память, стандартный механизм работы с настройками в C# использует именно XML )

> [22] sniknik ©   (07.12.10 14:26)


> во многих случаях ini удобнее, так же как хранение его рядом
> с программой а не "в местах для этого отведенных".

а потом с выходом очередной Висты начинаются вопли - "почему у меня пишет какую-то ошибку 5?", "почему не работает через терминальный клиент?" и т.д.
а все из-за того, что разработчику лень продумать работу с настройками. почему-то в современных продуктах изместных всему миру контор я не вижу ini файлов в каталоге с exe. а вот у иванов кулибиных - полно. не спорю, есть 1% случаев, когда это оправдано.


 
DiamondShark ©   (2010-12-07 18:26) [80]


> Eraser ©   (07.12.10 18:16) [79]

Ты совершенно прав: ссылка на возраст технологии -- демагогия, не имеющая никакого отношеня к практике, и не более того, впрочем как обычно.


 
Eraser ©   (2010-12-07 18:32) [81]

> [80] DiamondShark ©   (07.12.10 18:26)

OK, по пунктам


> А кодировке ASCII вообще пятьдесят лет. Фтопку её!

Слишком общее понятие, да и вообще ASCII это не технология.

> А паскалю сорок. Только старые маразматики пишут на паскале.

Именно, много людей сейчас пишут коммерческие проекты на паскале 30 летней давности?

> Ах, да. Объектно-ориентированному программированию тоже
> под сорок.

это, опять же, не технология, а общее понятие. хотя реализации ОП 40 летней давности вряд ли подойдут для решения современных задач.

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


 
DiamondShark ©   (2010-12-07 18:54) [82]


> Eraser ©   (07.12.10 18:32) [81]

Вы, вообще, чего мне пытаетесь доказать? Тезис сформулируйте в явном виде, пожалуйста.

Я ещё понимаю ситуацию, когда тезис без аргументов. Но когда аргументы без тезиса...


 
Kerk ©   (2010-12-07 19:05) [83]

Ини-файлы - это не технология, это формат файла.


 
Andy BitOff ©   (2010-12-07 19:17) [84]

> Eraser ©   (07.12.10 18:16) [79]
> почему-то в современных продуктах изместных
> всему миру контор я не вижу ini файлов в каталоге с exe.

Алексей, я тебя уважаю, но не надо быть таким категоричным. Если ты не видишь микробов то, это не означает, что их нет.
d:\Games\Battlefield Bad Company 2\BFBC2Game.exe
d:\Games\Battlefield Bad Company 2\GL.ini - 23,8 КБ (24 388 байт)
и еще
Programm\Video\PotPlaye\PotPlayerMini.ini
Programm\Video\Ultra MKV Converter\Languages\Dutch.ini
Programm\Video\The KMPlayer\WizardLanguage\KMPWiz_Italian.ini
Programm\Video\PowerDVD10\PowerDVD10\CLBrowserEngineSchema.ini
Programm\Video\Camtasia Studio 7\FilterManager.ini
Programm\Video\Camtasia Studio 6\FilterManager.ini
Programm\eXtreme Movie Manager\config.ini
Programm\Video\PowerDVD10\PowerDVD10\PowerDVD Cinema\Customizations\Cyberlink\setting.ini
Programm\Google Earth Pro\ImporterUISettings.ini
Programm\VMware Workstation\vmPerfmon.ini
Programm\Video\PowerDVD10\PowerDVD10\CLDShowX.ini
Programm\Sound\AIMP2\Data\Andy BitOff\AIMP_U.INI
Programm\Sound\AIMP2 Tools\Encoders\encoders.ini
Programm\Avira\AntiVir Desktop\defaults.ini
Programm\Adobe\Adobe Flash Catalyst CS5\configuration\config.ini
Programm\Adobe\Adobe Flash Catalyst\Adobe Flash Catalyst\configuration\config.ini
Programm\Adobe\Adobe Bridge CS5\apd.ini


 
b z   (2010-12-07 19:33) [85]


> Andy BitOff ©   (07.12.10 19:17) [84]
Вы зачем такую фигню ставите? ;)


 
Rouse_ ©   (2010-12-07 19:37) [86]

А всего-то навсего достаточно прочитать спецификации выдаваемые МС чтобы понять что "актуально в данном сезоне" :)


 
DiamondShark ©   (2010-12-07 19:38) [87]


> А всего-то навсего достаточно прочитать спецификации выдаваемые
> МС чтобы понять что "актуально в данном сезоне" :)

И сделать наоборот.


 
Rouse_ ©   (2010-12-07 19:39) [88]


> DiamondShark ©   (07.12.10 19:38) [87]
> И сделать наоборот.

Под линукс пишешь?


 
DiamondShark ©   (2010-12-07 19:46) [89]


> Rouse_ ©   (07.12.10 19:39) [88]

Чур меня! Чур!

Это был сарказмЪ.
Сам же знаешь, что дело Кулибина бессмертно.


 
Маркетоид   (2010-12-07 20:00) [90]

Кем разрабатываются?
Еще один Закон Природы ?

Господа, я все понимаю, что и потроллить хочется и сливать обидно, но давайте без детсадовства.

Или вы мне сейчас будете доказывать, что ни структур ни классов у вас нет.
Есть только переменные.
Или даже переменных нет.

Потребовалось типа соединиться с сервером - открываем ини, делаем из него рид прямо в свойства компонента датабазы и все.
Потребовалось отредактировать настройки - снова открываем ини, читаем из него значения прямо в эдиты.

Вы мне это пытались сказать в первых двух строках?


 
DiamondShark ©   (2010-12-07 20:04) [91]


> Потребовалось типа соединиться с сервером - открываем ини,
>  делаем из него рид прямо в свойства компонента датабазы
> и все.Потребовалось отредактировать настройки - снова открываем
> ини, читаем из него значения прямо в эдиты.

Ви таки будете мне смеяться, но достаточно часто так и пишут.
Причём, по неизвестным науке причинам, на Дельфи так пишут чаще, чем на других средствах разработки.


 
Маркетоид   (2010-12-07 20:07) [92]

Ви таки будете мне смеяться, но достаточно часто так и пишут.

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


 
Rouse_ ©   (2010-12-07 20:20) [93]

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


 
Andy BitOff ©   (2010-12-07 20:23) [94]

> b z   (07.12.10 19:33) [85]
> Вы зачем такую фигню ставите? ;)

Это маленький кусочек. У меня такой фигни полон диск ;)


 
Маркетоид   (2010-12-07 20:28) [95]

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


Надо же какое совпадение.
Ровно это же самое хочу сказать и я.
Читайте спецификации и  все ваши глупые вопросы и страхи перед xml исчезнут.


 
Kerk ©   (2010-12-07 20:30) [96]


> Маркетоид   (07.12.10 20:00) [90]
> Потребовалось отредактировать настройки - снова открываем
> ини, читаем из него значения прямо в эдиты.

Настройки - это не самоцель, ты пойми. Все эти будущие значения эдитов - свойства различных объектов, которые и требуется настраивать.


 
Маркетоид   (2010-12-07 20:35) [97]

Настройки - это не самоцель, ты пойми.

А может вернемся к вопросу "структуры и классы"?

А то мне слегка надоедает это бла-бла-бла.

Итак:
Есть они у вас или нет?
Или вы пишете как сказано в [91]?

Если первое "да", то я ответил на ваш вопрос "кто создает" и "кто пишет"
Если второе "да", то см. [92]


 
Kerk ©   (2010-12-07 20:37) [98]


> Маркетоид   (07.12.10 20:35) [97]
>
> А то мне слегка надоедает это бла-бла-бла.

Ну так и прекращал бы свое бла-бла-бла.

> А может вернемся к вопросу "структуры и классы"?

Дело в том, что этот вопрос ты сам придумал. Самое смешное, что ты до сих пор не понял поста [33].


 
Маркетоид   (2010-12-07 21:30) [99]

Мне скучно беседовать с трусливыми скользкими типами.
Прощай.


 
sniknik ©   (2010-12-07 21:59) [100]

> начинаются вопли - "почему у меня пишет какую-то ошибку 5?", "почему не работает через терминальный клиент?" и т.д.
работают вплоть до win 7, никаких воплей. может таки потому, что продумано? независимо от того, что ви там себе навидумивали...

> почему-то в современных продуктах изместных всему миру контор я не вижу ini файлов в каталоге с exe.
решил проверить, посмотреть, а что у меня там с ini рядом с exe -
http://img94.imageshack.us/img94/9029/inia.png
выводы неутешительны... у меня НЕТ программ от известных всему миру контор, т.к. практически у всех есть ini.

> Вы зачем такую фигню ставите? ;)
другой попросту нет. практически.

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


 
sniknik ©   (2010-12-07 22:00) [101]

> Мне скучно беседовать с трусливыми скользкими типами.
> Прощай.
ты подпись забыл -> "трусливый скользкий тип".


 
Медвежонок Пятачок ©   (2010-12-07 22:02) [102]

формат не важен, вам же это чуть ли не с начала ветки твердят.


если он не важен, то зачем же мне твердят, что xml хуже?
или что предпочтительнее не использовать xml?

логику дома забыли?


 
Медвежонок Пятачок ©   (2010-12-07 22:02) [103]

ты подпись забыл -> "трусливый скользкий тип".


Полегчало?


 
Медвежонок Пятачок ©   (2010-12-07 22:11) [104]

ты подпись забыл -> "трусливый скользкий тип".


Не мог бы ты указать мне номер моего поста и номер строки в котором бы я вел себя как сколзький и трусливый тип?

Только конкретно.


 
Медвежонок Пятачок ©   (2010-12-07 22:18) [105]

сникник, если не укажешь номер моего поста (подробности в [104]) - ты трепло.

удачи в поисках!
:)


 
sniknik ©   (2010-12-07 22:22) [106]

> если он не важен, то зачем же мне твердят, что xml хуже?
так и не дошол пост [33]? перечитай еще раз. также [4], [6] и т.д. практически всю ветку, кроме своих постов, вот там безапеляционные отверждения.

> в котором бы я вел себя как сколзький и трусливый тип?
на выбор любой под именем Маркетоид...
или думаешь не догадались? второго такого фанате еще поискать.
или считаешь прятаться за анонимом верх смелости?


 
Ega23 ©   (2010-12-07 22:24) [107]


> Или вы мне сейчас будете доказывать, что ни структур ни
> классов у вас нет.
> Есть только переменные.
> Или даже переменных нет.
>
> Потребовалось типа соединиться с сервером - открываем ини,
>  делаем из него рид прямо в свойства компонента датабазы
> и все.
> Потребовалось отредактировать настройки - снова открываем
> ини, читаем из него значения прямо в эдиты.
>


см. [33]
Либо тролль, либо дебил детектед. Скорее первое  :)


 
Медвежонок Пятачок ©   (2010-12-07 22:26) [108]

на выбор любой под именем Маркетоид...

Я просил конкретно номер
Ты не указал.

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

сникник,  ты - трепло.


 
Медвежонок Пятачок ©   (2010-12-07 22:29) [109]

Либо тролль, либо дебил детектед. Скорее первое  :)

а [25] до тебя уже дошло?

Похоже что до сих пор нет.

Потому что [33] возникло от того, что ты не понял [25]


 
sniknik ©   (2010-12-07 22:33) [110]

Я просил конкретно номер
вот тебе список, типа трусливо пишущего под чужим ником
Маркетоид   (07.12.10 14:55) [25]
Маркетоид   (07.12.10 16:16) [28]
Маркетоид   (07.12.10 16:34) [30]
Маркетоид   (07.12.10 16:42) [32]
Маркетоид   (07.12.10 16:52) [36]
Маркетоид   (07.12.10 16:56) [38]
Маркетоид   (07.12.10 16:58) [40]
Маркетоид   (07.12.10 17:02) [44]
Маркетоид   (07.12.10 17:06) [46]


 
Ega23 ©   (2010-12-07 22:34) [111]


> Потому что [33] возникло от того, что ты не понял [25]


Если ты не понял, что в секции "узла" я могу считать Count и наименования секций дочерних узлов, а для считывания каждого из них я не могу передать в соответствующий объект ссылку на открытый ini и наименование дочерней секции - ну тады ой. Если Свинья Винни-Пух сказал, что не могу, значит - не могу.
Наверное я - дебил и [33] писал тоже для дебилов.


 
Медвежонок Пятачок ©   (2010-12-07 22:35) [112]

А кто тебе сказал, что это "чужое имя" ?


 
Медвежонок Пятачок ©   (2010-12-07 22:37) [113]

Ега, мне печально тебе это сообщать, но не только я, но и твой союзник по спору керк, пытался тебе объяснить, что ты нихрена не понял сути моего поста № 25.


 
Медвежонок Пятачок ©   (2010-12-07 22:42) [114]

сникник, ты ответишь на вопрос про чужой ник, или ты это снова просто потрепался?


 
Ega23 ©   (2010-12-07 22:44) [115]


> Ега, мне печально тебе это сообщать, но не только я, но
> и твой союзник по спору керк, пытался тебе объяснить, что
> ты нихрена не понял сути моего поста № 25.


Мне тоже печально тебе сообщать, но всё различие между сериализацией/десериализацией из/в XML/ini состоит в различиях формата. В одном случае у тебя уникальность имён узлов соблюдается в рамках родительского узла, в другом случае - в рамках всего документа.
ВСЁ. Вся разница.


 
Медвежонок Пятачок ©   (2010-12-07 22:49) [116]

да ладно ега, забей.
ты и так сильно постарался ища как вывернуться.

"указатель на тини + строка имени секции"

молодец. может кто-то даже реально так и пишет.

печально вот что.

первый мой пост в ветке был вступительный. наехали.

следующий (№ 28) в ответ на наезд (причем ничем неаргументированный)

никто не принимает вызова, а в конце еще трусливым обозвали.

пипец.


 
sniknik ©   (2010-12-07 22:52) [117]

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


 
Ega23 ©   (2010-12-07 22:52) [118]


> молодец. может кто-то даже реально так и пишет.


Я так не пишу. Я использую XML. Но я не вижу никаких причин написать именно так, как в [33].
З.Ы. (Node: IXMLNode) в параметрах тебя тоже напрягает, не?


 
Медвежонок Пятачок ©   (2010-12-07 22:56) [119]

анонимки всегда были определенным признаком...

Хочешь сказать, что "медвежонок пятачок" - он весь такой неанонимный, а "маркетоид" - пипец весь анонимный по самое нехочу?

/* о майн гот, с кем я взялся спорить */


 
Ega23 ©   (2010-12-07 23:01) [120]


> "медвежонок пятачок" - он весь такой неанонимный


Деанон - оно тебе таки надо?


 
Petr V. Abramov ©   (2010-12-07 23:03) [121]


> Ega23 ©   (07.12.10 16:52) [37]
> Ini - просто, но не поддерживает древовидность (точнее,
> она достигается ректальным способом).

дальнейшую дискуссию почитаю, но только ради смеху.
т.к. СУТЬ тут.


 
sniknik ©   (2010-12-07 23:05) [122]

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


 
sniknik ©   (2010-12-07 23:10) [123]

> т.к. СУТЬ тут.
не, не суть. посмотри как у Google Earth инишники сделаны... часть. с узлами на json, не назвал бы это ректальным, а был бы как у них яваскрипт в язык встроен (там где объект json = объекту в программе) то сказал бы что даже очень удобно, лучше чем xml.


 
Ega23 ©   (2010-12-07 23:20) [124]


> там где объект json = объекту в программе


Ну дык.. В eval() и есть вся "вкустность" JSON.
Отпарвил HttpRequest, получил response, сделал eval - и объект у тебя готовый.
Вот будь такое в XML (о чём я выше писал, но кто-то не просёк) - было бы шыколадно.
Но фиг, приходится напильником допиливать.



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

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

Наверх




Память: 0.83 MB
Время: 0.017 c
15-1291659561
bss
2010-12-06 21:19
2011.03.20
Как определяют PR и тИЦ сайтов?


15-1291739962
И. Павел
2010-12-07 19:39
2011.03.20
Ветер-ветер ты могуч :)


11-1227810366
Jon
2008-11-27 21:26
2011.03.20
Activemovie


15-1291640916
Дмитрий С
2010-12-06 16:08
2011.03.20
Подскажите почтовый хостинг с возможностью алиасов с масками.


2-1293300922
makarik01
2010-12-25 21:15
2011.03.20
Помогите с dcpcrypt