crossplatform.ru

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

> QSettings, QSettings запретить редактировать
fortero
  опции профиля:
сообщение 19.6.2011, 22:11
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 132
Регистрация: 4.12.2010
Пользователь №: 2242

Спасибо сказали: 0 раз(а)




Репутация:   0  


Есть вот такой код:
QSettings readSet(tr("fwconf.ini"), QSettings::IniFormat);
    readSet.setIniCodec("CP1251");
    readSet.beginGroup(idworm);
    
    sizWinX = readSet.value("minSizX", "").toInt();
    sizWinY = readSet.value("minSizY", "").toInt();
    for(int uio=1;!readSet.value(QString("namColWieTab%1").arg(uio), "").toString().isEmpty();uio++)
        titl << readSet.value(QString("namColWieTab%1").arg(uio), "").toString();
    for(int uio=1;!readSet.value(QString("proColWieTab%1").arg(uio), "").toString().isEmpty();uio++)
        propWin << readSet.value(QString("proColWieTab%1").arg(uio), "").toFloat();
    for(int uio=1;!readSet.value(QString("namColSqlTab%1").arg(uio), "").toString().isEmpty();uio++)
        listTabSql << readSet.value(QString("namColSqlTab%1").arg(uio), "").toString();
    tabNamSql.append(readSet.value("namSqlTab", "").toString());
    titlForms.append(readSet.value("addTit", "").toString());
    descForms.append(readSet.value("addDesc", "").toString());
    for(int uio=1;!readSet.value(QString("listLab%1").arg(uio), "").toString().isEmpty();uio++)
        listsLab << new QLabel(readSet.value(QString("listLab%1").arg(uio), "").toString());
    for(int uio=1;!readSet.value(QString("objNam%1").arg(uio), "").toString().isEmpty();uio++)
        objNam << readSet.value(QString("objNam%1").arg(uio), "").toString();
    for(int uio=1;!readSet.value(QString("validObj%1").arg(uio), "").toString().isEmpty();uio++)
        validObj << readSet.value(QString("validObj%1").arg(uio), "").toString();
    titlFormsEdit.append(readSet.value("editTitl", "").toString());
    descFormsEdit.append(readSet.value("editDesc", "").toString());
    for(int uio=1;!readSet.value(QString("findsNam%1").arg(uio), "").toString().isEmpty();uio++)
        findsPolNam << readSet.value(QString("findsNam%1").arg(uio), "").toString();
    for(int uio=1;!readSet.value(QString("findsObj%1").arg(uio), "").toString().isEmpty();uio++)
        findsObjNam << readSet.value(QString("findsObj%1").arg(uio), "").toString();
    readSet.endGroup();


Подскажите пожалуйста, как сделать, что бы при прочтении файла класс QSettings не редактировал ini файл оставлял его в первозданном состоянии, а то после каждого прочтения он удаляет пробелы между строками, кодировку переворачивает в какую то абра кодабру. Хоть и с кодеровками всё в порядке. Как ему запретить насильно, редактировать файл?
Спасибо за внимание!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 22.6.2011, 13:18
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


у меня при чтении, НЕ записи, ничего не изменяется.

Цитата(fortero @ 20.6.2011, 1:11) *
readSet.setIniCodec("CP1251");
в Qt такая кодировка не известна. См. список тут
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 14:30