Здравствуйте, гость ( Вход | Регистрация )
kwisp | Дата 29.11.2010, 0:18 |
QSettings все коменты убьёт при сохранении. Это давняя гадость в нём. это если ты сохранешь изменения. в линксе и поэтому тоже существуют squid.conf.example к примеру. где коменты останутся если только пользователь сам их не грохнет. Заэкранировать, взять в скобки и.т.д я не могу, это не мой конфиг, это стандартные никсовые desktop-файлы, уж какие есть в системе, такие и надо читать. так тогда дело очевидное - пиши троллям почему QSettings не читает стандартные десктоповские файлы. |
|
Sokoloff | Дата 29.11.2010, 0:06 |
Sokoloff, тебе выход один - использовать стороннюю библиотеку (назваие забыл, Сишная есть кроссплатформенная) Я могу и ручками распарсерить файл, делов то. Вопрос открывать тот закрытый баг в багтрекере или нет. Похоже надо открывать. |
|
Litkevich Yuriy | Дата 28.11.2010, 23:22 |
обычно в комментариях вначале файла пишут как им пользоваться QSettings все коменты убьёт при сохранении. Это давняя гадость в нём.Sokoloff, тебе выход один - использовать стороннюю библиотеку (назваие забыл, Сишная есть кроссплатформенная) |
|
Sokoloff | Дата 28.11.2010, 23:16 |
Прошу прощения, что не отвечал - был в оффлайне. Это не коментарий, вот что пишут в спецификации: Цитата Comments must begin at the beginning of a line or after a spacing character. А здесь нет пробела перед ";". Заэкранировать, взять в скобки и.т.д я не могу, это не мой конфиг, это стандартные никсовые desktop-файлы, уж какие есть в системе, такие и надо читать. |
|
kwisp | Дата 28.11.2010, 22:00 |
Litkevich Yuriy, не знаю что там от мелкософта у меня дома и на работе Цитата kwisp@T34 ~ $ uname -a Linux T34 2.6.33-gentoo-r2 обратным слешем пользовался без проблем. то что пользовател может не додуматься - это ошибка составителя файла - обычно в комментариях вначале файла пишут как им пользоваться. как большинство файлов конфигурации линукс программ. тут же речь идет о том открывать заново баг троллям или нет. поэтому я и написал про экран. надо попробовать. если экран работает то баг не писать |
|
Litkevich Yuriy | Дата 28.11.2010, 19:21 |
но способ включить эти символы в значение должен быть. способ-то есть, при работе из программы, а вот пользователь, редактирующий файл, до этого может и не допетрить.QSettings будет это сохранять как строку взятую в двойные кавычки. просто напрашивается экранирование обр. слешем. это спецификация INI-файла от мелкосовта (см. таблицу по моим ссылкам) |
|
kwisp | Дата 28.11.2010, 18:51 |
всегда были комментариями. ну по-моему, это очевидно. но способ включить эти символы в значение должен быть. просто напрашивается экранирование обр. слешем. |
|
Litkevich Yuriy | Дата 28.11.2010, 18:15 |
Sokoloff, в конфигурационных файлах символы: Цитата # всегда были комментариями. Существует негласное правило:; # - комментарий общего назначения ; - временный комментарий (отключение параметров, но не удаление их) примеры: INI-файл conf-файл |
|
kwisp | Дата 28.11.2010, 16:44 |
Sokoloff, 1. а экранировать не пробовал? 2. или в ковычки значения взять? |
|
Sokoloff | Дата 28.11.2010, 14:53 |
Похоже наткнулся на баг Qt. читаю данные из INI-шника через QSettings, некоторые значения представляют собой список разделенный точкой с запятой. Похоже Qsettings воспринимает все что после ";" как комментарий. Интересно что этот баг помечен как закрытый еще в 2007 году. Или Qt-шники это сломали в новых версиях, или я что-то не так делаю (хотя что там можно не так сделать?). Вот тестовый пример. Раскрывающийся текст test.ini
main.cpp
Если это у вас повторяется, то буду открывать баг по новой. У меня kubuntu 10.10 и Qt 4.7.0 |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 5:08 |