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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.81 MB
Время: 0.009 c
2-1293439574
NanoTek
2010-12-27 11:46
2011.03.20
Поменять шрифт Редактора кода


15-1291671003
Юрий
2010-12-07 00:30
2011.03.20
С днем рождения ! 7 декабря 2010 вторник


6-1200848613
Maloj2007
2008-01-20 20:03
2011.03.20
Связь TIdTCPServer и TIdTCPClient


2-1293142515
vitge
2010-12-24 01:15
2011.03.20
Установка ширины ячейки в StringGrid.


15-1291489764
Артём
2010-12-04 22:09
2011.03.20
Дельфи 2010





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