IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Décompresser une archive après l'avoir téléchargée

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut Décompresser une archive après l'avoir téléchargée
    Bonjour,

    j'ai adapté le programme exemple de telechargement de fichiers sur un site internet.
    je recupere donc un fichier zip contenant 1 fichier image et un fichier texte.

    je voudrais a partir de ce programme extraire ces fichiers vers un repertoire xavier.

    j'ai regardé sur le web et j'ai recuperé QtZip.dll

    qu'elle ligne de commande dois-je utiliser pour decompresser ces 2 fichiers dans xavier ?

    Cordialement

  2. #2
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Si c'est bien une commande que tu souhaites faire, il ne faut pas télécharger une bibliothèque (.dll) mais un programme, comme 7zip.

    La bibliothèque servirait plutôt à appeler des fonctions dans un code C++/Qt.
    A moins que je n'ai mal compris ?

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    C'est bien par mon code Qt que je veux decompresser ces fichiers.
    et je ne sais pas comment faire.

    le nombre de bibliotheques permettant de le faires sont nombreuses mais null part il est dit comment les utiliser dans un code !!!

    Cordialement

  4. #4
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Effectivement il ne semble pas y avoir beaucoup d'exemples sur le net. QtZip n'a pas été mis à jour depuis 2009, je pense que le projet n'est plus maintenu. Par contre QuaZIP semble avoir une certaine notoriété et est toujours en activité :
    http://quazip.sourceforge.net/usage.html
    pas d'exemple, mais il y a la doc des classes utilisables, donc j'imagine qu'on crée un objet QuaZIP et qu'ensuite la doc des fonctions suffit à savoir quoi faire, bon courage !

  5. #5
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    le probleme reste entier : la mise en oeuvre !!!!

    cordialement

  6. #6
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Faut essayer

    il y a du code ici :
    http://stackoverflow.com/questions/2...-file-using-qt
    Je ne sais pas ce qu'il vaut, mais ça peut être un point de départ.

  7. #7
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Merci,

    je ne sais pas si tu as examiné le code, mais avoue que pour un debutant pas facile a mettre en oeuvre sans cet exemple !!!!

    je vais essayer ça, et je fais une synthese

    Cordialement

  8. #8
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Inspiré du lien externe, le code que j'ai vu dans un projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include "quazip/quazip.h"
    #include "quazip/quazipfile.h"
     
    bool Project::extract ( const QString& filePath, const QString& extDirPath, QVector<QString>& o_vsFileExtract )
    {
        o_vsFileExtract.clear();
     
        QuaZip l_zip ( filePath );
     
        if ( l_zip.open ( QuaZip::mdUnzip ) ) {
            QFile l_outFile;
            QString l_sFileName;
     
            l_zip.goToFirstFile();
     
            do {
                QuaZipFile l_zipFile ( &l_zip  );
                QuaZipFileInfo info;
     
                if ( !l_zip.getCurrentFileInfo (&info ) ) {
                    return false;
                }
     
                if ( !l_zipFile.open ( QIODevice::ReadOnly ) ) {
                    return false;
                }
     
                l_sFileName = QString ( "%1/%2" ).arg ( extDirPath ).arg( l_zipFile.getActualFileName() );
     
                if ( l_zipFile.getZipError() != UNZ_OK ) {
                    return false;
                }
     
                l_outFile.setFileName ( l_sFileName );
     
                if ( l_outFile.open ( QIODevice::WriteOnly ) ) {
                    qint64 l_i64Pos = 0;
                    qint64 l_i64Size = l_zipFile.size();
                    while (l_i64Pos < l_i64Size) {
                        char buf[4096];
                        qint64 readSize = qMin ( static_cast<qint64> ( 4096  ), l_i64Size - l_i64Pos );
                        l_zipFile.read ( buf, readSize );
                        l_outFile.write ( buf, readSize );
                        l_i64Pos += readSize;
                    }
     
                    l_outFile.close();
     
                    o_vsFileExtract.push_back ( l_sFileName );
                }
     
                l_zipFile.close();
     
            } while ( l_zip.goToNextFile() );
     
            l_zip.close();
        }
     
        return true;
    }
    Dans le .pro, ne pas oublier (adapte les chemins) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INCLUDEPATH += ./Externals/Include/ #contient un sous-dossier quazip avec les headers de QuaZip
     
    CONFIG(debug, debug|release) {
    LIBS += -L./Externals/Lib/quazip/Debug
    } else {
        LIBS += -L./Externals/Lib/quazip/Release
    }
    LIBS += -lquazip
    Bon bien sûr tu dois compiler QuaZip avant. Je ne me souviens plus si ça avait posé une difficulté.

  9. #9
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    merci Troudhyl,

    j'etais en train d'essayer de m'en sortir avec le code du lien et j'avais déjà plein d'erreurs (sans doute dues au fait que je n'avais pas compilé quazip !!!)

    je continu a tester et je reviens vers vous

    Cordialement

  10. #10
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    cela commence mal !!!

    dans la derniere version de quazip, il manque des fichiers dans le dossier test pour le compiler !!!! je poursui

    cordialement

  11. #11
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 862
    Points : 219 061
    Points
    219 061
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    J'ai envie de dire, pourquoi n'utilisez vous pas qUncompress ?

    @Troudhyl : votre .pro ne devrait pas regarder dans les dossier résultant de la compilation, mais dans un dossier ./lib .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  12. #12
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    ./Externals/Lib/...
    C'est bien une arborescence fixe où on a rangé les binaires des bibliothèques externes, pas l'endroit où ils sont compilés

  13. #13
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 862
    Points : 219 061
    Points
    219 061
    Billets dans le blog
    120
    Par défaut
    Ah oui, désolé, je me suis fait piéger par le Debug / Release ...
    D'ailleurs, s'il y a une version Debug et une version Release, la bibliothèque de la version Debug est souvent suivi d'un 'd' , du coup, cette ligne LIBS += -lquazip peut ne pas fonctionner.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  14. #14
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    bonjour et merci,

    1/ Vu mon niveau, j'abandonne quazip (qui demande zlib....) je n'arrive même pas a le compiler correctement !!! et d'ailleur honnetement, je trouve tout la mise en oeuvre trop compliqué surtout qu'effectivement il existe qUncompress

    2/Je vais faire un autre MESSAGE pour essayer de me faire expliquer les .pro (la structure et les instructions possibles).

    3/Pour Quncompress :

    Si je prend cette fonction :

    mon zip contenant un jpg et un txt etant enregistrer dans "mon_repertoire_courant/Xavier",
    en executant :

    UnZip(mon_repertoire_courant/Xavier/nomzip.zip, nomzip);

    => ça ne marche pas, et cela ne m'etonne pas car il y a un probleme de parametres ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void HttpWindow::UnZip (QString zipfilename , QString filename)
    {
    QFile infile(zipfilename);
    QFile outfile(filename);
    infile.open(QIODevice::ReadOnly);
    outfile.open(QIODevice::WriteOnly);
    QByteArray uncompressedData = infile.readAll();
    QByteArray compressedData = qUncompress(uncompressedData);
    outfile.write(compressedData);
    infile.close();
    outfile.close();
    }
    Cordialement

  15. #15
    Nouveau membre du Club Avatar de opossum_farceur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Points : 36
    Points
    36
    Par défaut
    Hi!

    Cette page de discussion est encore toute tiède, toc-toc, y-a-t'il encore quelqu'un derrière l'écran?

    A l'instar de morinxav1, je suis confronté au problème de l'extraction d'archive au sein d'une application Qt.
    Comme beaucoup, j'ai été aiguillé vers QuaZIP (version 0.4.4), car la fonction "qUncompress" n'est destinée semble-t-il qu'à décompresser une archive générée par " qCompress".

    - Compilation de QuaZIP : ok
    - Compilation de "qztest.exe" : ok
    - Exécution de "qztest.exe" : un test échoue (FAIL! : TestJlCompress::extractDir)
    mais est-ce vraiment important?, l'essentiel étant d'avoir généré "libquazip.a" et " quazip.dll" (je développe avec la version MinGW de Qt 4.7.0).
    - Recherche dans les sources de "test" des 3 lignes de code (suffisantes, en principe!) permettant l'extraction d'une archive. Aiee! : l'intérêt de ces sources ne semble en fait orienté que vers l'utilisation du module QTest (intéressant certes mais pour moi hors sujet).

    - Reste internet, cette page de discussion et le code de la fonction "extract" fourni par Troudhyl.
    - A vue de nez, les arguments semblent devoir être :
    const QString& filePath : le chemin de l'archive
    const QString& extDirPath : l'endroit où procéder à l'extraction
    QVector<QString>& o_vsFileExtract : la liste des fichiers contenus dans l'archive?
    - la fonction "main" de mon fichier "extract.cpp" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    int main(int argc,char** argv)
    {
    	QCoreApplication app(argc,argv);
     
    	const QString filePath="chemin/de/mon/archive.zip";
    	const QString extDirPath="dossier/de/destination";
    	QVector<QString> o_vsFileExtract;
    	bool rslt=extract(filePath,extDirPath,o_vsFileExtract);
     
    	if (!rslt) qDebug("extract fail...");
    	else for (int i=0,n=o_vsFileExtract.count();i<n;i++) 
    		qDebug("02%i : %s",i,qPrintable(o_vsFileExtract.at(i)));
     
    	return app.exec();
    }
    - Compilation de "extract.cpp" : ok
    - Exécution : l'exécutable se lance, mais il ne se passe rien, et rien ne s'affiche.
    - Ai-je fait une bêtise?
    - Ai-je mal interprété l'usage à faire des arguments?
    - ce code fonctionne-t-il vraiment?

    Merci pour vos commentaires éclairés.

  16. #16
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Ce que je peux te dire tout de suite c'est que tu as bien utilisé les arguments de extract() (c'est vrai que ce n'est pas forcément explicite). Dans le else, tu pourrais afficher o_vsFileExtract.count() (qui devrait être 0 si tu ne vois aucun message ?).

  17. #17
    Nouveau membre du Club Avatar de opossum_farceur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Points : 36
    Points
    36
    Par défaut
    Hi!

    Merci pour la réponse!

    >> tu pourrais afficher o_vsFileExtract.count()

    très bonne idée, mon code devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (!rslt) qDebug("extract fail...");
    else {
    	int i,n=o_vsFileExtract.count();
    	if (!n) qDebug("damned : n==0");
    	else for (i=0;i<n;i++) qDebug("%02i :%s",i,qPrintable(o_vsFileExtract.at(i)));
    }
    résultat des courses :

  18. #18
    Nouveau membre du Club Avatar de opossum_farceur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Points : 36
    Points
    36
    Par défaut
    Hi!

    J'ai eu le temps aujourd'hui d'analyser plus en profondeur le code de la fonction "extract".
    Là où çà coince :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l_sFileName=QString("%1/%2").arg(extDirPath).arg(l_zipFile.getActualFileName());
    La méthode "QuaZipFile::getActualFileName" renvoie un chemin incohérent; seul le nom du fichier situé à sa fin est correct.
    En remontant l'enchaînement des fonctions, on finit par tomber sur la fonction C "unzGetCurrentFileInfo" déclarée dans "unzip.h", mais bon, sa responsabilité n'est pas avérée avec certitude.
    Plutôt que de me perdre dans les entrailles du code, j'ai préféré traiter le problème localement.
    Il s'agit de remplacer la ligne citée plus haut par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QStringList list=l_zipFile.getActualFileName().split('/');
    l_sFileName=QString("%1/%2").arg(extDirPath).arg(list.last());
    Ce code fonctionne, le seul soucis c'est qu'il ne reconstitue pas l'arborescence interne de l'archive : les dossiers sont donc ignorés (mais pas leur contenu!) et tous les fichiers se retrouvent alors en vrac à la racine du répertoire de destination.
    En ce qui me concerne, l'archive que je dois dézipper ne contient qu'un seul fichier situé à sa racine, cette correction peut donc faire mon affaire, mais bon, c'est pas vraiment ce que l'on est en droit d'attendre d'un programme d'archivage digne de ce nom.

    Je me pose maintenant les questions suivantes :
    - ce qui est en cause, c'est la librairie ou le code de "extract"?
    - cette librairie n'est-elle pas destinée à une application sous Unix?
    - "zlib.h" n'a-t-il pas une responsabilité? (j'en ai deux versions différentes)

  19. #19
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Bonsoir et merci pour ton analyse,

    Dans la mesure où ce code fonctionnait dans un projet sous Windows (certainement avec une ancienne version de QuaZIP par rapport à l'actuelle), peut-être que c'est un bug apparu récemment ? Par curiosité tu pourrais montrer quel genre de chemin incohérent ça retourne ?

  20. #20
    Nouveau membre du Club Avatar de opossum_farceur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Points : 36
    Points
    36
    Par défaut
    Hi!

    Arff, en fait j'ai un peu merdé en faisant mon archive de test (avec une version antédiluvienne de winzip) : j'ai laissé coché "save extra folder info", si bien que les fichiers de l'archive étaient affectés de leur chemin complet sur mon disque.
    Exemple avec "extract" :
    dossier de destination :
    D:\Dev\gcc\Qt\unzip\doc\tmp
    chemin du fichier à dézipper :
    D:\Dev\gcc\Qt\unzip\doc\img.png
    ensuite concaténé en :
    D:\Dev\gcc\Qt\unzip\doc\tmp\Dev\gcc\Qt\unzip\doc\img.png

    ce qui est logique, mais que je ne comprenais pas, jusqu'à ce que j'ouvre l'archive avec winzip.

    Ceci a l'avantage de souligner une lacune de "extract" : son incapacité à recréer une arborescence.
    le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (l_outFile.open(QIODevice::WriteOnly)) {}
    n'indique pas ce qu'il faut faire en cas d'échec, d'où la situation indéterminée que je mentionnais dans mon 1er post.
    Le test devrait en fait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (l_outFile.open(QIODevice::WriteOnly)) {}
    else return false;
    bien plus clair.

    Reste la question : QuaZip fournit-elle les ressources pour recréer une arborescence ou est-ce du ressort de l'utilisateur?
    Dans le 2ème cas, Qt fournit il me semble tout l'outillage (avec les vis et les boulons) : reste au(x) développeur(s) à mouiller la chemise...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/09/2008, 13h25
  2. [unzip] Problème pour décompresser une archive zip
    Par lammouch dans le forum MATLAB
    Réponses: 11
    Dernier message: 03/04/2008, 17h56
  3. Afficher une table après l'avoir masqué?
    Par anthonyf dans le forum Access
    Réponses: 2
    Dernier message: 05/12/2007, 16h20
  4. changer la taille d'une plage après l'avoir nommer
    Par b.amine dans le forum Excel
    Réponses: 1
    Dernier message: 12/04/2007, 15h39
  5. [Zip] Décompresser une archive zip ou .gz
    Par Invité(e) dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/02/2007, 07h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo