powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / XML как альтернатива INI
154 сообщений из 154, показаны все 7 страниц
XML как альтернатива INI
    #40093684
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Хотел спросить, может ли xml-файл служить альтернативой ini-файлам? У меня имеется программа которая использует профили материалов. Каждый профиль - это отдельный ini-файл , в котором хранится информация о материале. Я просто с xml еще не работал. Можно ли например все профили хранить в одном xml-файле, т.е. получается своего рода база данных, а потом считывать обращаясь к секциями выбранного материала для загрузки его параметров?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093685
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85,

да, конечно можно. Единственное, есть два типа парсеров XML, одни строят полностью дерево узлов (DOM, Document Object Model), другие проходят документ последовательно и полное дерево не строят (SAX - Simple API for XML). Часто используются парсеры первого типа, но если документ XML очень большой, то при использовании парсеров первого варианта могут возникать тормоза. Зависит наверное от реализации, но по-моему раньше, по крайней мере, это становилось актуальным на файлах в десятки мегабайт например. Если у вас данные меньше, то без проблем, можно использовать XML. Компонент TXMLDocument позволяет работать с XML.
В Delphi впридачу есть мастер, позволяющий по схеме XML или по образцу разбираемого файла построить интерфейсы для работы с файлами конкретного вида. При открытом проекте File - New - Delphi Projects - XML - XML Data Binding.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093689
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s62,
спасибо. Да , думаю что нужно в моём случае использовать первый тип, т.к. файлов в целом по статистике накапливается немного, ну штук 8-10 максимум, да и секций в каждом штук 6-7. Так что копейки все это весит по информации. Да, конечное еще с этим форматом мне предстоит разбираться, что к чему)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093693
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше сразу на json переходи.

XML не эффективен и устарел.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093694
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85может ли xml-файл служить альтернативой ini-файлам?

Не может. Как вручную редактируемый формат он слишком заморочен. Как внутренний
формат - слишком неэффективен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093696
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JSON по моему опыту получился "дешевле" в понимании и редактировании чем SQL. Но ini файл ещё проще
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093697
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Damir_85
Здравствуйте.
Хотел спросить, может ли xml-файл служить альтернативой ini-файлам?

Нет, нельзя.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093700
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85
Да, конечное еще с этим форматом мне предстоит разбираться, что к чему)


Вот пример сохранения расписания в XML-файл и сам файл, который получается.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
type
  TVMOverlay = record
    FileName: string;
    Title: string;
    Start: TSQLTimeStamp;
    Duration: TSQLTimeStamp;
    Kind: TOverlayKind;
    Input: integer;
    OverNo: integer;
    IsOn: boolean;
    RunBySched: boolean;
  end;
  TOverlayList = TList<TVMOverlay>;
...
procedure SaveActionToXmlNode(const aAction: TVMOverlay; var aDoc: IXMLDocument);
var Node, SubNode, Attr: IXMLNode;
    Tmp: TSQLTimeStamp;
    DT: TDateTime;
begin
  Node := aDoc.DocumentElement.AddChild('overlay');
  SubNode := Node.AddChild('filename');
  SubNode.Text := aAction.FileName;
  SubNode := Node.AddChild('title');
  SubNode.Text := aAction.Title;
  SubNode := Node.AddChild('start');
  SubNode.Text := SqlTimeStampToStr('dd.mm.yyyy hh:nn:ss.zzz', aAction.Start);
  SubNode := Node.AddChild('duration');
  Tmp := aAction.Duration;
  Tmp.Year := 2021;
  Tmp.Month := 1;
  Tmp.Day := 1;
  DT := SQLTimeStampToDateTime(Tmp);
  SubNode.Text := FormatDateTime('dd.mm.yyyy hh:nn:ss.zzz', DT);

  Attr := aDoc.CreateNode('kind', ntAttribute);
  Attr.NodeValue := ord(aAction.Kind);
  Node.AttributeNodes.Add(Attr);

  Attr := aDoc.CreateNode('input', ntAttribute);
  Attr.NodeValue := aAction.Input;
  Node.AttributeNodes.Add(Attr);

  Attr := aDoc.CreateNode('overno', ntAttribute);
  Attr.NodeValue := aAction.OverNo;
  Node.AttributeNodes.Add(Attr);
end;


procedure SaveOverlaysToFile(aOverlays: TOverlayList; const aFileName: string);
var XmlDoc: IXMLDocument;
    Root: IXMLNode;
    i: integer;
begin
  XmlDoc := TXMLDocument.Create(nil);
  XMLDoc.Options := XMLDoc.Options + [doNodeAutoIndent];
  XmlDoc.Active := True;
  Root := XmlDoc.CreateElement('overlays', '');
  XmlDoc.DocumentElement := Root;
  for i := 0 to OverlayList.Count - 1 do
  SaveActionToXmlNode(OverlayList.Items[i], XmlDoc);
  XmlDoc.SaveToFile(aFileName);
  XmlDoc := nil;
end;



Файл:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<overlays>
  <overlay kind="1" input="0" overno="1">
    <filename>D:\photoes\DSCN0875.JPG</filename>
    <title>DSCN0875.JPG</title>
    <start>02.03.2021 18:40:00.000</start>
    <duration>01.01.2021 00:01:00.000</duration>
  </overlay>
  <overlay kind="1" input="0" overno="3">
    <filename>D:\photoes\P_20170922_114554.jpg</filename>
    <title>P_20170922_114554.jpg</title>
    <start>02.03.2021 18:41:00.000</start>
    <duration>01.01.2021 00:01:00.000</duration>
  </overlay>
  <overlay kind="2" input="4" overno="1">
    <filename></filename>
    <title></title>
    <start>06.03.2021 18:38:00.000</start>
    <duration>01.01.2021 00:10:00.000</duration>
  </overlay>
</overlays>


Да, можно пользоваться JSON, но для хранения настроек, профилей, как вы написали, и т.п., не играет особой роли избыточность текста в XML - ну будет в файле не 15 Кб, а 30 Кб, особой разницы нет.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093702
Фотография sasha27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85
Здравствуйте.
Хотел спросить, может ли xml-файл служить альтернативой ini-файлам? У меня имеется программа которая использует профили материалов. Каждый профиль - это отдельный ini-файл , в котором хранится информация о материале. Я просто с xml еще не работал. Можно ли например все профили хранить в одном xml-файле, т.е. получается своего рода база данных, а потом считывать обращаясь к секциями выбранного материала для загрузки его параметров?


Как угодно можно организовать, главное чтоб было удобно Вам пользоваться. Хоть XML, ClientDataSet, TMemTableEh из EhLib, да хоть обычный DBF - все в одном файле будет.
XML хорош тем, что туда можно разно-структурированные данные засунуть.
Нормально вручную редактируемый и читаемый формат, тут на вкус и цвет кому как...
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093704
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85,

Может, действительно стоит использовать JSON, как написали. Он несколько компактней (зотя xml тоже можно делать более компактным, используя атрибуты и разумно короткие имена узлов). Я с JSON всего однажды или пару раз имел дело, относително давно, может быть с ним и меньше кода надо писать для сохранения/загрузки, точно не скажу.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093707
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все настройки должны быть в базе.
Разве что, если важен код рабочего места - то его можно в инифайлик затулить. Но лучше использовать имя компьютера.
Или номер ком порта (да и это лучше в базу, с привязкой к номеру рабочего места, а лучше - к имени компьютера).
Зачем для этого xml - не знаю.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093710
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Все настройки должны быть в базе

Каждый раз, когда я это читаю, мне становится интересно - где хранить настройки соединения с базой.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093711
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Просто примени рекурсию.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093715
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
YuRock
Все настройки должны быть в базе

Каждый раз, когда я это читаю, мне становится интересно - где хранить настройки соединения с базой.
Ну да, прописать в инифайле одну строчку. Опять же, xml здесь не нужен.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093716
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Опять же, xml здесь не нужен.

Да какая разница. С точки зрения этой задачи xml, json, ini, stringlist, registry, таблица в БД - эквивалентно тривиальные хранилища набора пар path.name=value. Если программист всерьёз задумывается о том, что же выбрать, и собирается писать разный код для этих случаев - он, мягко говоря, плохой программист.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093725
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как всегда, развели демагогию и флуд :)

ИМХО, хранить лучше всего в том формате, для которого есть удобный парсер, позволяющий на "раз-два-три" читать/писать данные
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093806
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock
Все настройки должны быть в базе.

Ага. Причем сразу на Oracle, который живет на отдельном сервере.

Автору:
XML - хороший вариант, где можно потом и структуру контролировать, и всяких ORM навешать. Хоть и замороченный чуток (но это опциональные фичи, которые могут и не понадобиться никогда), но он явно переживет весь софт, который есть на данный момент.
У классического JSON есть несколько тараканов, которые решены только в JSON5. Не критичны, но имеют место.
А если нужна прям совсем лаконичность, то YAML
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093818
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Damir_85может ли xml-файл служить альтернативой ini-файлам?

Как внутренний формат - слишком неэффективен.

Это если сериализаторами не пользоваться. Но там всё равно лучше JSON.
YuRock
Все настройки должны быть в базе.

... даже когда нет базы вообще 😃
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093823
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal

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

