Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
 Re: Запись в реестр  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
Dima T,
Оверхед это не медленнее. Это лишние прибамбасы.
28 дек 20, 19:39    [22255935]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
petrav
mayton
Видите как интересно. За 30 лет эволюции Windows так и не обзавёлся лаконичным встроенным средством
для работы с файловыми конфигами. Вы все еще работаете с "мешком свойств". Даже не json/yaml.

Есть библиотека MSXML.

Там есть
String s = reg.readKeyString(“isModal", "да")
?
28 дек 20, 19:45    [22255941]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
petrav
Member

Откуда:
Сообщений: 2861
PetroNotC Sharp
petrav
пропущено...

Есть библиотека MSXML.

Там есть
String s = reg.readKeyString(“isModal", "да")
?

Полная поддержка стандарта. Включая XML схемы.
28 дек 20, 19:58    [22255952]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
petrav
mayton
Видите как интересно. За 30 лет эволюции Windows так и не обзавёлся лаконичным встроенным средством
для работы с файловыми конфигами. Вы все еще работаете с "мешком свойств". Даже не json/yaml.

Есть библиотека MSXML.

Я помню ее. Кажется использовали. Она ужасна. Поддерживает еще тот. Морально
устаревший API который называется SAX. Хотел-бы я посмотреть на тех кто его использует.
Это надо быть большим мозохистом.

И судя по всему она не является частью поставки Windows. Ее надо доустанавливать отдельно.

Я думаю что если поискать по гитхабу - то можно найти более приятные API.
28 дек 20, 20:00    [22255953]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

mayton
Видите как интересно. За 30 лет эволюции Windows так и не обзавёлся лаконичным встроенным
средством для работы с файловыми конфигами.

Удивительно, но Линукс за свои 20 тоже не сподобился. "Тенденция, однако..."

Posted via ActualForum NNTP Server 1.5

28 дек 20, 20:10    [22255963]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
petrav
Member

Откуда:
Сообщений: 2861
mayton
petrav
пропущено...

Есть библиотека MSXML.

Я помню ее. Кажется использовали. Она ужасна. Поддерживает еще тот. Морально
устаревший API который называется SAX. Хотел-бы я посмотреть на тех кто его использует.
Это надо быть большим мозохистом.

SAX он не реализовывает. Он реализует DOM.

mayton
И судя по всему она не является частью поставки Windows. Ее надо доустанавливать отдельно.

А мне кажется он давно уже встроен в Винду.
28 дек 20, 20:12    [22255964]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
petrav
PetroNotC Sharp
пропущено...

Там есть
String s = reg.readKeyString(“isModal", "да")
?

Полная поддержка стандарта. Включая XML схемы.
где
HRESULT hr1 = pChildNode2->get_nodeValue(&varValue);
28 дек 20, 20:15    [22255966]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
petrav
mayton
пропущено...

Я помню ее. Кажется использовали. Она ужасна. Поддерживает еще тот. Морально
устаревший API который называется SAX. Хотел-бы я посмотреть на тех кто его использует.
Это надо быть большим мозохистом.

SAX он не реализовывает. Он реализует DOM.

А чем ты обычно .xml проперти читаешь?
28 дек 20, 20:15    [22255967]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
Dimitry Sibiryakov

mayton
Видите как интересно. За 30 лет эволюции Windows так и не обзавёлся лаконичным встроенным
средством для работы с файловыми конфигами.

Удивительно, но Линукс за свои 20 тоже не сподобился. "Тенденция, однако..."

Тут - опасный спор. Фактически спор определений. Мы в топике говоря Линукс - подразумеваем многое.
Хотя в целом я согласен. Но линукс изначально базировал свои конфигурации на файлах. Благо его
файловые системы - более легкие. В плане проверки прав доступа и скорости fopen/close.
28 дек 20, 20:18    [22255970]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
mayton,
QSettings
https://doc.qt.io/qt-5/qsettings.html
28 дек 20, 20:18    [22255971]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
Mizer73
Member

Откуда: Питер
Сообщений: 251
столкнулся с тем, что

if (!reg3->KeyExists("SOFTWARE\\nsoft2"))
{
       сюда не идёт
}


определяет, что ключ есть, а

bool openResult = reg3->OpenKey("SOFTWARE\\nsoft2", true);
if(openResult) [i]= false[/i]
{
       и сюда не идёт, а должно
}


даёт значение false

Сообщение было отредактировано: 28 дек 20, 20:17
28 дек 20, 20:21    [22255976]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
petrav
Member

Откуда:
Сообщений: 2861
mayton
petrav
пропущено...

SAX он не реализовывает. Он реализует DOM.

А чем ты обычно .xml проперти читаешь?

QtXml.
28 дек 20, 20:22    [22255979]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
petrav
mayton
пропущено...

А чем ты обычно .xml проперти читаешь?

QtXml.

Шикарно. А какой foot-print. Тоесть на сколько килобайт или мегабайт больше становится дистрибутив
после того как ты подключил QtXml?
28 дек 20, 20:24    [22255982]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
Mizer73,

Логирование изучил? Теперь пошаговую отладку и смотри на строчку что не так.
28 дек 20, 20:29    [22255988]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
petrav
Member

Откуда:
Сообщений: 2861
mayton
petrav
пропущено...

QtXml.

Шикарно. А какой foot-print. Тоесть на сколько килобайт или мегабайт больше становится дистрибутив
после того как ты подключил QtXml?

146 килобайт.
28 дек 20, 20:33    [22255992]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
petrav
Member

Откуда:
Сообщений: 2861
PetroNotC Sharp
petrav
пропущено...

Полная поддержка стандарта. Включая XML схемы.
где
HRESULT hr1 = pChildNode2->get_nodeValue(&varValue);

Это вопрос или что?
28 дек 20, 20:34    [22255993]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
Да вы не размахивайте крыльями так сильно. Полная поддержка XML стандарта очень сложна.
Особенно если рассматривать там части этого стандарта. И тогда библиотеки надо
просто проводить через сертификации.

В топике-то речь идет о простом. Дан конфиг.

....
<property name="logfile" value="log/log.log"/>
...

это сделать легко. Любой школьник закодит либу.

А далее уже утяжеления всякие. Нужно ли вам делать так?

....
<!ENTITY logref ...>
<property name="logfile" value="&logref;"/>
...


Или еще обработку инструкций или транформинг. Последнее - это уже функциональный язык программирования.

Это все надо? Или можно где-то уже остановится?
28 дек 20, 20:54    [22256001]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
petrav
Member

Откуда:
Сообщений: 2861
mayton

Или еще обработку инструкций или транформинг. Последнее - это уже функциональный язык программирования.

Это все надо? Или можно где-то уже остановится?

Вы про что? Про MSXML? Он поддерживает всё: XML DOM, XML схемы, XPath и XSLT. Полная поддержка стандарта. На счёт SAX -- вроде нет, но это, вроде, и не стандарт.

Что по поводу QtXml -- наверное тоже. Но мне от него нужен только XML DOM.

Сообщение было отредактировано: 28 дек 20, 21:06
28 дек 20, 21:02    [22256002]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
Dima T
Member

Откуда:
Сообщений: 15689
PetroNotC Sharp
Dima T,
Оверхед это не медленнее. Это лишние прибамбасы.

Да, виндавс не андроид, где sqlite доступен по умолчанию. И наверно никогда не будет по умолчанию.

Но если так рассуждать, то все С++ что после MSVC98 тоже оверхэд, т.к. рантайм надо дополнительно ставить.
28 дек 20, 21:15    [22256006]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
Dima T
Member

Откуда:
Сообщений: 15689
mayton
В топике-то речь идет о простом. Дан конфиг.
....
<property name="logfile" value="log/log.log"/>
...

это сделать легко. Любой школьник закодит либу.

Давай чуть дальше заглянем: Как мы правим этот конфиг? Руками в текстовом редакторе оно уже проблематично, т.к. кавычку или слэш или еще какой обязательный символ пропустил и файлик нечитабельный. Для ручной правки идеален INI. В xml/json трудно соблюсти формат.
28 дек 20, 21:22    [22256012]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
petrav
Member

Откуда:
Сообщений: 2861
Dima T
mayton
В топике-то речь идет о простом. Дан конфиг.
....
<property name="logfile" value="log/log.log"/>
...

это сделать легко. Любой школьник закодит либу.

Давай чуть дальше заглянем: Как мы правим этот конфиг? Руками в текстовом редакторе оно уже проблематично, т.к. кавычку или слэш или еще какой обязательный символ пропустил и файлик нечитабельный. Для ручной правки идеален INI. В xml/json трудно соблюсти формат.

INI часто недостаточен. Отсутствует древовидная структура и списки.

Плюс в XML на порядки больше вариантов проверки корректности данных.
28 дек 20, 21:32    [22256017]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
Dima T
Member

Откуда:
Сообщений: 15689
petrav
Dima T
пропущено...

Давай чуть дальше заглянем: Как мы правим этот конфиг? Руками в текстовом редакторе оно уже проблематично, т.к. кавычку или слэш или еще какой обязательный символ пропустил и файлик нечитабельный. Для ручной правки идеален INI. В xml/json трудно соблюсти формат.

INI часто недостаточен. Отсутствует древовидная структура и списки.

Плюс в XML на порядки больше вариантов проверки корректности данных.

Повторюсь: с точки зрения ручной правки XML - недоразумение, его сложно править в блокноте, нужны спецсредства. С другой стороны он ущербен при записи как любой текстовый файл. Конфиг в XML это блажь MS, маркетинг и не более того.
28 дек 20, 21:45    [22256025]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
petrav
Member

Откуда:
Сообщений: 2861
Dima T
petrav
пропущено...

INI часто недостаточен. Отсутствует древовидная структура и списки.

Плюс в XML на порядки больше вариантов проверки корректности данных.

Повторюсь: с точки зрения ручной правки XML - недоразумение, его сложно править в блокноте, нужны спецсредства. С другой стороны он ущербен при записи как любой текстовый файл. Конфиг в XML это блажь MS, маркетинг и не более того.

У меня таких проблем не возникает.

Вы мне скажите, если мне нужен конфиг с деревом и списками объектов, то по вашему, мне нужна реаляционная БД? Для конфига юзать SQL?! Да ну... блин.

А как вы редактируете такой SQL-конфиг? Носите с собой спец-утилиту?
28 дек 20, 21:54    [22256034]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
Dima T
Member

Откуда:
Сообщений: 15689
petrav
А как вы редактируете такой SQL-конфиг? Носите с собой спец-утилиту?

Можно просто скачать sqlite3.exe и там очень много чего можно https://www.sqlite.org/cli.html
28 дек 20, 22:30    [22256045]     Ответить | Цитировать Сообщить модератору
 Re: Запись в реестр  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
Dima T
petrav
пропущено...

INI часто недостаточен. Отсутствует древовидная структура и списки.

Плюс в XML на порядки больше вариантов проверки корректности данных.

Повторюсь: с точки зрения ручной правки XML - недоразумение, его сложно править в блокноте, нужны спецсредства. С другой стороны он ущербен при записи как любой текстовый файл. Конфиг в XML это блажь MS, маркетинг и не более того.

Я не хвалю и не осуждаю. В топике мне сказали дескыть MSXML. Вот и дискуссия пошла туда.

Я сам не люблю XML для конфигов. Он совершенно не human-readable. Так... для всяких
протоколов типа SOAP подходит.
28 дек 20, 22:58    [22256055]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
Все форумы / C++ Ответить