• 大小: 1.01MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-13
  • 语言: 其他
  • 标签: qt  ofd  c++  

资源简介

一个关于ofd editor的代码,可以下载学习,自己觉得很有用

资源截图

代码片段和文件信息

/*
Copyright (C) 2010 Roberto Pompermaier
Copyright (C) 2005-2014 Sergey A. Tachenov

This file is part of QuaZIP.

QuaZIP is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation either version 2.1 of the License or
(at your option) any later version.

QuaZIP is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with QuaZIP.  If not see .

See COPYING file for the full LGPL text.

Original ZIP package is copyrighted by Gilles Vollant and contributors
see quazip/(un)zip.h files for details. Basically it‘s the zlib license.
*/

#include “JlCompress.h“
#include 

static bool copyData(QIODevice &inFile QIODevice &outFile)
{
    while (!inFile.atEnd()) {
        char buf[4096];
        qint64 readLen = inFile.read(buf 4096);
        if (readLen <= 0)
            return false;
        if (outFile.write(buf readLen) != readLen)
            return false;
    }
    return true;
}

bool JlCompress::compressFile(QuaZip* zip QString fileName QString fileDest) {
    // zip: oggetto dove aggiungere il file
    // fileName: nome del file reale
    // fileDest: nome del file all‘interno del file compresso

    // Controllo l‘apertura dello zip
    if (!zip) return false;
    if (zip->getMode()!=QuaZip::mdCreate &&
        zip->getMode()!=QuaZip::mdAppend &&
        zip->getMode()!=QuaZip::mdAdd) return false;

    // Apro il file originale
    QFile inFile;
    inFile.setFileName(fileName);
    if(!inFile.open(QIODevice::ReadOnly)) return false;

    // Apro il file risulato
    QuaZipFile outFile(zip);
    if(!outFile.open(QIODevice::WriteOnly QuaZipNewInfo(fileDest inFile.fileName()))) return false;

    // Copio i dati
    if (!copyData(inFile outFile) || outFile.getZipError()!=UNZ_OK) {
        return false;
    }

    // Chiudo i file
    outFile.close();
    if (outFile.getZipError()!=UNZ_OK) return false;
    inFile.close();

    return true;
}

bool JlCompress::compressSubDir(QuaZip* zip QString dir QString origDir bool recursive QDir::Filters filters) {
    // zip: oggetto dove aggiungere il file
    // dir: cartella reale corrente
    // origDir: cartella reale originale
    // (path(dir)-path(origDir)) = path interno all‘oggetto zip

    // Controllo l‘apertura dello zip
    if (!zip) return false;
    if (zip->getMode()!=QuaZip::mdCreate &&
        zip->getMode()!=QuaZip::mdAppend &&
        zip->getMode()!=QuaZip::mdAdd) return false;

    // Controllo la cartella
    QDir directory(dir);
    if (!directory.exists()) return false;

    QDir origDirectory(origDir);
if (dir != origDir) {
QuaZipFile dirZipFile(zip);
if (!dirZipFile.open(QIODe

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-23 07:10  ofdEditor\
     文件         331  2017-06-23 07:10  ofdEditor\.gitignore
     文件        1072  2017-06-23 07:10  ofdEditor\LICENSE
     文件        2556  2017-06-23 07:10  ofdEditor\README.md
     目录           0  2017-06-23 07:10  ofdEditor\ofdEditor\
     目录           0  2017-06-23 07:10  ofdEditor\ofdEditor\libs\
     文件      720650  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip.zip
     目录           0  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\
     目录           0  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\
     文件       12260  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\JlCompress.cpp
     文件        8127  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\JlCompress.h
     文件        4808  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\crypt.h
     文件        7136  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\ioapi.h
     文件       11163  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\qioapi.cpp
     文件        1383  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quaadler32.cpp
     文件        1459  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quaadler32.h
     文件        2286  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quachecksum32.h
     文件        1329  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quacrc32.cpp
     文件        1380  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quacrc32.h
     文件        4310  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quagzipfile.cpp
     文件        3683  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quagzipfile.h
     文件        9241  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quaziodevice.cpp
     文件        3420  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quaziodevice.h
     文件       21778  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quazip.cpp
     文件       25307  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quazip.h
     文件        1738  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quazip_global.h
     文件       16314  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quazipdir.cpp
     文件        8300  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quazipdir.h
     文件       14694  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quazipfile.cpp
     文件       20019  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quazipfile.h
     文件        6620  2017-06-23 07:10  ofdEditor\ofdEditor\libs\quazip\includes\quazipfileinfo.cpp
............此处省略262个文件信息

评论

共有 条评论