А для YAML есть что-то подобное https://github.com/grijjy/GrijjyFoundation/blob/master/Grijjy.Bson.Serialization.pas ?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093845
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Альтернатива ini-файлам - реестр.

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

Если же цель состоит в обмене данными, то XML или JSON большой разницы нет.
JSON в настоящее время моднее.

" Каждый профиль - это отдельный ini-файл , в котором хранится информация о материале ".
Идея хранения данных в ini-файлах со временем уступает место другим идеям.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093847
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l
Альтернатива ini-файлам - реестр.
Реестр и ini файл - сильно разные вещи.
По хорошему - для разных задач предназначенные.

Реестр нужен для хранения данных с общим доступом, ini для внутри-програмных данных.

Хранить внутренние настройки ПО в реестре - дурной тон.

ИМХО.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093862
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l
Альтернатива ini-файлам - реестр.

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

Если же цель состоит в обмене данными, то XML или JSON большой разницы нет.
JSON в настоящее время моднее.

" Каждый профиль - это отдельный ini-файл , в котором хранится информация о материале ".
Идея хранения данных в ini-файлах со временем уступает место другим идеям.


как бы xml и json это немного разные вещи. json это посути тот же ini текстовый файл.
а вот xml это уже строго структурированный файл, с xsd схемой описывающей его структуру.
естественно что у xml оверхед значительно больше чем у простых текстовых файлов, просто не надо считать что если вы открыли файл по F3 и видите его содержимое то все просто :)
И именно для обмена данными есть огромная разница между xml и json :)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093864
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
YuRockВсе настройки должны быть в базе.

Ага. Причем сразу на Oracle, который живет на отдельном сервере.Особенно в этом случае.
Тогда пользователь перейдет на другой компьютер, и не заметит, и ничего настраивать не надо.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093865
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
YuRockВсе настройки должны быть в базе.

... даже когда нет базы вообще 😃В этом случае функции базы выполняет инифайл, т.ч. всё укладывается в мою архитектуру
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093868
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чисто технически можно.
JSON - модно + есть возможность создавать вложенные узлы, т.е. возможностей потенциально больше.

Но потом ручками редактировать будет сложновато, если оно, конечно, надо.
Я уже перешел на JSON + хранение в БД.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093871
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Тогда пользователь перейдет на другой компьютер, и не заметит, и ничего настраивать не надо.

Угу. Зверски люблю такие продукты. У меня, например, мониторы стоят вертикально, и геометрия окон - соответствующая. И вот, логинюсь я с ноута соседа, а это больное на голову приложение начинает тянуть из базы мои вертикальные настройки и уверять меня, что я ничего не замечу.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093872
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat
Wlr-l
Альтернатива ini-файлам - реестр.
Реестр и ini файл - сильно разные вещи.
По хорошему - для разных задач предназначенные.

Реестр нужен для хранения данных с общим доступом, ini для внутри-програмных данных.

Хранить внутренние настройки ПО в реестре - дурной тон.

ИМХО.


Жаль, что вы осилили только первое предложение.

Реестр и создавался для замены ini-файлов с целью централизации, унификации и упрощения хранения настроек программ.
Возможности реестра превосходят возможности ini-файлов.
ini-файлы - это обратная совместимость Windows с DOS.

Чем отличаются "данные с общим доступом" от "внутри-програмных данных" с точки зрения их хранения вне программы для меня загадка.

Уже в Delphi 2 был модуль, позволяющий работать с реестром как с ini-файлом, специально для тех, кто не смог осилить работу с реестром или расстаться с ini-файлами. Я, например, тоже еще не расстался с ini-файлами.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093875
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l
Жаль, что вы осилили только первое предложение.
Повежливее, друг.

Я имею полное право комментировать в твоем посте то, что сам захочу.
Реестр и создавался для замены ini-файлов с целью централизации, унификации и упрощения хранения настроек программ.
Возможности реестра превосходят возможности ini-файлов.Замечательно. Согласен.
Однако что ты несешь дальше - это сон разума.
ini-файлы - это обратная совместимость Windows с DOS.Извини, ты дурак или притворяешься?
Дос умер 20 лет назад, но почти все новое ПО все еще использует ini файлы.
Наверно все эти дурные люди используют ini файлы для совместимости с ДОС.
Чем отличаются "данные с общим доступом" от "внутри-програмных данных" с точки зрения их хранения вне программы для меня загадка.Тем что не надо в общее хранилище пихать своих личных тараканов. Это не помойка общего пользования.
Реестр распухает и ОС начинает тормозить.
В итоге приходится пользоваться всяким софтом, типа RegCleaner, дабы избавиться от последствий творчества "очень умных" говнокодеров.

Меня вот умиляет утилита миграции от эмбаркадеры, которая для перехода выгружает данные из реестра в ini-шник, дабы потом это все импортнуть обратно в реестр по немного другому адресу. И это при том что куча настроек среды все одно лежит в файлах.
Рука-лицо точка жпг.
Уже в Delphi 2 был модуль, позволяющий работать с реестром как с ini-файлом, специально для тех, кто не смог осилить работу с реестром или расстаться с ini-файлами. Я, например, тоже еще не расстался с ini-файлами.Осталось что бы кто-то придумал модуль для работы с СУБД как с ini файлом. Заживем!
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093877
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ini-файлы - это технология Windows 3.1 Реестр появился в Win95 для преодоления её недостатков (например, отсутствия возможностей бэкапа-восстановления). Войны того против другого отгремели в конце прошлого века и сейчас вспоминать что-то на эту тему просто смешно. Ну а что касается такой абстракции как "пользовательские настройки", как я уже сказал, неспособность отделить её от "сериализатора" / "места хранения" ярко подчёркивает джунский уровень.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093881
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30.08.2021 17:01, softwarer пишет:
> ini-файлы - это технология Windows 3.1 Реестр появился в Win95 для преодоления её недостатков

в Windows 3.1 уже был реестр, правда только с одной веткой HKEY_CLASSES_ROOT.
полноценный реестр появился в NT 3.1
и уже оттудова был перенесён в Win95.


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093888
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat,

Что вам еще сказать? Я, в отличии от вас, не опускался до оскорблений. Да, мне жаль, что вы не осиливаете прочитанное.

Все ваши высказывания - это частности, основанные на вашем неудачном опыте: кто-то умер, что-то распухает...

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

softwarer справедливо заметил: " что касается такой абстракции как "пользовательские настройки", неспособность отделить её от "сериализатора" / "места хранения" ярко подчёркивает джунский уровень ".

Научитесь отличать частное от общего, видеть причинно-следственные связи. Цены вам не будет.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093890
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l
Я, в отличии от вас, не опускался до оскорблений.
Что поделать, если тебя оскорбляет общение с тобой в твоем же стиле.

Смени стиль и не будешь оскорблятся.
Wlr-l
Да и логикой у вас что-то не так. Если нечто было создано в предыдущей системе, осталось в новой системе для совместимости с предыдущей и используется в новой системе, то это не отменяет причину, по которой это нечто перешло из одной системы в другую.
Формулируй свои мысли четче и тогда не будет поводов для последующего удивления.

Хех, по твоему все что придумано ранее существует "для совместимости".

Не путать причины и следствия - базовый аспект логики.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093893
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
энди
Wlr-l
Альтернатива ini-файлам - реестр.

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

Если же цель состоит в обмене данными, то XML или JSON большой разницы нет.
JSON в настоящее время моднее.

" Каждый профиль - это отдельный ini-файл , в котором хранится информация о материале ".
Идея хранения данных в ini-файлах со временем уступает место другим идеям.


как бы xml и json это немного разные вещи. json это посути тот же ini текстовый файл.
а вот xml это уже строго структурированный файл, с xsd схемой описывающей его структуру.
естественно что у xml оверхед значительно больше чем у простых текстовых файлов, просто не надо считать что если вы открыли файл по F3 и видите его содержимое то все просто :)
И именно для обмена данными есть огромная разница между xml и json :)


Для обмена информацией между этими двумя механизмами большой разницы нет. Сегодня чаще используют json, но, как уже сказали, xml переживет это. Они оба хорошо справляются со своей задачей. Посмотрите статьи, где сравниваются эти два механизма, и вы найдете там достоинства и недостатки каждого из этих механизмов.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093895
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat,

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

Всего хорошего.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093897
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l,

И вам не хворать.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093907
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
YuRock
Тогда пользователь перейдет на другой компьютер, и не заметит, и ничего настраивать не надо.

Угу. Зверски люблю такие продукты. У меня, например, мониторы стоят вертикально, и геометрия окон - соответствующая. И вот, логинюсь я с ноута соседа, а это больное на голову приложение начинает тянуть из базы мои вертикальные настройки и уверять меня, что я ничего не замечу.
Настройки расположения окон? Это не настройки, это мусор (точнее, это настройки взаимодействия программы с текущим компьютером), который надо хранить там, где и полагается - в реестре.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093908
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати насчет реестра. Реестр конечно можно использовать , но для хранения именно настроек программы, а не различные пользовательские данные. Тем более при некорекктном удалении останутся ветки от программы( потом CCLeaner пользователь будет запускать)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093909
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да еще почему спросил, т.к. программа работает с CorelDraw, а последние версии 64-битные, и ОС тоже последние версии уже 64-битные , почему то на WriteIni и ReadIni из dll библиотеки Windows программа ругается. Не пойму. то ли корел, то ли в виндовсе что то поменяли На версиях пониже работает (ну корел я имею ввиду)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093910
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правда не помню, то ли в system32.dll это команды WriteIniFile ReadIniFIle то ли в другой библиотеке
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093917
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Damir_85
кстати насчет реестра. Реестр конечно можно использовать , но для хранения именно настроек программы, а не различные пользовательские данные. Тем более при некорекктном удалении останутся ветки от программы( потом CCLeaner пользователь будет запускать)

