[Résolu] OpenPack : Ajout de fichiers

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

[Résolu] OpenPack : Ajout de fichiers

Message par falsam »

Si CreatePack() permet d'ajouter un ou plusieurs fichiers, apparemment ce n'est pas le cas avec la fonction OpenPack().

Code test

Code : Tout sélectionner

Define ZipfileName.s = "test.zip" 
Define FileName.s = #PB_Compiler_Home + "Examples/3d/Data/Textures/caisse.png"

UseZipPacker()

; Création d'un fichier compressé vide
If CreatePack(0, ZipfileName, #PB_PackerPlugin_Zip)
  ClosePack(0)
EndIf

; Ajout de fichier 
;If OpenPack(0, ZipfileName, #PB_PackerPlugin_Zip)
If CreatePack(0, ZipfileName, #PB_PackerPlugin_Zip)
  AddPackFile(0, FileName, GetFilePart(FileName))
  ClosePack(0)
Else
  Debug "oops erreur ouverture"
EndIf

; Vérification
If OpenPack(0, ZipfileName) 
  If ExaminePack(0)
    While NextPackEntry(0)
      Debug "Name: " + PackEntryName(0) + ", Size: " + PackEntrySize(0)
    Wend
  EndIf
  ClosePack(0)
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: OpenPack : Ajout de fichiers

Message par Marc56 »

Si CreatePack() permet d'ajouter un ou plusieurs fichiers, apparemment ce n'est pas le cas avec la fonction OpenPack().
Oui, mais c'est dit dans la doc :wink:
AddPackFile()

Ajoute et compresse un fichier dans une archive préalablement créée avec CreatePack().
Je pense que c'est voulu car ajouter ou modifier des fichiers dans une archive demande beaucoup plus d'opérations.
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: OpenPack : Ajout de fichiers

Message par venom »

Si non, il faut scanner l'archive, et la re créer avec tes fichiers en plus.






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: OpenPack : Ajout de fichiers

Message par falsam »

venom a écrit :Si non, il faut scanner l'archive, et la re créer avec tes fichiers en plus.
C'est une solution qui ne me convient pas car elle oblige à créer tous les fichiers avant de les enregistrer à nouveau dans une nouvelle archive .....
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: OpenPack : Ajout de fichiers

Message par venom »

Je suis d'accord avec toi. Puis sur de la petite archive ça va, mais sur de la grosse archive ça devient gourmand en temps d'exécution. :?






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: OpenPack : Ajout de fichiers

Message par Marc56 »

Pour les fonctions plus élaborées, j'utilise 7zip en tache de fond.
(Ligne de commande 7z.exe ou ligne de commande avec interface graphique de suivi 7zG.exe)

https://www.purebasic.fr/english/viewto ... 45#p505545

:wink:
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: OpenPack : Ajout de fichiers

Message par venom »

Oui, après il y a bien la solution de la ligne de commande. Mais c'est dommage que Purebasic ne l'intègre pas a sa bibliothèque de compression. Je pense que falsam voulait en venir là.






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: OpenPack : Ajout de fichiers

Message par Marc56 »

En attendant une éventuelle mise à jour de la lib packer, Thorsten1867 a fait un PBI
https://www.purebasic.fr/english/viewto ... 12&t=69369

Extended Packer Library
- Adding files/storage buffers to an existing archive (otherwise: only with CreatePack)
- Replace an existing file in the archive (otherwise: duplicate)
- Delete files from the archive
- Reading archive information into the map ZIP::Info() with file names as key
- Use of further PackerPlugins (ZIP by default) possible
- File container to store compressed files or documents of a program.
- Password support for archives and file containers through file encryption

(Pas testé)
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: OpenPack : Ajout de fichiers

Message par falsam »

Marc merci pour ce lien que je vais tester. Sujet résolu merci pour votre participation à ce sujet.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre