UncompressPackFile()

Syntaxe

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().

Arguments

#Archive L'archive à utiliser.
Fichier$ Le nom de fichier de décompression de l'entrée courante de l'archive.
FichierCompresser$ (optionnel) L'entrée à décompresser.

Si ce paramètre n'est pas spécifié, l'entrée courante examinée avec ExaminePack() et NextPackEntry() est décompressée.

Valeur de retour

Renvoie la taille décompressée si l'entrée de l'archive a bien été décompressée dans le nom du fichier, zéro sinon.

Remarques

Si le nom de fichier existe déjà, il sera effacé et remplacé par les nouvelles données non compressées.

Exemple: Utilisation d'une arborescence de fichiers


  UseZipPacker()

  Path$ =  #PB_Compiler_Home + "Examples/Sources/"  ; Chemin d'accès aux fichiers sources des exemples PureBasic
  PackFile$ = GetTemporaryDirectory() + "MyCompressedFiles.zip"  ; Chemin d'accès au futur fichier compréssé (zip)
    If CreatePack(0, PackFile$)
    AddPackFile(0, Path$ + "Data/world.png", "Data/world.png")
    AddPackFile(0, Path$ + "Data/test.pref", "Data/test.pref")
    AddPackFile(0, Path$ + "Data/CdPlayer.ico", "Data/CdPlayer.ico")
    AddPackFile(0, Path$ + "2DDrawing.pb", "2DDrawing.pb")
    ClosePack(0)
    Debug "Fichier compressé créé avec succès : " + PackFile$
  Else
    Debug "Erreur lors de la création du fichier compressé !"
  EndIf

  Path$ = GetTemporaryDirectory() + "test_a_supprimer/"  ; Chemin d'accès au répertoire dans lequel les fichiers compressés doivent être extraits
  If OpenPack(0, PackFile$)
    If (CreateDirectory(Path$) And CreateDirectory(Path$ + "Data/")) Or FileSize(Path$ + "Data/") = -2
      If ExaminePack(0)
        Debug "Contenu des archives à décompresser :"
        While NextPackEntry(0)
          Debug " - nom : " + PackEntryName(0) + ", taille : " + PackEntrySize(0)
          If UncompressPackFile(0, Path$ + PackEntryName(0), PackEntryName(0)) = -1
            Debug "Erreur : échec de décompression du fichier compressé : " + PackEntryName(0)
          EndIf
        Wend
      Else
        Debug "Erreur lors de l'examen du fichier compressé !"
      EndIf
      ClosePack(0)
    
      RunProgram(PackFile$) ; Ouverture du répertoire contenant les fichiers décompressés
    Else
      Debug "Erreur lors de la création du dossier de décompression de l'archive !"  
    EndIf
  Else
    Debug "Erreur lors de l'ouverture du fichier compressé !"
  EndIf

Voir aussi

OpenPack(), ExaminePack(), NextPackEntry()

OS Supportés

Tous

<- UncompressMemory() - Packer Index - UncompressPackMemory() ->