PureZIP 1.92

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

PureZIP 1.92

Message 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
Dernière modification par gnozal le lun. 27/août/2007 10:57, modifié 1 fois.
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Probleme de pureZip avec les exe

Message 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" :(
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Probleme de pureZip avec les exe

Message 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 ?
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message 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.
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message 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().
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message par SpaceMan »

Merci de m'éclairer cher maître. :)
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Ajout de dossier

Message 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)
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Ajout de dossier

Message 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)
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message 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.
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message 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
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message 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:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message 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().
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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 ?
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message 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...
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Répondre