AddPackFile()

Syntaxe

Resultat = AddPackFile(#Archive, Fichier$, FichierCompresser$)
Description
Ajoute et compresse un fichier dans une archive préalablement créée avec CreatePack().

Arguments

#Archive L'archive à utiliser.
Fichier$ Le fichier à ajouter à l'archive.
FichierCompresser$ Le nom de fichier à utiliser dans l'archive.

Valeur de retour

Renvoie une valeur non nulle si le fichier a été ajouté avec succès à l'archive.
Si le fichier ne peut pas être compressé, il sera stocké tel quel dans l'archive.

Remarques

L'ajout d'un grand fichier peut prendre un temps assez long.

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 "Fichier compressé créé avec succès : " + PackFile$
        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

CreatePack()

OS Supportés

Tous

<- AddPackDirectory() - Packer Index - AddPackMemory() ->