crossplatform.ru

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


  Ответ в QSettings
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 23.6.2011, 9:54
 
Цитата(panter_dsd @ 22.6.2011, 16:53) *
CP1251 - это алиас и Qt его отлично понимает.
Если написать
QTextCodec::setCodecForTr(QTextCodec::CodecForName("CP1251"));
то с кодировкой будут проблемы, если же написать:
QTextCodec::setCodecForTr(QTextCodec::CodecForName("Windows-1251"));
то проблем нет.

П.С.
Обжёгся на Qt 4.3 с тех пор пишу только "официальное имя"
ufna Дата 22.6.2011, 17:43
 
Цитата(Litkevich Yuriy @ 22.6.2011, 14:18) *
у меня при чтении, НЕ записи, ничего не изменяется.


+1
panter_dsd Дата 22.6.2011, 13:53
  Litkevich Yuriy, CP1251 - это алиас и Qt его отлично понимает.
Litkevich Yuriy Дата 22.6.2011, 13:18
  у меня при чтении, НЕ записи, ничего не изменяется.

Цитата(fortero @ 20.6.2011, 1:11) *
readSet.setIniCodec("CP1251");
в Qt такая кодировка не известна. См. список тут
panter_dsd Дата 20.6.2011, 7:13
  http://doc.qt.nokia.com/4.7/qsettings.html#registerFormat
fortero Дата 19.6.2011, 22:58
 
Цитата(panter_dsd @ 19.6.2011, 22:51) *
Переопредели QSettings::WriteFunc.

Это как? Пример можно?
panter_dsd Дата 19.6.2011, 22:51
  Переопредели QSettings::WriteFunc.
fortero Дата 19.6.2011, 22:11
  Есть вот такой код:
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 файл оставлял его в первозданном состоянии, а то после каждого прочтения он удаляет пробелы между строками, кодировку переворачивает в какую то абра кодабру. Хоть и с кодеровками всё в порядке. Как ему запретить насильно, редактировать файл?
Спасибо за внимание!
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 22.11.2019, 13:17