当前位置: 首页>>代码示例>>C++>>正文


C++ QFile::waitForBytesWritten方法代码示例

本文整理汇总了C++中QFile::waitForBytesWritten方法的典型用法代码示例。如果您正苦于以下问题:C++ QFile::waitForBytesWritten方法的具体用法?C++ QFile::waitForBytesWritten怎么用?C++ QFile::waitForBytesWritten使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QFile的用法示例。


在下文中一共展示了QFile::waitForBytesWritten方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: guardar

void DialogVarConfig::guardar()
{
    QStringList retorno;
    retorno<<ui->txt1->text();
    retorno<<ui->txt2->currentText();
    retorno<<ui->txt3->text();
    retorno<<ui->txt4->text();
    retorno<<ui->txt5->text();
    retorno<<ui->txt6->text();
    retorno<<ui->txt7->text();
    retorno<<ui->txt8->text();
    retorno<<ui->txt9->text();
    retorno<<ui->txt10->text();
    if(estado == 2){
        datos.append(retorno.join(":::"));
    } else if(estado == 1){
        datos.removeAt(index);
        datos.append(retorno.join(":::"));
    }
    QFile f;
    f.setFileName("scriptsconfig");
    f.remove();
    f.open(QIODevice::WriteOnly);
    f.write(datos.join("\n").toLatin1());
    f.waitForBytesWritten(0);
    f.close();
}
开发者ID:pablomvb,项目名称:misaplicaciones,代码行数:27,代码来源:dialogvarconfig.cpp

示例2: eliminar

void DialogVarConfig::eliminar()
{
    datos.removeAt(index);
    QFile f;
    f.setFileName("scriptsconfig");
    f.remove();
    f.open(QIODevice::WriteOnly);
    f.write(datos.join("\n").toLatin1());
    f.waitForBytesWritten(0);
    f.close();
    cargarDatos();
}
开发者ID:pablomvb,项目名称:misaplicaciones,代码行数:12,代码来源:dialogvarconfig.cpp

示例3: on_cmdImport_clicked


//.........这里部分代码省略.........
            dirPath = AppFunc::getAppSavePath() + QString ("/config/") + configName;

            // Verzeichnis da?
            QDir dirobj (dirPath);
            if (!dirobj.exists(dirPath)){
                //Verzeichnis existiert nicht
                // Pfad erstellen
                if (!dirobj.mkpath(dirPath)) {
                    // Pfad konnte nicht erstellt werden
                    Message::error(QObject::tr("Unable to create directory!"), QObject::tr("Import Configuration"));
                    return;
                }
            } else {
                // Verzeichnis existiert
                Message::error(QObject::tr("A diretory with this name already exists!"), QObject::tr("Import Configuration"));
                return;
            }
            // Datei ins neue Verzeichnis kopieren
            //QFile importFileCrypt (m_ui->txtImportPath->text());
            QString packFile = dirPath + QString("/") + configName + QString(".zip");

            // Erstmal entschlüsseln
            if(QFile::exists(packFile)) {
                QFile::remove(packFile);
            }

            // Die Daten einlesen
            {
                QFile crypted (m_ui->txtImportPath->text());
                if (crypted.open(QIODevice::ReadOnly)) {
                    // Nun das Ziel öfffnen
                    QFile targetFile (packFile);
                    if (targetFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
                        // Alles offen, kann losgehen
                        QByteArray data = crypted.readAll();
                        Crypt crypt;
                        crypt.setSecretKey(m_ui->txtPassword->text());
                        targetFile.write(crypt.cryptToPlainTextExt(data));
                        targetFile.waitForBytesWritten(3000);
                        targetFile.flush();
                        targetFile.waitForBytesWritten(3000);

                        // Alles Ok
                        targetFile.close();
                        crypted.close();
                    }
                } else {
                    Message::error(QObject::tr("Can't open crypted file"));
                    return;
                }
            }

            // Nun die Datei entpacken
            if (!Zip::extract(packFile, dirPath)) {
                Message::error(QObject::tr("Can't open zip file"));
                return;
            }

            // Nun ist alles entpackt, das Ziparchiv nun löschen
            QFile configZip (packFile);
            if (!configZip.remove()) {
                Message::error(configZip.errorString(), QObject::tr("Import Configuration"));
            }

            QString saveName;
            QString savePath;
            QString ovpnFilePath = m_ui->txtImportPath->text().right(m_ui->txtImportPath->text().size() - m_ui->txtImportPath->text().lastIndexOf("/") -1);

            saveName = ovpnFilePath.left(ovpnFilePath.size()-6);
            savePath = dirPath + QString("/") + ovpnFilePath.left(ovpnFilePath.size()-6) + QString(".ovpn");

            if (m_ui->rbSaveAsName->isChecked()) {
                // ovpn umbennen
                QFile ovpnFile (savePath);
                if (ovpnFile.exists()) {
                    // umbenennen
                    ovpnFile.rename(dirPath + QString("/") + configName + QString(".ovpn"));
                    saveName = configName;
                }
            }
            savePath = dirPath + QString("/") + saveName + QString(".ovpn");

            QFile ovpnFile (dirPath + QString("/") + configName + QString(".ovpn"));
            if (!ovpnFile.exists()) {
                Message::error(QObject::tr("Import failed! Removing empty directory."), QObject::tr("Import Configuration"));
                dirobj.rmdir(dirPath);
            } else {
                Preferences::instance()->addNewConfigToDatabase(saveName, savePath.replace("\\", "/"));
                Preferences::instance()->refreshConfigList();
                Preferences::instance()->setConnectionStatus();
                Message::information(QObject::tr("Import successfully ended!"), QObject::tr("Import Configuration"));
                Preferences::instance()->refreshDialog();
                Preferences::instance()->setIcon();
                this->close();
            }
        } else {
            Message::error(QObject::tr("No import file selected!"), QObject::tr("Import Configuration"));
        }
    }
}
开发者ID:OldFrank,项目名称:openvpn-client,代码行数:101,代码来源:importconfig.cpp

