crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Как сохранить комментарии в INI-файле?
Введите ваше имя
Подтвердите код

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

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
hkarel Дата 17.6.2010, 10:59
 
Цитата(molchanoviv @ 17.6.2010, 11:43) *
про пробелы в именах есть еще обсуждение тут


Из "той" темы

Цитата
... Расковырял их исходники и понял, что нет, нельзя. Мало того, они и русские буквы в названиях секций и параметров превращают в чёрти что ...

Записывать "по русски" названия секция и параметров потребности не было, а вот значения по русски хранить была нужда. Решил проблему так:
class QSettingsM : public QSettings 
{
public:
    QSettingsM(const QString &fileName, Format format, QObject* parent = 0)
        : QSettings(fileName, format, parent)
    {
        QTextCodec *codec = QTextCodec::codecForName(/*"KOI8-R"*/ "UTF-8");
        setIniCodec(codec);
    }
};

molchanoviv Дата 17.6.2010, 10:43
  про пробелы в именах есть еще обсуждение тут
hkarel Дата 17.6.2010, 10:05
 
Цитата(Litkevich Yuriy @ 16.6.2010, 15:58) *
нет, нужно искать стороннюю библиотеку для работы с подобным форматом.

В сторонней наверняка не будет того, что есть в QSettings

Цитата(kibsoft @ 16.6.2010, 21:22) *
INI же обычный текстовый файл, просто структурированный. Не понял что за комментарии?
По-моему самому можно быстро написать сохранение в подобный файл..

Не совсем обычный текстовый файл, QSettings позволяет сохранять бинарные последовательности и пользовательские типы, т.е. аля сериализация, велосипедить такое самостоятельно совсем не хочется.

Цитата(Litkevich Yuriy @ 17.6.2010, 7:29) *
... Как-то раз я обозвал группу:
"Qt API", дак при записи, вместо пробела было воткнуто "%20", почему так, я не понял.

Мне всегда казалось, что дефакто, пробелы в именах групп недопустимы :)
Возможно QSettings обрабатывает наименования аналогично с url (QUrl::toPercentEncoding) или это как то связано с дефолтным QTextCodec используемым в QSettings.
Litkevich Yuriy Дата 17.6.2010, 6:29
  решётка (#) тоже воспринимается как комментарий. Но при записи в ini-файл ещё и другие номера случаются. Как-то раз я обозвал группу:
"Qt API", дак при записи, вместо пробела было воткнуто "%20", почему так, я не понял.
alex977 Дата 16.6.2010, 21:36
 
Цитата(kibsoft @ 16.6.2010, 21:22) *
INI же обычный текстовый файл, просто структурированный. Не понял что за комментарии?


Что-то вроде этого (комментарии выделены полужирным):

Цитата
[LastLookup]
String=a

[Exercises]
;Lang1=1
Lang1=x
;Lang1=2
;Lang2=1

Lang2=x
;Lang2=2

[picLookUp]
;Type=1
Type=2
;Type=3

[Font]
Size=-240
kibsoft Дата 16.6.2010, 20:22
  INI же обычный текстовый файл, просто структурированный. Не понял что за комментарии?
По-моему самому можно быстро написать сохранение в подобный файл..
Litkevich Yuriy Дата 16.6.2010, 14:58
 
Цитата(hkarel @ 16.6.2010, 18:53) *
Возможно ли сделать так чтобы комментарии сохранялись в INI-файле?
нет, нужно искать стороннюю библиотеку для работы с подобным форматом.
hkarel Дата 16.6.2010, 14:53
  В Qt есть класс QSettings, который работает с INI-форматом, и все в нем хорошо, вот только комментарии при работе с INI-файлом удаляются.
Возможно ли сделать так чтобы комментарии сохранялись в INI-файле?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 13:08