![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Sokoloff |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
Похоже наткнулся на баг Qt. читаю данные из INI-шника через QSettings, некоторые значения представляют собой список разделенный точкой с запятой. Похоже Qsettings воспринимает все что после ";" как комментарий. Интересно что этот баг помечен как закрытый еще в 2007 году. Или Qt-шники это сломали в новых версиях, или я что-то не так делаю (хотя что там можно не так сделать?). Вот тестовый пример.
Раскрывающийся текст test.ini
main.cpp
Если это у вас повторяется, то буду открывать баг по новой. У меня kubuntu 10.10 и Qt 4.7.0 |
|
|
kwisp |
![]()
Сообщение
#2
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Sokoloff,
1. а экранировать не пробовал? 2. или в ковычки значения взять? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#4
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
но способ включить эти символы в значение должен быть. способ-то есть, при работе из программы, а вот пользователь, редактирующий файл, до этого может и не допетрить.QSettings будет это сохранять как строку взятую в двойные кавычки. просто напрашивается экранирование обр. слешем. это спецификация INI-файла от мелкосовта (см. таблицу по моим ссылкам)
|
|
|
kwisp |
![]()
Сообщение
#6
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Litkevich Yuriy,
не знаю что там от мелкософта у меня дома и на работе Цитата kwisp@T34 ~ $ uname -a Linux T34 2.6.33-gentoo-r2 обратным слешем пользовался без проблем. то что пользовател может не додуматься - это ошибка составителя файла - обычно в комментариях вначале файла пишут как им пользоваться. как большинство файлов конфигурации линукс программ. тут же речь идет о том открывать заново баг троллям или нет. поэтому я и написал про экран. надо попробовать. если экран работает то баг не писать ![]() |
|
|
Sokoloff |
![]()
Сообщение
#7
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
Прошу прощения, что не отвечал - был в оффлайне.
Это не коментарий, вот что пишут в спецификации: Цитата Comments must begin at the beginning of a line or after a spacing character. А здесь нет пробела перед ";". Заэкранировать, взять в скобки и.т.д я не могу, это не мой конфиг, это стандартные никсовые desktop-файлы, уж какие есть в системе, такие и надо читать. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Sokoloff |
![]()
Сообщение
#9
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kwisp |
![]()
Сообщение
#10
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
QSettings все коменты убьёт при сохранении. Это давняя гадость в нём. это если ты сохранешь изменения. в линксе и поэтому тоже существуют squid.conf.example к примеру. где коменты останутся если только пользователь сам их не грохнет. Заэкранировать, взять в скобки и.т.д я не могу, это не мой конфиг, это стандартные никсовые desktop-файлы, уж какие есть в системе, такие и надо читать. так тогда дело очевидное - пиши троллям почему QSettings не читает стандартные десктоповские файлы. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.4.2025, 6:59 |