示例4: log

void Debug::log(const QString &message, DebugLevel::Level level, const QString &filename)
{
    // Schreibt die Logmeldung, wenn ein bestimmtes Level gesetzt ist
    if (debugEnabled) {
        // Level überprüfen
        if (level <= debugLevel) {
            // Soll das Datum mit erfasst werden
            QString timeDate ("");
            if (dateTimeEnabled) {
                QString dateFormat (QLatin1String("dd.MM.yyyy hh:mm:ss"));
                // Millisekunden ausgeben
                if (mSecsEnabled) {
                    dateFormat = QLatin1String("dd.MM.yyyy hh:mm:ss.zzz");
                }
                timeDate = QDateTime::currentDateTime().toString(dateFormat);
            }

            // Ist der Pfad gefüllt
            if (debugPath.isEmpty()) {
                return;
            }
            // Ist der Pfad vorhanden
            QDir debugDir (debugPath);
            if(!debugDir.exists()) {
                // Pfad erstellen
                if (!debugDir.mkpath(debugPath)) {
                    // Fehler
                    return;
                }
            }

            // Soll eine extra Datei erstellt werden?
            QString fileName ("debug_vpn.txt");
            if (!filename.isEmpty()) {
                fileName = filename;
            }

            // Nun die Einrückrung
            QString indent;
            // Die Stackgröße spiegelt die Einrücktiefe wieder
            indent = indent.fill(QChar('\t'), debugCategories.size());

            // Das Level herausfinden
            QString levelName ("");
            switch (level) {
                case DebugLevel::Error:
                    levelName = QLatin1String("Error");
                    if (debugLevel == DebugLevel::Error) {
                        // Die Einrücktiefe ist 0
                        indent.clear();
                    }
                    break;
                case DebugLevel::Category:
                    levelName = QLatin1String("Category");
                    break;
                case DebugLevel::Function:
                    levelName = QLatin1String("Function");
                    break;
                case DebugLevel::Comment:
                    levelName = QLatin1String("Comment");
                    break;                
                case DebugLevel::Database:
                    levelName = QLatin1String("Database");
                    break;
                case DebugLevel::Debug:
                    levelName = QLatin1String("Debug");
                    break;
                case DebugLevel::Construktor:
                    levelName = QLatin1String("Construktor");
                    break;
                case DebugLevel::Destruktor:
                    levelName = QLatin1String("Destruktor");
                    break;
                default:
                    // Diesen Fall sollte es nicht geben
                    // Da es nur ein Flag für die Ausgabesteuerung ist
                    levelName = QLatin1String("ALL");
            }

            // LineFeed bestimmen
            QLatin1String lineFeed ("\r\n");
#ifndef Q_OS_WIN32
            lineFeed = QLatin1String ("\n");
#endif

            // Alles bearbeitet, nun den String ausgeben
            // Datei öffnen
            QFile debugFile (debugPath + fileName);
            if (debugFile.open(QIODevice::WriteOnly | QIODevice::Append)) {
                // Datei ist offen nun schreiben
                QString data (indent + timeDate + QLatin1String (" ") + levelName  + QLatin1String (" -> ") + message + lineFeed);
                debugFile.write(data.toAscii());
                // Kurz warten
                debugFile.waitForBytesWritten(1000);
                // Datei wieder schließen
                debugFile.close();
            }
        }
    }
}
开发者ID:iBeacons,项目名称:NTUMEMSOpenVPN,代码行数:100,代码来源:debug.cpp