Совершенно верно, не нужно использовать.
А я - использую, и для локальных настроек, и как постоянно доступную СУБД с параллельным доступом. Например, я в реестре храню историю инсталляций программного комплекса, очень удобно. Или в качестве буфера андо-редо редактора моих документов.
Но вы - не используйте, вдруг ОС тормозить начнет, достаточно того, что мои программки там безбожно мусорят.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093931
qasta
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Damir_85,

если речь идет о файлах, которые будет редактировать человек в текстовом редакторе - то сейчас используют yaml - краткий синтаксис и хорошие возможности (он реально намного удобнее многих других форматов). Из минусов (по сравнению с XML) - нет схем с валидацией (как следствие - нет инструментов автоматического биндинга полей XML к классам), не так распространен, как XML (если хочется именно набрать опыта работы с XML).
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40093996
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wlr-l
Реестр и создавался для замены ini-файлов с целью централизации, унификации и упрощения хранения настроек программ.
Возможности реестра превосходят возможности ini-файлов.
ini-файлы - это обратная совместимость Windows с DOS.

Создавался, но сейчас вся эта бабуйня с реестром постепенно отмирает. Объемы данных в профиле растут и становятся более разнообразными, а значит, файлы снова в тренде. Да и мультиплатформенность заставляет реестр отмирать как пережиток мс-ного выбрыка.
YuRock
Особенно в этом случае.
Тогда пользователь перейдет на другой компьютер, и не заметит, и ничего настраивать не надо.

Всё надо применять сообразно цели. Настройки блокнота - в локальном файле, а профиль оболочки к БД - в БД.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094077
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fr0sT-Brutal
Wlr-l
Реестр и создавался для замены ini-файлов с целью централизации, унификации и упрощения хранения настроек программ.
Возможности реестра превосходят возможности ini-файлов.
ini-файлы - это обратная совместимость Windows с DOS.

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

1. Не нужно путать идею с реализацией.

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

2. Имея опыт создания СУБД, можно легко решить сегодняшние проблемы реестра.
Хотя в большинстве случаев это проблемы не реестра, а программистов, чьи "программки там безбожно мусорят".

3. Уже было сказано, бои "реестр или файлы настроек" отгремели в конце прошлого века.
И то, и другое, имея неравные возможности, сегодня живет параллельно друг с другом.

4. Если на какой-то другой платформе нет чего-то подобного реестру Windows, то, может быть, эта платформа еще не доросла до этой идеи.
Не нужно подчеркивать, что на одном полюсе все только хорошее, а на другом - плохое.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094083
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wlr-l
Файлы, даже если они содержат внутри себя yaml, не обеспечат такую же функциональность, какую уже позавчера обеспечивал реестр.

Это какую же? Геморрой с переносом на другую систему? Жесткую привязку к Windows?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094092
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fr0sT-Brutal
Wlr-l
Файлы, даже если они содержат внутри себя yaml, не обеспечат такую же функциональность, какую уже позавчера обеспечивал реестр.

Это какую же? Геморрой с переносом на другую систему? Жесткую привязку к Windows?

1. В этом обсуждении изначально речь не шла о мультиплатформенности.

2. Если все, что связанно с конечными пользователями, находится на одной платформе, то в приложении нужно использовать возможности именно этой платформы, а не возможности этой платформы + платформы для полетов на Марс.

3. Все приложения VCL жестко привязаны к одной платформе. Геморрой реестра ни что по сравнению с остальной частью VCL-приложения.

4. Дальнейшее обсуждение этого вопроса уже не имеет смысла.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094093
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l,

сегодня VCL, а завтра, например, CrossVCL. а привязка к реестру никуда не делась: всё равно переписывать придется. так может сразу сделать как нужно?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094115
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
makhaon
Wlr-l,

сегодня VCL, а завтра, например, CrossVCL. а привязка к реестру никуда не делась: всё равно переписывать придется. так может сразу сделать как нужно?

Не беспокойтесь, в завтрашней CrossVCL модуль System.Win.Registry будет мультиплатформенным.


Забыл сказать. Каждый человек наделен волей, т.е. свободой сознательного выбора путей достижения цели. Т.е. выбор не предопределен сверху, но предполагает знание возможностей. Но воля это и ответственность за свой выбор.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094187
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реестр можно использовать в двух случаях:

1. Если твоя программа - какой-то популярный известный продукт, типа SQL-сервера, чтобы при инсталляции записать в LOCAL_MACHINE\Software\MyProgramName нужные людям параметры (если такие есть) - типа пути к папке, файлам и т.д.

2. Использовать для мусора - сохранять там настройки расположения окон и подобную хрень.

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

P.S. Сказки про белого бычка плохих программистов, после которых приходится использовать утилиты для чистки реестра, оставьте не для этого форума.
Тот, кто чистит реестр потому, что он большой - просто неадекват.
Тут предлагаю банить за предложения почистить реестр какой-то любой утилитой.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094195
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Больше смысла в нём я не вижу, для других целей он не удобен хотя бы потому, что его нельзя открыть "в блокноте".

Интересно, как Вы правите в блокноте те настройки, которые рекомендуете сохранять в БД.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094196
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094203
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l
Забыл сказать. Каждый человек наделен волей, т.е. свободой сознательного выбора путей достижения цели. Т.е. выбор не предопределен сверху, но предполагает знание возможностей. Но воля это и ответственность за свой выбор.
Хорошо что забыл, но плохо что вспомнил и написал очередную никому не интересную кроме тебя хрень. Рекомендую пообщаться с психиатром
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094212
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
YuRock
Больше смысла в нём я не вижу, для других целей он не удобен хотя бы потому, что его нельзя открыть "в блокноте".

Интересно, как Вы правите в блокноте те настройки, которые рекомендуете сохранять в БД.

Ты не заметил, а я "в блокноте" в кавычках написал.
Для БД "блокнот" - это Toad, IBExpert, и проч.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094213
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Для БД "блокнот" - это Toad, IBExpert, и проч.

Так в чём вопрос? Ты не знаешь блокнота для registry?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094221
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85

Хотел спросить, может ли xml-файл служить альтернативой ini-файлам?

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

В чем возникла проблема с ini-файлами?
Можно посмотреть пример вашего ini-файла?
Какой размер у файлов?

Мне имхуется что проблема или "проблема" легко решается и с ini-файлом.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094222
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
ini-файлы - это технология Windows 3.1 Реестр появился в Win95 для преодоления её недостатков (например, отсутствия возможностей бэкапа-восстановления).

Сорри, чьих недостатков? Win95 или ini-файлов?
Скопировать ini-файл это недостаточно продвинутый метод для бэкапа?

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

С реестром никогда не работал, но имхо, у него всего 2 принципиальных преимущества перед ini и прочими файлами, как xml, json, yaml, etc...
1. относительно быстрый доступ на большом количестве данных
2. параллельный доступ для разных программ

ИМХО
Если не требуется ни первого ни второго - не нужно лезть в реестр.
Если можно решить задачу через ini/csv - не нужно лезть в xml
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094251
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Если можно решить задачу через ini/csv - не нужно лезть в xml

У ini преимущество в том, что они нативные и с ними можно работать через встроенные функции винды.
У csv какие преимущества перед тем же json, например?..
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094263
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp
У ini преимущество в том, что они нативные и с ними можно работать через встроенные функции винды.

Преимущество сомнительное, ибо эти нативные функции убогие, и один хрен все юзают TMemIniFile.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094282
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
alekcvp
У ini преимущество в том, что они нативные и с ними можно работать через встроенные функции винды.

Преимущество сомнительное, ибо эти нативные функции убогие, и один хрен все юзают TMemIniFile.

Ну так TMemCsvFile всё равно нет вроде?..
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094294
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
fraks
Если можно решить задачу через ini/csv - не нужно лезть в xml

У ini преимущество в том, что они нативные и с ними можно работать через встроенные функции винды.

Не знаю на счет нативности, я так же использую TMemIniFile и премного им доволен.
Штатный и нативный TIniFile дюже тормозной, он похоже за каждым параметром лазит в файл отдельно.
У меня ini с настройками программы 83Кб, 3000 строк, лазить за каждым - получается медленно.

TMemIniFile этоу проблему превосходно решает, и то что он платформонезависим и является Pascal-only - вот это вот и есть плюс.

alekcvp
У csv какие преимущества перед тем же json, например?..


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

Если бы категорически критичным было наличие динамического дерева - тогда да, и с csv и с ini будут проблемы.
Но все мои псевдо-деревянные хотелки я прекрасно уложил в плоский вид.

