Compression avec zlib

Soyez le premier à donner votre avis sur cette source.

Vue 11 056 fois - Téléchargée 1 903 fois

Description

Facile de compressé quand on sait comment

ce code n'est pas de moi mais comme je l'ai chercher très longtemps je vous le met disponible a tous

Compatible Vb6.0 non testé avec Vb5.0

Source / Exemple :


Voir le zip car vous avez besoin de Zlib.dll qui est inclu dans le zip

Bonne Chance

Conclusion :


Pour plus d'info sur Zlib aller sur http://www.gzip.org/zlib

Codes Sources

A voir également

Ajouter un commentaire Commentaires
syntaxerror99 Messages postés 2 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 5 mars 2008
5 avril 2009 à 08:52
good job 9/10
threadom Messages postés 101 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 1 novembre 2007
28 oct. 2006 à 15:44
Bon ok j'ai rien dit ... devoir mémoriser la taille de mes données d'entrée ... ca me convient pas trop mais pas grave je vais le faire :D
threadom Messages postés 101 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 1 novembre 2007
17 oct. 2006 à 22:47
Merci j'ai mis le 10 :) tiens j'ai rajouté ce qui me manquais au passage.

' Decompression d'un fichier dans un tableau de "byte"
' Decompress a file in a byte Array
Public Function DecompressFileToByteArray(ByVal FilePathIn As String, ByRef TheData() As Byte) As Long
Dim intNextFreeFile As Integer
Dim lngResult As Long
Dim lngFileLen As Long

ReDim TheData(FileLen(FilePathIn))

' Read byte array from file
' Lire le fichier d'entré dans un tableau de "byte"
intNextFreeFile = FreeFile
Open FilePathIn For Binary Access Read As #intNextFreeFile
Get #intNextFreeFile, , lngFileLen ' the original (uncompressed) file's length
Get #intNextFreeFile, , TheData() ' lngFileLen : La taille original du fichier décompresser.
Close #intNextFreeFile

' Decompress
' Decompression du tableau de "byte"
DecompressFileToByteArray = DecompressByteArray(TheData(), lngFileLen)
End Function

' Compression d'un tableau de "byte" dans un fichier
' Compress a byte array in a file
Public Function CompressByteArrayToFile(ByRef TheData() As Byte, ByVal FilePathOut As String, ByVal CompressionLevel As Integer) As Long
Dim intNextFreeFile As Integer
Dim lngResult As Long
Dim lngFileLen As Long

' On met en mémoire le taille du tableau de "Byte" décompresser
lngFileLen = UBound(TheData)

' Compression du tableau de byte
' Compress byte array
CompressByteArrayToFile = CompressByteArray(TheData(), CompressionLevel)

' Efface le fichier de sortie
' Kill any file in place
On Error Resume Next
Kill FilePathOut
On Error GoTo 0

' Ecrit le tableau de "byte" dans le fichier de sortie
' Write it out
intNextFreeFile = FreeFile
Open FilePathOut For Binary Access Write As #intNextFreeFile
Put #intNextFreeFile, , lngFileLen ' must store the length of the original (uncompress) byte array
Put #intNextFreeFile, , TheData() ' lngFileLen : doit contenir la du tableau de "Byte" décompresser
Close #intNextFreeFile

' Attention : le tableau de "byte" n'est pas désalouer
' Warning : the byte array is not desallocate
' Erase TheBytes
End Function



Et en ce qui concerne l'utlisation :
Exemple pour la compression :

ReDim TheByte(255)
For i = 0 To 255
TheByte(i) = 255
Next i
CompressByteArrayToFile TheByte, "test", 9

Et .... Exemple pour la décompression :

ReDim TheByte(0)
DecompressFileToByteArray "test", TheByte

Voila.
Ha et si vous compté test sur quelque ligne comme moi pour etre sur de vous mettez "Erase TheByte" entre les deux
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 oct. 2006 à 20:56
c'est fait ^^
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 oct. 2006 à 20:55
je supprime ta note si tu veux et renote ...

++
Afficher les 12 commentaires

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.