Page 1 sur 4

PureZIP 1.92

Publié : mer. 25/juil./2007 13:36
par gnozal
Pour info, la nouvelle version de PureZIP devrait supporter les noms de fichiers non anglais avec accents 'é', tremas 'ü', etc ...

http://www.purebasic.fr/english/viewtopic.php?t=15322

Probleme de pureZip avec les exe

Publié : jeu. 16/août/2007 15:46
par SpaceMan
Salut gnozal
j'utilise la dernière version de purezip mais jai des problemes pour lancer les fichiers exécutables commes les setup et les applications. jai souvent ce message d'erreur "nomprogramme n'est pas une application Win32 valide" :(

Re: Probleme de pureZip avec les exe

Publié : ven. 17/août/2007 10:19
par gnozal
SpaceMan a écrit :Salut gnozal
j'utilise la dernière version de purezip mais jai des problemes pour lancer les fichiers exécutables commes les setup et les applications. jai souvent ce message d'erreur "nomprogramme n'est pas une application Win32 valide" :(
Désolé, je ne comprends pas le rapport entre 'lancer les fichiers exécutables' et PureZIP ...
Un petit bout de code ?

Publié : ven. 17/août/2007 16:38
par SpaceMan
excuse moi je me suis mal exprimé.
je voulais dire qu'après compression les fichiers exécutables ne fonctionnent plus. voici le code

Code : Tout sélectionner

nom_archive.s = "E\monZip.zip"
compression.s = "E:\TBXP\*.*"
PureZIP_AddFiles(nom_archive,compression , #PureZIP_StorePathRelative ,#PureZIP_Recursive)
;PureZIP_SetCompressionAlgorithm(#Z_NO_COMPRESSION)
PureZIP_Archive_Close()
en supposant que dans le dossier "E:\TBXP\" se trouvent plusieurs exécutables.

Publié : ven. 17/août/2007 17:38
par gnozal
Ton code est faux.
PureZIP_Archive_Create() et PureZIP_Archive_Close() servent à ouvrir / fermer un fichier en association avec les fonctions PureZIP_Archive_*().
Il ne faut pas les utiliser avec les autres fonctions.

Dans ton code, PureZIP_Archive_Close() est de trop.
Essaie voir sans.

Code : Tout sélectionner

nom_archive.s = "E\monZip.zip" 
compression.s = "E:\TBXP\*.*" 
PureZIP_AddFiles(nom_archive,compression , #PureZIP_StorePathRelative ,#PureZIP_Recursive)
Note : si tu utilises PB4.00, il faut upgrader à PB4.02 (ou PB4.10), car PB4.00 avait un gros bug dans la bibliothèque FILE relatif à la fonction Lof().

Publié : ven. 17/août/2007 22:51
par SpaceMan
Merci de m'éclairer cher maître. :)

Ajout de dossier

Publié : sam. 25/août/2007 13:07
par SpaceMan
Salut gnozal
j'utilise cette procedure pour Archiver le contenu du dossier Temp mais je voudrais plutôt ajouter le dossier et son contenu à l'archive.
exemple

Code : Tout sélectionner

C:\Temp\
         --->PB\; se trouve dans Temp et contient les 2 dossiers ci dessous
                      mondoc.doc
                      Previsions.xls
         --->Free.LIB;se trouve dans C:\Temp\
         --->Compressor.pb;se trouve dans C:\Temp\

Code : Tout sélectionner

Procedure Add2ZIP(Chemin.s, Fichiers.s) 
  Protected Rep.l, entre.s
  If Not Right(Chemin, 1) = "\" : Chemin+"\" : EndIf 
  If Not Right(Fichiers, 1) = "\" : Fichiers+"\" : EndIf 
  Debug Chemin
  Rep = ExamineDirectory(#PB_Any, Chemin, "") 
  If Rep 
    While NextDirectoryEntry(Rep) 
      entre = DirectoryEntryName(Rep)  
      If entre = "." Or entre = ".." 
        Continue 
      ElseIf DirectoryEntryType(Rep) = #PB_DirectoryEntry_File 
        PureZIP_Archive_Compress(RemoveString(Chemin+entre, Fichiers), #True) 
        Debug "ZIP: "+RemoveString(Chemin+entre, Fichiers)+" ("+Str(FileSize(Chemin+entre))+")" 
      Else 
        Add2ZIP(Chemin+entre+"\", Fichiers) 
      EndIf 
    Wend 
    FinishDirectory(Rep) 
  EndIf 
EndProcedure

Archive$ = "C:\Archive.zip" 
RepSource$ = "C:\Temp\" 
;SetCurrentDirectory_(@RepSource$) 

If PureZIP_Archive_Create(Archive$, #APPEND_STATUS_CREATE) 
  Add2ZIP(RepSource$, RepSource$)
  PureZIP_Archive_Close() : CloseWindow(Window_0)
EndIf
je vousdrais utiliser la procedure pour ajouter le dossier temp à l'archive(et tout son contenu)

Re: Ajout de dossier

Publié : lun. 27/août/2007 8:51
par gnozal
SpaceMan a écrit :Salut gnozal
j'utilise cette procedure pour Archiver le contenu du dossier Temp mais je voudrais plutôt ajouter le dossier et son contenu à l'archive.
Pour ajouter tout un répertoire et son contenu à une archive, on peut utiliser ceci :
PureZIP_AddFiles("c:\Archive.zip", "c:\temp\*.*", #PureZIP_StorePathRelative, #PureZIP_Recursive)

Publié : lun. 27/août/2007 16:23
par SpaceMan
gnozal
Pour ajouter tout un répertoire et son contenu à une archive, on peut utiliser ceci :
PureZIP_AddFiles("c:\Archive.zip", "c:\temp\*.*", #PureZIP_StorePathRelative, #PureZIP_Recursive)
justement je n'ai pas le repertoire et son contenu mais j'ai plutot dans l'archive le contenu du dossier Temp(repertoire) et je voudrais utiliser la procedure ci haut qui fais la meme chose que la fonction PureZIP_AddFiles()
c'est le dossier avec son contenu qui doivent etre dans l'archive.

Publié : mar. 28/août/2007 16:20
par gnozal
SpaceMan a écrit :gnozal
Pour ajouter tout un répertoire et son contenu à une archive, on peut utiliser ceci :
PureZIP_AddFiles("c:\Archive.zip", "c:\temp\*.*", #PureZIP_StorePathRelative, #PureZIP_Recursive)
justement je n'ai pas le repertoire et son contenu mais j'ai plutot dans l'archive le contenu du dossier Temp(repertoire) et je voudrais utiliser la procedure ci haut qui fais la meme chose que la fonction PureZIP_AddFiles()
c'est le dossier avec son contenu qui doivent etre dans l'archive.
http://www.purebasic.fr/english/viewtopic.php?t=28545

Publié : mar. 28/août/2007 23:20
par SpaceMan
Merci pour cette réponse
mais je crois que tu m'as mal compris donc j'ai reposé la question
en fait j'ai un dossier "temp" contenant un fichier exo.xls
je veux ajouter ce dossier à l'archive. Alors que pureZip ajoute seulemnt le fichier exo.xls 8O
donc je voudrais utiliser la procedure ci haut pour le faire
Merci de m'accorder du temps que tu n'en as pas je sais :wink:

Publié : ven. 23/nov./2007 13:57
par Backup
@ Gnozal :)

bien ta lib !! :D

cependant il manque un element essentiel !! :D

le BREAK !! en effet si au moment de la compression d'un GROS dossier
l'utilisateur de mon prg de backup, veux arreter la compression parcequ'il trouve cela tros long par exemple, il n'existe aucun moyen d'arrêter ta procedure PureZIP_AddFiles c'est balot quand meme :lol:

si tu m'ajoute ça, ce sera Noel :D

Publié : ven. 23/nov./2007 16:03
par gnozal
Dobro a écrit :le BREAK !! en effet si au moment de la compression d'un GROS dossier
As-tu essayé PureZIP_SetCompressionCallback() ?
PureZIP_SetCompressionCallback(*ProcedureAddress)

Set PureZIP (de)compression callback address.
The callback is called in realtime during compression or decompression.

Procedure MyCallback(FileName.s, Progression.f)
; FileName : current processed file (if applicable)
; Progression : progression percentage)
ProcedureReturn #False
; ProcedureReturn #True to stop the compression
EndProcedure

Returned value [only for PureZIP_Archive_Compress() and PureZIP_Archive_Extract()]
#FALSE : compression / extraction continues
#TRUE : compression / extraction stops !
PureZIP_Archive_Compress() and PureZIP_Archive_Extract() returns #PureZIP_CallbackStop error
Mais il faut utiliser PureZIP_Archive_Compress().

Publié : ven. 23/nov./2007 17:08
par Backup
suite a une mauvaise utilisation de PureZIP_Archive_Compress()

apres la compression d'un gros dossier, j'ai jamais vu le resultat !!
mais le pire, c'est que depuis, mon windows deconne grave !!

lorsque je clique sur une *.exe

la console Dos se lance, puis se ferme aussitôt puis plus rien !! :?
les executables ne se lance plus sur mon system.. :?
mis a part les raccourcis qui sont sur mon bureau
et dans le menu demarré !!

lorsque je lance japbe en direct il ne se lance plus
par contre si je lance par le raccourci ça marche ..
mais impossible de choisir un theme (ça m'a remis le theme par defaut !!)
si je clique sur les theme rien ne change !!
Meme apres une réinstallation de japbe !! :?

je suis mal, je suis mal ....

et ceux meme apres reboot
et meme apres derniere config valable ...

connaissez vous un utilitaire qui puis mettre de l'ordre dans mon system ?

Publié : ven. 23/nov./2007 18:02
par Jacobus
As tu essayé de voir où ton fichier compressé a été créé? Si ta manip s'est faite lors d'une compile, regarde dans le code si tu avais mis un chemin valide pour ton archive compressée. Ton problème vient peut-être de là.

Essayes de faire une recherche de l'archive normalement créée quelque part sur ton système.

Sinon, côté utilitaire, je te conseillerai TuneUp Utilities qui peut corriger pas mal d'erreurs système et même le registre. Cela fait quelques années que je m'en sers sans problème. Il m'a même sauvé mon Win Me, c'est pour dire...