Есть еще одно место где я совместил ini с csv - некоторые секции внутри содержат csv данные,
но не буду настаивать на том что это нормально :)

Зато мне не потребовалось тащить json/xml парсер ни в виде кода ни в виде dll и сохранена платформонезависимость, в этом месте.
Все что я делаю, делаю с прицелом запуска под wine.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094298
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
2. параллельный доступ для разных программ

А вот и нет :)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094300
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Fr0sT-Brutal
пропущено...
Преимущество сомнительное, ибо эти нативные функции убогие, и один хрен все юзают TMemIniFile.

Ну так TMemCsvFile всё равно нет вроде?..

Прочитать текстовый файл построчно - нет проблемы.

Собрать/разобрать строку формата csv - это встроено в TStringList;
Правда в D7 там есть косячок, связанный с пробелами или кавычками, пришлось кажется написать свой вариант.

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

У меня вместо датасетов сделан собственный велосипед - гибрид датасета с динамическим массивом, но при этом не датасет :)
Я к нему добавил функцию читать и писать из/в csv и всё пучком.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094304
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
fraks
2. параллельный доступ для разных программ

А вот и нет :)

Ну тогда тем более смысла использовать реестр мало :)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094313
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

Что может быть проще готового парсера, которых под JSON дофига, причём с сериализаторами?..
По-моему даже из коробки есть.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094325
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Скопировать ini-файл это недостаточно продвинутый метод для бэкапа?

Для борцуна-теоретика, сегодня утром впервые услышавшего про бэкап настроек - достаточно. Он имеет все основания сейчас чувствовать "как я круто ответил". Для человека с компетенциями хотя бы чуть выше чем "пилю нетленку для себя и друга Васи"... даже не смешно.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094335
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
csv ничем не лучше json.

Просто формат старый и привычный.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094337
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Однако перенос ПО путем простого копирования каталога с оным - самый простой способ из всех возможных.

Недаром есть целое движение за "portable" софт.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094339
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
csv ничем не лучше json

По факту он сильно хуже во всём, кроме некоторого преимущества по размеру.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094340
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
csv ничем не лучше json.
Просто формат старый и привычный.
а как вы в нём секции делаете?
по RFC 4180 каждая строка (запись) должна содержать одинаковое количество полей.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094342
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
а как вы в нём секции делаете?
по RFC 4180 каждая строка (запись) должна содержать одинаковое количество полей.
Никак. CSV для этого не предназначен.
Либо это уже будет на CSV а нечто "по мотивам".
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094346
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Мимопроходящий
а как вы в нём секции делаете?
по RFC 4180 каждая строка (запись) должна содержать одинаковое количество полей.
Никак. CSV для этого не предназначен.
Либо это уже будет на CSV а нечто "по мотивам".
ну дык, какая ж это альтернатива INI-файлу?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094348
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Однако перенос ПО путем простого копирования каталога с оным - самый простой способ из всех возможных.

Для двух школьников на двух компьютерах - да.

rgreat
Недаром есть целое движение за "portable" софт.

Есть. Но у него объективно узкая аудитория, которая расширяться не будет. Грубо говоря - эникейщики, которые бегают по соседям переустанавливать винду. У промышленного подхода другие требования, и в сети на тысячу компьютеров админ ну точно не будет ковыряться в том, по какому пути у каждого конкретного пользователя лежат инишники каждой из пятисот нетленок. Не говоря уже о восстановлении из такого бэкапа.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094349
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
а как вы в нём секции делаете?
по RFC 4180 каждая строка (запись) должна содержать одинаковое количество полей.

Не вижу проблемы. Для представления конфигурации в виде csv достаточно двух полей.

NameValueFirstSection.FirstValue1SecondSection.FirstValue2FirstSection.SecondValue3SecondSection.SecondValue4
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094359
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Не вижу проблемы. Для представления конфигурации в виде csv достаточно двух полей.
NameValueFirstSection.FirstValue1SecondSection.FirstValue2FirstSection.SecondValue3SecondSection.SecondValue4
нафиг, нафиг.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094368
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
ну дык, какая ж это альтернатива INI-файлу?
Никакая.
Я этого не предлагал.

Мотороллер не мой, я просто разместил объяву. (с)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094369
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Для двух школьников на двух компьютерах - да.

А можно для двух взрослых на трех компьютерах?
Дяденька, ну пожалуйстя!

rgreat
Есть. Но у него объективно узкая аудитория, которая расширяться не будет.
Сказал - как отрезал!
Не человек, скала!
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094370
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
нафиг, нафиг.

Однажды меня бросило в веб, и там я быстро понял, что гораздо проще реализовать на уровне базового класса обработку &format=, нежели в каждом конкретном сервисе разбираться, в каком формате от него могут захотеть данных. В результате получилось чертовски удобно и довольно забавно, то есть, например, "выгрузить конфигурацию как экселевский файл? да нефиг делать, вот прямо сейчас вот так вызываешь и всё".
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094371
Polesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
YuRock
Больше смысла в нём я не вижу, для других целей он не удобен хотя бы потому, что его нельзя открыть "в блокноте".

Интересно, как Вы правите в блокноте те настройки, которые рекомендуете сохранять в БД.


Э-э-э... Текст SQL-скрипта? ))
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094373
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Есть. Но у него объективно узкая аудитория, которая расширяться не будет. Грубо говоря - эникейщики, которые бегают по соседям переустанавливать винду. У промышленного подхода другие требования, и в сети на тысячу компьютеров админ ну точно не будет ковыряться в том, по какому пути у каждого конкретного пользователя лежат инишники каждой из пятисот нетленок. Не говоря уже о восстановлении из такого бэкапа.

Ты не смешивай энтерпрайз и софт для конечного юзера. Портаблы по определению для тех, кто сам себе админ или хотя бы павер юзер.
softwarer
Мимопроходящий
а как вы в нём секции делаете?
по RFC 4180 каждая строка (запись) должна содержать одинаковое количество полей.

Не вижу проблемы. Для представления конфигурации в виде csv достаточно двух полей.

NameValueFirstSection.FirstValue1SecondSection.FirstValue2FirstSection.SecondValue3SecondSection.SecondValue4

Ну а какой в этом смысл? Тогда можно и простые key-value файлы применять.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094380
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Ты не смешивай энтерпрайз и софт для конечного юзера. Портаблы по определению для тех, кто сам себе админ или хотя бы павер юзер.

В чём смысл твоей фразы? Начал с брутального "ты не смешивай", а затем сказал в точности то же, что и я.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094383
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
softwarer,

Однако перенос ПО путем простого копирования каталога с оным - самый простой способ из всех возможных.

Недаром есть целое движение за "portable" софт.
В "Клиент-Сбербанк", например, насколько помню, так и делали. Правда позднее они перешли на веб-версию, а так всё (практически вроде) было в одной папке и для переноса на другой компьютер достаточно было перенести папку (может какие-то мелочи ещё, не припомнил сейчас). Но там была привязка к железу, так что нужно было еще отвязку/привязку сделать.
Переход на веб-версию конечно снял проблему переноса.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094387
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
YuRock
Для БД "блокнот" - это Toad, IBExpert, и проч.

Так в чём вопрос? Ты не знаешь блокнота для registry?
Этот блокнот неудобный :)
Кроме того, это только одно из неудобств.
Еще одно - что его нельзя скопировать на другой комп "вместе с папкой программы".
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094417
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Этот блокнот неудобный :)

Смотря с чем сравнивать. По сравнению с тем же IBExpert он просто зверски удобный.

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

Это неудобство у нормального человека проявляется дай бог раз в несколько лет. И более чем компенсируется тем, что одним движением в бэкап кладутся настройки всех программ. А не 100500 файлов из такого же количества папок по отдельности.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094568
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer

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

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

И сразу возникает вопрос - а зачем мне бэкапы настроек всех программ? Мне нужно только от 5 программ, остальные - даром не нужны. А бэкапы из-за этого имеют неадекватные размеры, потому как пихают туда все подряд.

Моя программа переезжает с WinXP на Win10 - и зачем мне для этого бэкапы всего остального виндового мусора?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094572
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
rgreat
пропущено...
Никак. CSV для этого не предназначен.
Либо это уже будет на CSV а нечто "по мотивам".
ну дык, какая ж это альтернатива INI-файлу?

А что, кто-то утверждал что CSV - альтернатива INI?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094574
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
fraks
Если можно решить задачу через ini/csv - не нужно лезть в xml

У ini преимущество в том, что они нативные и с ними можно работать через встроенные функции винды.

А собственно, зачем??
Работа с Ini-файлом укладывается буквально в один экран.
Зачем для этого использовать встроенные функции винды если это будет не короче и не переносимо?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094575
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
И сразу возникает вопрос - а зачем мне бэкапы

Так выглядит точнее.

fraks
А бэкапы из-за этого имеют неадекватные размеры, потому как пихают туда все подряд.

(ушёл искать рыдающий смайлик)

fraks
Моя программа переезжает с WinXP на Win10 - и зачем мне для этого

Вот первый пункт и подтвердился.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094577
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
fraks,

Что может быть проще готового парсера, которых под JSON дофига, причём с сериализаторами?..
По-моему даже из коробки есть.

