Compresser/décompresser des fichiers zip

Soyez le premier à donner votre avis sur cette source.

Vue 24 078 fois - Téléchargée 3 139 fois

Description

Il s'agit d'une classe et d'un module permettant d'ouvrir un fichier ZIP pour en extraire le contenu ou y ajouter des fichiers. Exemple d'utilisation :

Dim cZip as ccZip
Set cZip = New ccZip

Call cZip.Init "Toto.zip” ' Si le fichier existe il est ouvert, sinon il est créé

Dim lRet as Long

lRet = cZip.AddFile("D:\temp\Titi.txt”)
‘** Ajoute “temp\Titi.txt"

ChDir "d:\temp"
lRet = cZip.AddFile("Titi.txt”)
‘** Ajoute “Titi.txt”
lRet = cZip.AddFile("D:\temp\Titi.txt”, , True)
‘** Ajoute “Titi.txt". Le troisième paramètre indique qu’il ne faut pas prendre en compte le chemin du fichier.

lRet = cZip.Decompress("D:\temp”)
‘** Décompresse tous les fichiers de l’archive dans D:\temp

Dim sName as String
sName = cZip.GetFile(5)
‘** Renvoie le nom (avec son chemin relatif) du 5è fichier de l’archive.

lRet = cZip.Decompress("D:\Temp”, “Toto.txt”)
‘** Décompresse uniquement le fichier Toto.txt dans D:\temp

Pour le reste je vous laisse vous amuser avec, le source est commenté.

Source / Exemple :


Le projet dans l'archive ZIP est le programme de test dont je me suis servis pour débugger la classe. Pour utiliser la classe ccZip, vous devez avoir zip32.dll et unzip32.dll (fournis dans le zip).

Ajoutez le module mDLLProc.bas et la classe ccZip.cls à votre projet pour pouvoir utiliser la classe.

Conclusion :


Je crois qu'il y a un bug avec les chemins réseaux, il faut obligatoirement connecter un lecteur (la dll n'accepte pas les chemins commencant par \\"

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Alain Proviste
Messages postés
910
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1 -
Ouah Brava là je reste bouche-bée... Depuis que j'attendais ça... Franchement... Au début j'étais plutôt incrédule... Puis j'ai regardé... J'ai ouvert le fichier Zip du projet avec ce programme... Mais je me suis dit "il a dut prévoir le coup, en fait c't'une blague..." Puis j'ai ouvert un que je venais de télécharger et là, oh, ça focntionne ( sauf le taux de compréssion, j'ai du mal à voir à quoi il sert... )

Dommage quand même qu'il faille traîner ces deux dlls...

Sinon c'est parfait. 9/10 à cause des dlls.
cs_Alain Proviste
Messages postés
910
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1 -
Ben ouais parce que chez moi le taux il restait à 5 toujours quoi que je fasse...
cs_Alain Proviste
Messages postés
910
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1 -
Ah oui une dernière chose pas de problème avec le réseau :

\Pii-300cWINDOWSBureauzip.zip a parfaitment fonctionné, malgré les doubles slashs...
cs_Klimero
Messages postés
73
Date d'inscription
lundi 2 avril 2001
Statut
Membre
Dernière intervention
12 janvier 2010
-
Content que ca te plaise : ) Si tu veux les sources des dlls je dois les avoir quelque part, c'est fait en Visual C++ et on peut les trouver sur le net, c'est open source et libre de droit.
cs_Alain Proviste
Messages postés
910
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1 -
Ah oui les sources ça m'interesse pas mal...
Si tu peux dire où je peux les trouver ça m'interesse.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.