J'ai un dossier nommé data qui contient des fichiers, j'ai créé un dossier compressé (data.zip). Jusqu'ici, tout fonctionne mais, pour décompresser ce dossier, je n'arrive pas ..
J'ai utilisé UncompressPackFile mais je n'ai pas obtenu le résultat attendu: il décompresse les fichiers et les place dans le dossier courant alors que ces fichiers devaient être à l'intérieur du dossier DATA...Peut être qu'il va falloir indiquer le chemin de destination? si oui comment?
Resultat = UncompressPackFile(#Archive, Fichier$ [, FichierCompresser$])
Description
Décompresse dans le nom de fichier spécifié, l'entrée courante de l'archive en cours d'examen avec ExaminePack() et NextPackEntry().
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Il semble que vous n'avez pas bien saisi mon problème, j'ai lu la doc et j'ai appliqué la syntaxe de décompression. Les fichiers ont bien été décompressés seulement voilà: l'emplacement des fichiers compressés n'est pas celui que j'attendais, il y a donc un problème de chemin de destination et ça ce n'est pas indiqué dans la doc...
Une archive, ne comporte pas d'arborescence, elle stocke simplement les noms complets (ou relatifs) des fichiers.
La décompression standard décompacte tout dans un seul répertoire si les dossiers n'existent pas déjà.
S'ils n'existent pas, il faut donc les créer au fur et à mesure en isolant le chemin de chaque fichier. C'est assez pénible car il faut faire une fonction récursive s'il y a plusieurs niveaux.
Voir l'exemple donné par Falsam Décompresser un fichier zip (Ce programme fonctionne, mais date de 9 ans, il faut modifier la ligne 27 :
OpenPack(#ZipFile, ZipFile$, #PB_PackerPlugin_Zip) ; à la place de #PB_Packer_Zip))
Perso, je décompacte en invoquant 7z (7zG.exe ou 7z.exe) avec RunProgramm().
L'avantage de 7zG ('G' pour graphique) est qu'il affiche une fenêtre avec barre de progression, d'état et boutons d'abandon, pause etc. Il peut être livré avec ton application (mettre le fichier "License.txt" pour la légalité) et s'utilise sans installation.