В D7 из коробки для JSON - нет.

alekcvp
которых под JSON дофига, причём с сериализаторами?..

Когда речь заходит про дофига вариантов - сразу возникает вопрос, а с какой целью их родилось дофига вариантов? Каждый чем-то не устраивал, и делали другой, со своим блек-джеком и т.п.? И какой выбирать?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094581
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
fraks
Скопировать ini-файл это недостаточно продвинутый метод для бэкапа?

Для борцуна-теоретика, сегодня утром впервые услышавшего про бэкап настроек - достаточно.

Я не теоретик, я сугубо практик.
У меня задача - сохранить настройки МОЕЙ программы, мне не нужна вся система.
И настройки МОЕЙ программы сохраняются простым копированием либо файла, либо папки с программой и прочим.
Это не по сегодняшним трендам, но у меня все причиндалы программы, кроме собственно Firebird, находятся в папке с программой. Устарновка программы - простым копированием. Бэкап программы - простым копированием. Впрочем, проще скопировать с соседнего компа. В ini ничего критично важного нету, а cам exe у всех одинаковый, и в любом случае самообновится из БД.

Из программ аналогичного устройства, у нас используется СБИС++ - все что требуется - находится внутри одной папки.
Это программа электронной отчетности в гос.органы и ЭДО.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094584
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Когда речь заходит про дофига вариантов - сразу возникает вопрос, а с какой целью их родилось дофига вариантов? Каждый чем-то не устраивал,
Именно.
и делали другой, со своим блек-джеком и т.п.?Ага.
И какой выбирать?Лучший, конечно!
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094588
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
fraks
Когда речь заходит про дофига вариантов - сразу возникает вопрос, а с какой целью их родилось дофига вариантов? Каждый чем-то не устраивал,
Именно.
и делали другой, со своим блек-джеком и т.п.?
Ага.
И какой выбирать?Лучший, конечно!
Лучший JSON - это INI! :)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094594
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
softwarer
пропущено...

Для борцуна-теоретика, сегодня утром впервые услышавшего про бэкап настроек - достаточно.

Я не теоретик, я сугубо практик.
У меня задача - сохранить настройки МОЕЙ программы, мне не нужна вся система.
И настройки МОЕЙ программы сохраняются простым копированием либо файла, либо папки с программой и прочим.
Это не по сегодняшним трендам, но у меня все причиндалы программы, кроме собственно Firebird, находятся в папке с программой. Устарновка программы - простым копированием. Бэкап программы - простым копированием. Впрочем, проще скопировать с соседнего компа. В ini ничего критично важного нету, а cам exe у всех одинаковый, и в любом случае самообновится из БД.

Из программ аналогичного устройства, у нас используется СБИС++ - все что требуется - находится внутри одной папки.
Это программа электронной отчетности в гос.органы и ЭДО.
И вот где во всем этом монетизация, облачные технологии и геморрой?
Ты офигел чтоли? ;)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094598
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Я не теоретик, я сугубо практик.

Практик знает или хотя бы догадывается, что мир не исчерпывается его нетленкой. Он знает, что у каждого пользователя таких программ, от которых нужно бэкапить настройки, добрый десяток. Мало того, он знает, что пользователь занят своей работой и о бэкапах вообще не думает - это задача админа, у которого таких пользователей тысячи, а нетленок, в которых они работают - сотни. И даже если он гордо сидит в болоте на три компьютера и копирует свою программу с одного на другой - он может сообразить, что Microsoft в дизайне своих решений ориентируется не только на его нетленку. И именно поэтому она в том числе придумала реестр. Для того, чтобы одним махом снять с айтишников большой геморрой, оставив только маленький - с теми нетленками, авторы которых застряли в двадцатом веке и работают через инишники.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094599
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Microsoft в дизайне своих решений ориентируется не только на его нетленку.
Да. Там еще, как минимум, при принятии решений присутствуют вещества, а также очень важны фазы луны.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094600
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Для того, чтобы одним махом снять с айтишников большой геморрой, оставив только маленький - с теми нетленками, авторы которых застряли в двадцатом веке и работают через инишники.
В итоге после этого "одного маха", этим самым админам надо бэкапить и реестр и ini-шники.

А после следующего маха - еще и адовую помойку из каталога Users.

Profit!

Классическое: хотели как лучше, а получилось как всегда.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094608
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В андроиде в этом плане раньше было лучше.
ПО в одном месте, данные ПО в другом, по жестким правилам, но внутри этих правил довольно гибко.
Бэкапить было удобно.

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

И все, пока-пока: пользуйтесь убогими и ограниченными решениями от брендов или идите нафиг.
Здравствуй электронное рабство.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094613
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
fraks
Я не теоретик, я сугубо практик.

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


Практик в конкретно своем огороде, который составляет до пары сотен тачек в пяти городах, знает, что программ для которых имеет смысл что-то сохранять, на каждом компе можно сосчитать на пальцах одной руки. Все остальное сохранять, и тем более разбираться в сохраненном гавнище - не имеет смысла.
Мне глубоко насрать как решает свои проблемы микрософт. Я решаю свои проблемы способом, минимально зависящим от окружения и текущей моды на езыки программирования в текущем квартале и полугодии, и прочие свистоперделки. Программам, которые все свое хранят в своей папке, не имеют внешних зависимостей которые нельзя простым способом проследить, и не раскидывают по системе - мое искреннее уважение.
Можешь обойтись тем что у тебя есть - обойдись.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094615
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
И вот где во всем этом монетизация, облачные технологии и геморрой?
Ты офигел чтоли? ;)

Монетизация - она в бизнесе. Моя/мои программы решают вопросы бизнеса, никакой непосредственной монетизации не закладывается.
Облако - только если оно собственное. Если чужое - в топку. Незачем тратить время и усилия на то что может исчезнуть в любой момент.
Зависимость от внешних сервисов - только если очень надо, и только на время, потом поднять свой сервис или обойтись без него.
Геморроя хватает собственного, и незачем разбираться еще и с чужим.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094619
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
fraks
Я не теоретик, я сугубо практик.

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

Практик знает, что его программа работает на всем спектре от WinXP до Win10, а так же некотором спектре линуксов.
Чем меньше будет зависимостей - тем меньше будет проблем. Монолитный бинарник, общение через файлы или сервисы по TCP.
Никаких OLE/DDE и прочей фигни.
Минимальная ОС-зависимость.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094626
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
rgreat
пропущено...
Именно.
пропущено...
Ага.
пропущено...
Лучший, конечно!

Лучший JSON - это INI! :)

так то и json можно в ини загнать ) только нужно ли...
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094631
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon
fraks
пропущено...

Лучший JSON - это INI! :)

так то и json можно в ини загнать ) только нужно ли...


Можно много чего сделать, но нужно же как-то бороться с нынешней модой палить из пушки по воробьям и ездить в магазин за хлебом на индивидуально спроектированном, в соответствии с модой этого года, облачном метро, с нулевым выбросом метана и CO2.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094640
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
fraks
Я не теоретик, я сугубо практик.
Практик знает или хотя бы догадывается, что мир не исчерпывается его нетленкой. Он знает, что у каждого пользователя таких программ, от которых нужно бэкапить настройки, добрый десяток.

При этом в рееестр насрала целая сотня, а может и не одна.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094658
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
YuRock
Этот блокнот неудобный :)

Смотря с чем сравнивать. По сравнению с тем же IBExpert он просто зверски удобный.

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

Это неудобство у нормального человека проявляется дай бог раз в несколько лет. И более чем компенсируется тем, что одним движением в бэкап кладутся настройки всех программ. А не 100500 файлов из такого же количества папок по отдельности.
Сам себе противоречишь (обычное твое трололо).
Забэкапирь ветки реестра проще, чем скопировать одну папку? Ну-ну. Фантазии про 100500 папок без комментариев.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094660
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
YuRock
Еще одно - что его нельзя скопировать на другой комп "вместе с папкой программы".

Это неудобство у нормального человека проявляется дай бог раз в несколько лет.

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

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

Ну, это типа засунуть все базы сервера в одну базу, один файл, и все это вместе забэкапить. А чо, удобно. Все базы одним движением в один бэкап. Особенно когда тебе нужно достать из бэкапа одну базу из 100 там присутствующих. И попутно решая вопрос а где хранить эти бэкапы, при том что бОльшая часть баз - это никогда не меняющаяся статика, которую можно просто скопировать с другого сервера, ибо они одинаковые.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094692
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот вы тут обсуждаете всякие ini, xml, json, реестры(боже упаси), а нормальные пацаны все настройки давно хранят в Active Directory...
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094696
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57,

особенно удобно в AD хранить настройки линукс приложений...
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094698
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon
Barmaley57,

особенно удобно в AD хранить настройки линукс приложений...
Не мелкомягкие, так любой другой LDAP-каталог. Делов то.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094705
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57,

Действий проще и универсальней чем скопировать файл/каталог все одно не придумали.

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

Любые другие решения более ограничивающие.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094719
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57
а нормальные пацаны все настройки давно хранят в Active Directory...

Это типа медленный реестр не на локальной тачке?
Барабаны Страдивари нормальным пацанам запретить невозможно :)

