Zip und Unzip classe von Trolltech

Code-Schnippsel, oder Tipps und Tricks, die einem beim Programmieren mit Qt helfen können.
Antworten
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Zip und Unzip classe von Trolltech

Beitrag von patrik08 »

Seit QT 4.5 gibt es zip und unzip im QT source ich habe das ganze in einen namenspace gekapselt so kann man es auch fuer 4.0 , 4.4 gebrauchen getested auf 4.4.1

um die file zu lesen

Code: Alles auswählen


/*                    file name and path , his data */
QMap<QString,QByteArray> unzipstream( const QString file )
{
/*
  #include "GZipWriter.h"
  #include "GZipReader.h"
*/
      QMap<QString,QByteArray> ooFile;
      CZIP::QZipReader unzip(file,QIODevice::ReadOnly);
      QList<CZIP::QZipReader::FileInfo> list = unzip.fileInfoList();
      CZIP::QZipReader::FileInfo fi;
      if (list.size() > 0 && unzip.exists()) {
                  for (int l = 0; l < list.size(); l++)
                  {
                     fi = list.at(l);
                     if (fi.size > 0) {
                     ooFile.insert(fi.filePath,unzip.fileData(fi.filePath));
                     }
                  }
                  
        unzip.close();    
       }
   return ooFile;
       
     /*  usage 
     QString txtlog;
     QMap<QString,QByteArray>  filist = unzipstream("giallo.odt");
     QMapIterator<QString,QByteArray> i(filist);
         while (i.hasNext()) {
             i.next();
             qDebug() << "### name---------- " << i.key();
             txtlog.append(i.key());
         }   
    QByteArray base = filist["content.xml"];
    if (base.size() > 0) {
        txtlog.append(QString(base));
    }
    */ 
}


um zip zu schreiben im header GZipWriter.h shauen
Ich musste das machen um den OpenDocument reader zu machen... info:
http://www.qt-apps.org/content/show.php ... tent=80650

Naturlich wenn man 4.5 braucht sind die file nicht noetig.



http://fop-miniscribus.googlecode.com/s ... s/GZip.cpp
http://fop-miniscribus.googlecode.com/s ... ipReader.h
http://fop-miniscribus.googlecode.com/s ... ipWriter.h
.........................
speack português italiano deutsch english castellà qt
QtNoob2008
Beiträge: 54
Registriert: 10. April 2008 08:27

Beitrag von QtNoob2008 »

Hallo,

du sagst
Seit QT 4.5 gibt es zip und unzip im QT source
Ich würde gerne die zip Functionaltät verwenden (benötige nur unzip) Welche Klassen muss ich einbinden. Hab auf anhieb nichts gefunden...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

\class QZipWriter
\internal
\since 4.5
\class QZipReader::FileInfo
\internal
QtNoob2008
Beiträge: 54
Registriert: 10. April 2008 08:27

Beitrag von QtNoob2008 »

Bedeutet es dass diese nur irgendwie internal verfügbar sind oder verstehe ich das falsch?
Hab Qt 4.5.0 drauf...
Antworten