示例5: on_cmdExport_clicked

void ExportWidget::on_cmdExport_clicked()
{
    QString exportKey = "insecure";

    if(!ui.txtExportKey->text().isEmpty())
        exportKey = ui.txtExportKey->text();
    else
    {
        // TODO: notify user password is not secure
    }

    bool fError (false);
    QString errMes ("");

    if (ui.txtDestFile->text().isEmpty()) {
        fError = true;
        errMes = QObject::tr("Invalid path specify[empty]!");
    }

    if (!fError) {
        if (exportKey.isEmpty()) {
            fError = true;
            errMes = QObject::tr("Invalid password specify[empty]!");
        }
    }
    // Viel zu tun
    // Dateien ermitteln, packen, verschlüsseln und löschen
    if (!fError) {
        if (!this->configPath.isEmpty()) {
            // Config öffen und Zertifikate auslesen
            QFile configFile (this->configPath);

            if (!configFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
                Message::error(QObject::tr("Can't open config!"), QObject::tr("Export Configuration"), this);
                return;
            }

            // Besteht das Verzeichnis schon?
            QString dirPath = ui.txtDestFile->text();
            QString zipFile = dirPath + QLatin1String("/export.zip");
            QString configName = this->configPath.right(this->configPath.size() - this->configPath.lastIndexOf("/") -1);
            configName = configName.left(configName.size()-5);
            QString cryptFile = dirPath + QLatin1String("/") + configName + QLatin1String(".crypt");
            QDir dirobj (dirPath);
            if (!dirobj.exists(dirPath)){
                //Verzeichnis existiert nicht
                // Pfad erstellen
                if (!dirobj.mkpath(dirPath)) {
                    // Pfad konnte nicht erstellt werden
                    Message::error(QObject::tr("Unable to create directory!"), QObject::tr("Export Configuration"), this);
                    return;
                }
            } else {
                // Verzeichnis existiert
                QFile file(cryptFile);
                if (file.exists()) {
                    // Datei existiert bereits
                    // löschen
                    if (!file.remove()) {
                        Message::error(file.errorString(), QObject::tr("Export Configuration"), this);
                        return;
                    }
                }
            }

            // Alle Daten da, packen
            bool error (false);
			if (!CZip::archive(zipFile, this->configPath.left(this->configPath.lastIndexOf("/")), false)) {
                error = true;
            }

            if (error) {
                Message::error(QObject::tr("Can't zip the data."), QObject::tr("Export Configuration"), this);
                return;
            }

            // Nun verschlüsseln
            if (!fError) {
                QFile zipToCrypt (zipFile);
                if (zipToCrypt.open(QIODevice::ReadOnly)) {
                    QFile cryptedFile (cryptFile);
                    if (cryptedFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
                        // Daten einlesen, verschlüsseln und wieder schreiben
                        QByteArray data;
                        data = zipToCrypt.readAll();
                        // Crypt bauen

                        auto oldKey = Crypt::secretKey;
                        // Den Schlüssel setzen
                        Crypt::setSecretKey(exportKey);
                        // Verschlüsseln und schreiben
                        cryptedFile.write(Crypt::encodePlaintextAscii(data).toLatin1());
                        cryptedFile.waitForBytesWritten(2000);
                        cryptedFile.flush();
                        cryptedFile.waitForBytesWritten(2000);

                        // Nun alles wieder schliessen
                        cryptedFile.close();
                        zipToCrypt.close();

//.........这里部分代码省略.........
开发者ID:Securepoint,项目名称:openvpn-client,代码行数:101,代码来源:exportwidget.cpp


注:本文中的QFile::waitForBytesWritten方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。