Можно еще в облака закидывать или веб-сервис в облаке для этого смастерить.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094721
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зато это полный кайф для администраторов. А еще это модно, стильно и молодежно)) И смузи дают...
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094724
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57
Зато это полный кайф для администраторов.

Перемещаемые профили. И админы кайфуют и программисты не напрягаются. И файлы.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094736
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Перемещаемые профили. И админы кайфуют и программисты не напрягаются. И файлы.
Если бы в этих профилях было все что нужно, а не только некоторые вещи...

Винда - та еще помойка по структуре хранения.

Хотя для "бухгалтерии" вероятно и этого достаточно.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094738
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Damir_85
кстати насчет реестра. Реестр конечно можно использовать , но для хранения именно настроек программы, а не различные пользовательские данные. Тем более при некорекктном удалении останутся ветки от программы( потом CCLeaner пользователь будет запускать)

Совершенно верно, не нужно использовать.
А я - использую, и для локальных настроек, и как постоянно доступную СУБД с параллельным доступом. Например, я в реестре храню историю инсталляций программного комплекса, очень удобно. Или в качестве буфера андо-редо редактора моих документов.
Но вы - не используйте, вдруг ОС тормозить начнет, достаточно того, что мои программки там безбожно мусорят.

ну тут уж кому как удобно. если уж у вас реестр - это СУБД, значит СУБД. Просто почему некоторые настройки удобно в файлах хранить, неважно какого формата, например, при вылете операционной системы все данные в реестре стираются , т.к. переустановка нужна, ну а файл можно хранить не на системном диске, т.е. при форматироании при установке его не затронет, и потом вернуть старые настройки программы
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094739
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85,
хотя реестр-СУБД, странное решение
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094740
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

Что положишь то и будет. Если принципиально не кладётся, то симлинки.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094771
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57
Вот вы тут обсуждаете всякие ini, xml, json, реестры(боже упаси), а нормальные пацаны все настройки давно хранят в Active Directory...


Нормальные пацаны с embedded-версиями в кармане ходют. И не оставляют следов.
Так что и AD, и реестр идут лесом. INI следом ковыляет туда-же.
Так куда-же крестьянину деваться?
Храните деньги в сберегательной кассе данные в базе данных.
Одни плюсы.
1. Никакой криворукий админ случайно не грохнет ваши настройки.
2. Никакой диверсант не исправит ваши настройки так, что программа вылетит к чертям собачим за пределы экрана.
3. Никакой шпиён не проследит, какие названия имеются у ваших форм или другая информация полезная пытливому уму, которую он может почерпнуть из реестра или ini-файла.
4. Снимается проблема многопользовательской работы на одном компьютере. В случае AD или реестра она ещё как-то решается, но в случае INI - это треш и угар.
5. Снимается проблема версионности программ. Это вообще никак не решается ни INI, ни AD, ни регистром.
6. Снимается проблема сложных настроек. Например, настройки таблиц, с шириной колонок и их ассортиментом достаточно геморройно сохранить в любом месте, кроме БЛОБа
7. Тема архивации настроек, которую тут на нескольких страницах раскачивают, так-же автоматом под лавку уползает.
Кроме того, если я захочу начать работу завтра с того места, где я её закончил сегодня, причём закончил на одном компьютере, а продолжу на другом?
Ну-ка любители AD, регистра и ini, выкатите решение!

Слабое место тут - строка подключения к БД. Её нужно где-то хранить.
И где-же? ехидно вопрошает любитель AD, регистра и ini. Если не в AD, регистре или ini, то где? Уж не в EXE-шнике-ли, жёстко зашитой?
EXE-шник тоже не вариант. Хотя можно поизвращаться и тут.
Для себя пока приемлемым решением определил хранение строки подключения к БД в строке параметров запуска программы.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094773
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zeon11
Нормальные пацаны с embedded-версиями в кармане ходют. И не оставляют следов.
Так что и AD, и реестр идут лесом. INI следом ковыляет туда-же.

Ну вот у нас "mobile" инсталляция есть. Когда ПК можно на флешку установить.
Возникла "проблема" одновременного многопользовательского доступа к общим настройкам. Реестр позволяет, а что с флешкой делать? Параллельную запись в текстовый файл - никак. В итоге сделали хранение в файле базы FireBird Embedded, эта штука с версии 2.1 позволяет параллельно запись в файл базы делать.
Для доступа - свой класс-враппер с интерфейсом от TregIniFile, вызовы транслируются либо в TRegIniFile, либо в команды доступа к базе, в зависимости от того, какую галку юзер при инсталляции клацнул.
Для оперативного просмотра/редактирования - махонькая утилита, типа regedit.
Всё очень просто.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094776
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11

Слабое место тут - строка подключения к БД. Её нужно где-то хранить.
И где-же? ехидно вопрошает любитель AD, регистра и ini. Если не в AD, регистре или ini, то где? Уж не в EXE-шнике-ли, жёстко зашитой?
EXE-шник тоже не вариант. Хотя можно поизвращаться и тут.

В локальной базе данных рядом с exe-шником 🤣
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094792
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85
Здравствуйте.
Хотел спросить, может ли xml-файл служить альтернативой ini-файлам? У меня имеется программа которая использует профили материалов. Каждый профиль - это отдельный ini-файл , в котором хранится информация о материале. Я просто с xml еще не работал. Можно ли например все профили хранить в одном xml-файле, т.е. получается своего рода база данных, а потом считывать обращаясь к секциями выбранного материала для загрузки его параметров?

Топик стартовал с опозданием лет на 20.

Технология XML расцвела в 2000х. Тогда с ней связывали большие надежды. В частности. Искусственный интеллект.
Семантический веб. Базы знаний и онтологии.

Сегодня XML хотя и прочно занял свою нишу, но в конфигах он выглядит рудиментом. Особенно страшно читать
конфиги Apache Http Server. Вроде и xml и вроде и бульдог-носорог. Поэтому в продвинутых проектах давно
используют Yaml или упрощённые диалекты JSON по типу Json-5 или Hocon где нет доминации кавычек
и синтаксис выглядит human-readable. Но я говорю за свой сегмент. За back-end на Java-ent.
В девопсах - тоже Yaml популярен. На нем поднимают всякие docker-compose.

Как в сегменте Delphi - не знаю. Но думаю что Delphi тоже должен отражать какие-то цивилизационные
процессы.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094813
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11
Слабое место тут - строка подключения к БД. Её нужно где-то хранить.
И где-же? ехидно вопрошает любитель AD, регистра и ini. Если не в AD, регистре или ini, то где? Уж не в EXE-шнике-ли, жёстко зашитой?
EXE-шник тоже не вариант. Хотя можно поизвращаться и тут.
Урла к серверу с конфигурацией идет в ini-шнке, идущей в инсталляторе.
При коннекте к серверу приложений урла может быть удаленно изменена сервером.
Если совсем прижало - можно поменять IP адрес сервера через DNS.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094833
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас ради прикола только в одной папке C:\Windows (у меня Win7) сделал поиск по маске *.ini чтобы просто посмотреть сколько вообще этих файлов еще используется. Нашел где то 654 файла. Так что достаточно много). По xml побольше , где то 1 264 но тут наврятли все прям настроечные. Насчет следующих версий Windows незнаю, насколько у них еще актуальны ini. Особенно в 10 версии
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094846
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В среде Windows единой точкой сбора конфигов является реестр. Он - типизированный. И есть возможность
вести какую-то древовидную структуру.

Для винды делать ini/xml/json/yaml e.t.c. конфиги имеет смысл - если у вас portable версия приложения
и вы хотите таскать ее на флешке с собой.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094901
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zeon11
Храните деньги в сберегательной кассе данные в базе данных.
Одни плюсы.

То есть заботы программера скинуть на админа БД и умыть руки :)) отличное решение!
Не говоря уже о том, что половина перечисленных плюсов очень сомнительна
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094907
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
zeon11
Храните деньги в сберегательной кассе данные в базе данных.
Одни плюсы.

То есть заботы программера скинуть на админа БД и умыть руки :)) отличное решение!
Не говоря уже о том, что половина перечисленных плюсов очень сомнительна
Админу и так и так надо бэкапить базу. Тут работы только уменьшится - не надо будет бэкапить конфиги.

А когда умрёт винт - достаточно будет установить программу и взять базу из бэкапа (реплику, или как там сделано). И всё.

Меньше работы - меньше требуется людей на поддержке. Это тупо деньги.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094914
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
zeon11
Храните деньги в сберегательной кассе данные в базе данных.
Одни плюсы.

То есть заботы программера скинуть на админа БД и умыть руки :)) отличное решение!
Не говоря уже о том, что половина перечисленных плюсов очень сомнительна


Вам сомнительна, а мне нет. Ваш опыт против моего опыта. Я попробовал все варианты и остановился на лучшем, с моей точки зрения. Я перечислил все плюсы, и постарался аргументировать, Вы даже не удосужились перечислить сомнительные с Вашей точки зрения пункты. И даже если половина, как Вы пишете, сомнительна, то вторая половина, даже для Вас бесспорна.
Сомнения примем как 50 на 50, с учетом бесспорной для Вас половины, Вы согласны на 75% с моими выкладками.
Так что админ может и потерпеть.
И да, чем там программер нагрузил админа БД в данном кейсе?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094918
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

