crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 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 Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 23:25