crossplatform.ru

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


  Ответ в QSettings. Escape-последовательности в ini файлах
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
molchanoviv Дата 30.12.2009, 17:38
  Подниму старую тему. Может кому-то понадобится. чтобы не писать свой парсер INI-файлов я просто скоприовал файл, и заменил там \ на \\ прочел нужные пути, а затем просто удалил копию. Но этот костыль лучше применять только в случае если трогать чужую инишку нельзя.

        QFile data(path);
    QString line;
    if (data.open(QFile::ReadOnly))
    {
        data.copy("tmpfile");
        data.close();
    }
    QFile file("tmpfile");
    if (file.open(QFile::ReadWrite))
    {
        QTextStream in(&file);
        line = in.readAll();
        line.replace(QString("\\"), QString("\\\\"));
        in <<line;
        file.close();
    }
    QSettings workplace(file.fileName(), QSettings::IniFormat);
        //считываем нужные параметры
        file.remove();
AD Дата 10.11.2008, 18:37
 
Цитата(Litkevich Yuriy @ 10.11.2008, 18:07) *
ты бы хоть асистент открыл что ли

Сорри. Виноват.... Да я реестром пользуюсь, при этом, можно сказать, активно - просто не заметил что в первой строчке кода строка отличается от двух других - показалось, что во всех 3 строках ключ одинаковый. Бывает.... виноват.
Litkevich Yuriy Дата 10.11.2008, 18:07
 
Цитата(AD @ 10.11.2008, 20:24) *
Какая разница? Какова вероятность, что выдаст значение 1024, 58 или 0??? ))
ты бы хоть асистент открыл что ли :(
kuler Дата 10.11.2008, 17:27
  выдает 58, тк такое значение есть, выдает 1024 тк animal/zebra нет, выдает 0, тк не установлено значение по умолчанию (до этого было 1024)
AD Дата 10.11.2008, 17:24
 
Цитата(kuler @ 10.11.2008, 15:13) *
AD,
это из хелпа

Какая разница? Какова вероятность, что выдаст значение 1024, 58 или 0??? :)))
kuler Дата 10.11.2008, 15:13
  AD,
это из хелпа
AD Дата 10.11.2008, 14:55
 
Цитата(Litkevich Yuriy @ 10.11.2008, 14:39) *
 settings.value("animal/snake", 1024).toInt();   // returns 58
settings.value("animal/zebra", 1024).toInt();   // returns 1024
settings.value("animal/zebra").toInt();         // returns 0

Юра, поясни, пожалуйста, пример. То ли опечатка в примере, то ли я что-то не так понимаю?
Litkevich Yuriy Дата 10.11.2008, 14:39
  судя по примерам в описании класса QSettings, это возможно.
Ты какой формат используешь и на какой системе?

ага, я кажется понял. слэш всяко будет суб ключи создавать, но ты можешь и обращатся в той же манере к ним как и записывал:
 QSettings settings;
settings.setValue("animal/snake", 58);
settings.value("animal/snake", 1024).toInt();   // returns 58
settings.value("animal/zebra", 1024).toInt();   // returns 1024
settings.value("animal/zebra").toInt();         // returns 0
kuler Дата 10.11.2008, 14:15
  QSettings settings("Unit", "Subunit");
settings.setValue("af\/vb", "xxx");
хотел бы чтоб был ключ af/vb со значением xxx
Litkevich Yuriy Дата 10.11.2008, 14:06
  kuler, код приведи, как ты это делаешь
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 20:34