у нас база бакапиться в одном архиве вместе с инишками. что мы делаем не так? :)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094933
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Fr0sT-Brutal
пропущено...

То есть заботы программера скинуть на админа БД и умыть руки :)) отличное решение!
Не говоря уже о том, что половина перечисленных плюсов очень сомнительна
Админу и так и так надо бэкапить базу. Тут работы только уменьшится - не надо будет бэкапить конфиги.

А когда умрёт винт - достаточно будет установить программу и взять базу из бэкапа (реплику, или как там сделано). И всё.

Меньше работы - меньше требуется людей на поддержке. Это тупо деньги.

Опасное направление выбрано. Если развивать идею дальше - то можно просто предложить
использовать вместо десктопа веб-приложения. Их вообще не надо бэкапировать.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094938
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ведь когда-то о трехзвенках спорили, а теперь - об инифайлах...
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094943
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
YuRock
пропущено...
Админу и так и так надо бэкапить базу. Тут работы только уменьшится - не надо будет бэкапить конфиги.

А когда умрёт винт - достаточно будет установить программу и взять базу из бэкапа (реплику, или как там сделано). И всё.

Меньше работы - меньше требуется людей на поддержке. Это тупо деньги.

Опасное направление выбрано. Если развивать идею дальше - то можно просто предложить
использовать вместо десктопа веб-приложения. Их вообще не надо бэкапировать.

У меня для тебя плохие новости. То, что за тебя хостер делает бакапы - вовсе не значит, что бакапить их не надо :)

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

одних уж нет а те далече...
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094945
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой еще хостер. Кажется мы говорим на разных языках.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094946
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11
6. Снимается проблема сложных настроек. Например, настройки таблиц, с шириной колонок и их ассортиментом достаточно геморройно сохранить в любом месте, кроме БЛОБа

Вот вообще не проблема сохранить нужные настройки в Ini.
Если единственным вариантом видится только БЛОБ, то ИМХО что-то не то в консерватории.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
[FrmSA]
Top=109
Left=235
Width=1470
Height=719
FsubstrF9=эпох
EditOstMin.Text=1
EditNsklad.Text=-54
Fnsklad=-1
Fmin_ost=0
CDS.Width=ID=-60;ISFOLDER=-60;ID_LCL=70;NAME=1005;OST=70;CENA=90;KOL=60;CENA_IN=-90;CENA_OUT=-90;MARKUP_CAT=-90;DOC_EXISTS=-60;FPU=-60;AGC=60;LTB1=-50;LTB2=-50;LTB3=-50;LTB4=-50;LTB5=-50;LTB6=-50;ROW_FONTSTYLE=-60;ROW_COLOR=-60;
CBoxEAN13synt.Checked=0
F_F9_model=LR03
Ctrl+F=Клей
GoodsMarkBold_KolMin=1
GoodsMarkBold_KolMinX=1
EditEAN13prefix.Text=
CBoxEAN14auto.Checked=0

Параметр CDS.Width - это список колонок в клиентском CDS и их ширина. Ширина со знаком минус - коронка скрыта. Пользователь может управлять видимостью колонок, скрывая ненужные.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094961
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon
YuRock,

у нас база бакапиться в одном архиве вместе с инишками. что мы делаем не так? :)
Всё так. Только это сложно, ведь базу бэкапить онлайн - требуется спец. средство, после чего еще файлы копировать.
Да, это один раз делается (если с одной папки), а потом само работает.
Но всё равно работы больше.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094963
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
YuRock
пропущено...
Админу и так и так надо бэкапить базу. Тут работы только уменьшится - не надо будет бэкапить конфиги.

А когда умрёт винт - достаточно будет установить программу и взять базу из бэкапа (реплику, или как там сделано). И всё.

Меньше работы - меньше требуется людей на поддержке. Это тупо деньги.

Опасное направление выбрано. Если развивать идею дальше - то можно просто предложить
использовать вместо десктопа веб-приложения. Их вообще не надо бэкапировать.
Чем это плохо?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094966
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я запрыгнул не в свой вагон. Форум я имею в виду. Поэтому я с вашего позволения
создам форк этой темы в Программировании. С вопросом о конфигах.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094969
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Какой еще хостер. Кажется мы говорим на разных языках.

То, что фронт не бэкапиться вовсе не значит что бэка вообще не существует и бакапить его не нужно.

авторВсё так. Только это сложно, ведь базу бэкапить онлайн - требуется спец. средство, после чего еще файлы копировать.
Да, это один раз делается (если с одной папки), а потом само работает.
Но всё равно работы больше.

Работа админа заключается только в указании места (папки) автобакапа и/или нажатия кнопки ручного бакапа. Всё остальное делает сам софт: бакапит базу, упаковывает бакап + инишки в архив. Собственно кода там десяток строк. Ну а если программистам лень десять строк написать для удобства себя и пользователей (админов) - то тут, конечно, печально и безисходно.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40094984
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
zeon11
6. Снимается проблема сложных настроек. Например, настройки таблиц, с шириной колонок и их ассортиментом достаточно геморройно сохранить в любом месте, кроме БЛОБа

Вот вообще не проблема сохранить нужные настройки в Ini.
Если единственным вариантом видится только БЛОБ, то ИМХО что-то не то в консерватории.

....



Fraks, будьте уж последовательными. У Вас-же EXE-шник в БД, и оттуда разворачивается, и это хорошо. У меня EXE-шник в БД "живет" много лет. Помимо этого в БД "живут" DLL-ки, плагины, шаблоны отчётов, и прочая обвеска. И в БД я это запихивал не в один день. Проверял, сравнивал производительность. И ini у меня когда-то болтались на диске, потом я это дело вытравил и не жалею.
И по поводу "консерватории". Я не писал про единственный вариант хранения в БЛОБ.
Я написал, что по сравнению с БЛОБ всё остальное более затратно. Будьте внимательны
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095009
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095013
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zeon11
Вам сомнительна, а мне нет. Ваш опыт против моего опыта. Я попробовал все варианты и остановился на лучшем, с моей точки зрения. Я перечислил все плюсы, и постарался аргументировать, Вы даже не удосужились перечислить сомнительные с Вашей точки зрения пункты. И даже если половина, как Вы пишете, сомнительна, то вторая половина, даже для Вас бесспорна.
Сомнения примем как 50 на 50, с учетом бесспорной для Вас половины, Вы согласны на 75% с моими выкладками.
Так что админ может и потерпеть.
И да, чем там программер нагрузил админа БД в данном кейсе?

Подозреваю, здесь у нас разное понимание области обсуждения. Если говорить о клиенте к БД, который уже общается с БД на выделенном сервере, то даже обсуждать нечего: сократить используемые сущности - это правильно.
Но изначальный вопрос стоял про программы в целом, без БД. И вот сюда тащить БД только ради профилей (без весомого обоснования) - ересь
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095015
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

А зачем он нужен? Ну тоесть... какие преимущества дает?
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095020
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Но изначальный вопрос стоял про программы в целом, без БД. И вот сюда тащить БД только ради профилей (без весомого обоснования) - ересь
Mozilla Firefox с вами несогласна. SQLite и для профилей неплох. Но ради трёх строчек в .ini файле вряд ли стоит.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095021
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

там же написано
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095024
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот так было.

Код: sql
1.
2.
3.
4.
Owner,Year,Make,Model,Description
"Henry Ford",1997,Ford,E350,"Super luxurious truck"
"Thomas Anderson",2000,Mercury,Cougar,
John,,,,


И так стало.

Код: sql
1.
2.
3.
4.
# --y=Year,m=Make,md=Model,d=Description
Henry Ford --y=1997,m=Ford,md=E350,"d=Super luxurious truck"
Thomas Anderson --y=2000,m=Mercury,md=Cougar
John



Как по мне - нечитабельная фигня. Плюс еще нужно держать справочник ключей в голове.

Уж лучше yaml.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095026
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11
fraks
пропущено...
Вот вообще не проблема сохранить нужные настройки в Ini.
Если единственным вариантом видится только БЛОБ, то ИМХО что-то не то в консерватории.


Fraks, будьте уж последовательными. У Вас-же EXE-шник в БД, и оттуда разворачивается, и это хорошо.


Что-то не уловил связи между exe в БД и настройками программы.
У меня в БД не только exe, но и печатные формы, и файлы шаблонов прайсов, и собственно данные лежат :)

zeon11

И ini у меня когда-то болтались на диске, потом я это дело вытравил и не жалею.


У меня рядом с программой лежит 2 ini.
Одна - со стокой коннекта к БД, и этот файл правится руками, когда надо.
Второй ini пишет и читает само приложение, сохраняя туда локальные настройки которые нет смысла хранить в БД.

zeon11

И по поводу "консерватории". Я не писал про единственный вариант хранения в БЛОБ.
Я написал, что по сравнению с БЛОБ всё остальное более затратно. Будьте внимательны


Я не вижу в чем тут затратность.
В ini у меня на каждую форму по секции, далее параметр=значение. Читаю/пишу.
А где эта ini хранится - как-бы не суть. Но раз она имеет смысл только к рядом лежащему exe то почему бы не лежать рядом?
А так, можно этот ini хранить не в виде файла а в виде блоба в БД, ну ровно ничего от этого не меняется. Кроме головняка как различить какой из ini нужно из базы выковыривать.

Мое приложение однопоточное. Если нужна какая-то параллельная работа - то просто запускается второй экземпляр. Если нужно для одного экземпляра иметь одни настройки а для второго - другие - тупо копируем папку с приложением, что бы у них были разные ini-файлы - и всё.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095030
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник


Какая-то странная поделка. Чуть улучшает ситуацию для частного случая, но даже с ним как-то не очень. Но привносит свои ограничения. Мне например непонятно почему нужно себя ограничивать неупотреблением символа-разделителя между типа NAME и остальными параметрами. Разделитель там ' --'. А что если такая последовательность встречается в NAME?

Единственное что можно рассматривать как некоторый плюс DDV перед CSV - именованные поля, зная ключ поля можно выковыривать его произвольно из строки. Но однако, зная ключ (индекс поля) точно так же он выковыривается и из CSV.
Если же большой список параметров каждый из которых довольно редко встречается, то это тот самый ini и есть.

Код: xml
1.
2.
3.
4.
5.
6.
7.
[NAME]
param1=value1
param2=value2

[NAME2]
param3=value3
param10=value1


То что типа можно сортировать.. тоже непонятнько. Разница между DDV и CSV в показанных примерах только в том что в CSV поля могут быть окавычены и нет, это сбивает сортировку, но зато дает отсутствие проблемы с разделителем полей.
Сортировка прямо по файлу будет все равно корявая, длина поля для сортировки не фиксирована, да и зачем это надо, сам файл сортировать? Все равно это все загружается в некую структуру и там уже и сортируется по нормальному.

Кроме того, эта поделка решает вопрос как разобрать одну строку/секцию. А как найти нужную в файле? Ini этот вопрос решает, а тут остается за кадром. И в чем смысл?
Единственное где хоть как-то это может иметь смысл, я вижу в случае если типов полей тыща, но в конкретной записи штук 5. CSV в таком варианте будет состоять из большого количества разделителей полей.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095041
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот я-бы так сделал. На базе имеющегося стандарта.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CarOwners:
 - Owner : "Henry Ford"
   Year : 1997
   Make : Ford
   Model : E350
   Description : "Super luxurious truck"
 - Owner : "Thomas Anderson"
   Year : 2000
   Make : Mercury
   Model : Cougar
 - Owner : John



Можно горизонтально развернуть. Тоже в рамках того-же формата.

Код: python
1.
2.
CarOwners:
  [ { Owner : "Henry Ford",  Year : 1997,  Make : Ford ..... } ]
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095043
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вспомнил, у меня же есть в базе таблица для хранения настроек :)

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE TABLE SETTINGS (
    ID           INTEGER     NOT NULL,
    USER_NAME    VARCHAR(32) NOT NULL,
    PARAM_NAME   VARCHAR(70) NOT NULL,
    VAL_STR      VARCHAR(1000),
    VAL_INT      INTEGER,
    VAL_CUR      NUMERIC(18,2),
    VAL_DATE     TIMESTAMP,
    CREATE_DT    TIMESTAMP   DEFAULT CURRENT_TIMESTAMP,
    CREATE_USER  VARCHAR(32) DEFAULT CURRENT_USER,
    MODIFY_DT    TIMESTAMP   DEFAULT CURRENT_TIMESTAMP,
    MODIFY_USER  VARCHAR(32) DEFAULT CURRENT_USER
);

ALTER TABLE SETTINGS ADD CONSTRAINT SETTINGS_UNI_USER_PARAM UNIQUE (USER_NAME, PARAM_NAME);
ALTER TABLE SETTINGS ADD CONSTRAINT SETTINGS_PK PRIMARY KEY (ID);


Планировалось засунуть настройки туда, но что-то не зашло.
Там сейчас только общие настройки, для всех, типа путь к папке с картинками и префикс URL до картинок на сайте.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу сортировки колонок. В NoSQL-ных системах наподобие Apache Cassandra такой подход
используется. Но Cassandra оперирует бинарным форматом блока (партишена). И поэтому для нее
точечный или диапазонный поиск колонки - занимает короткое (логарифмическое) время.

Для текстового формата данная сортировка ничего нам не дает. Ведь для парсинга мы все равно
обязаны вычитать всю DDV строку целиком. Или всю entity для Json/Yaml. Чтоб моя мысль была
более понятна - представте себе что строка очень длинная (до 1Гб на диске).
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095046
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вот я-бы так сделал. На базе имеющегося стандарта.
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CarOwners:
 - Owner : "Henry Ford"
   Year : 1997
   Make : Ford
   Model : E350
   Description : "Super luxurious truck"
 - Owner : "Thomas Anderson"
   Year : 2000
   Make : Mercury
   Model : Cougar
 - Owner : John




Тот самый случай когда yaml начинает иметь смысл и незачем изобретать недовелосипеды :)
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095049
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Для текстового формата данная сортировка ничего нам не дает. Ведь для парсинга мы все равно
обязаны вычитать всю DDV строку целиком. Или всю entity для Json/Yaml. Чтоб моя мысль была
более понятна - представте себе что строка очень длинная (до 1Гб на диске).

При таких размерах (тем более одной записи) я бы уже давно хранил это в БД, что бы иметь возможность читать нужную часть не разматывая предварительно весь файл.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095062
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это - экономия на спичках.

Код: plaintext
1.
Thomas Anderson --y=2000,m=Mercury,md=Cougar


Вот вообще-вообще ничего не дает. В наше время. Ну надыбал -30% и что?

В 90х было популярно такое. Когда тактовая частота мерялась единицами мегагерц а память только мегабайтами
и сети были модемные. Был создан торговый протокол (FIX/QuickFix) для покупок продаж.

Вот пример такого торгового сообщения с вики https://en.wikipedia.org/wiki/Financial_Information_eXchange

Код: pascal
1.
8=FIX.4.2|9=65|35=A|49=SERVER|56=CLIENT|34=177|52=20090107-18:15:16|98=0|108=30|10=062|



Здесь теги - числа. Я помню по памяти что 9 определяет всю длину сообщения в байтах. Да есть целые
биржевые суб-справочники на базе этого. И каждая торговая организация расширяет его новыми тегами.

Вот если автор гнался за экономией - пусть берет такой подход. Хотя в наше время это ничего кроме
проблем не создает.

По хорошему если хочет скорости и компактности - пусть берет Apache Thrift . И куча языков
совместима по типу.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095064
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunknown
Fr0sT-Brutal
Но изначальный вопрос стоял про программы в целом, без БД. И вот сюда тащить БД только ради профилей (без весомого обоснования) - ересь
Mozilla Firefox с вами несогласна. SQLite и для профилей неплох. Но ради трёх строчек в .ini файле вряд ли стоит.

Речь про полноценную БД на выделенном сервере.
SQLite , возможно, как общий знаменатель для всех систем - т.к. это дефолт под Android. Тем не менее, настройки там и в виде js хранятся
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095076
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Тем не менее, настройки там и в виде js хранятся
Если программа исключительно в исходниках, например, самописная на предприятии, то настройки иногда можно держать прямо в отдельных модулях кода. Если есть точное понимание и контроль того, как программа используется, то можно и в ресурсах .exe файла настройки хранить и править. Можно и в отдельных потоках файловой системы, если та поддерживает. Не будем про антивирусы.

Сложный и длинный .ini файл мало чем лучше для таких программ.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095199
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown
Если программа исключительно в исходниках, например, самописная на предприятии, то настройки иногда можно держать прямо в отдельных модулях кода. Если есть точное понимание и контроль того, как программа используется, то можно и в ресурсах .exe файла настройки хранить и править. Можно и в отдельных потоках файловой системы, если та поддерживает.

Не буду говорить про антивирусы. Просто есть такая практика что дистрибутив приложения
обычно подписывается электронной подписью от производителя. Если на любой пустяк - изменять
ресурсы - то этот принцип будет сломан. Подпись недействительна. И сам подход к работе
уж слишком напоминает взлом софта. И я не как разработчик а как пользователь этого
софта был бы против такого подхода. Уж лучше реестр и ini-файлы.

Мне так спокойнее.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095202
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Просто есть такая практика что дистрибутив приложения обычно подписывается электронной подписью от производителя.

Для самописки на предприятии это довольно странная и нелепая практика. Хотя конфигурация в ресурсах, конечно, изрядно напоминает фарингальную вазэктомию.
...
Рейтинг: 0 / 0
XML как альтернатива INI
    #40095421
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
mayton
Просто есть такая практика что дистрибутив приложения обычно подписывается электронной подписью от производителя.

Для самописки на предприятии это довольно странная и нелепая практика. Хотя конфигурация в ресурсах, конечно, изрядно напоминает фарингальную вазэктомию.
Давайте смотреть на все варианты. Некоторые настройки в некоторых случаях можно поместить в имя .exe файла. Например, имя сервера+логин, а остальное на самом сервере.
...
Рейтинг: 0 / 0
154 сообщений из 154, показаны все 7 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / XML как альтернатива INI
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]