Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMPRESSION AVEC ZLIB


Information sur la source

Catégorie :Compression & Split Niveau : Initié Date de création : 16/01/2002 Date de mise à jour : 16/01/2002 22:45:09 Vu / téléchargé: 7 934 / 1 521

Note :
8,2 / 10 - par 5 personnes
8,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

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

  • Voir le zip car vous avez besoin de Zlib.dll qui est inclu dans le zip
  • Bonne Chance
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

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de PaTaTe le 04/12/2002 19:26:03

ca me dis memoire insuffisante ...

Avec 450 Mo de RAM et 28 Go de libre je pige pas là ...

signaler à un administrateur
Commentaire de coolcrash le 06/12/2002 20:00:11

Moi non plus, qu'es ce que tu a voulu compressé ?

le programme marche très bien

signaler à un administrateur
Commentaire de chitboy le 07/12/2002 01:12:35

C'est peut etre une question conne.
Mais je voudrais savoir s'il est possible de decompresser le fichier (compressé avec ton application) avec un autre logiciel que ton appli. De plus, quelle est la reelle extension du fichier? (ce n'est ni zip, gz, ...?)

signaler à un administrateur
Commentaire de coolcrash le 08/12/2002 05:42:17

oui cela est supposé être possible, j'utilise la librairie zlib, sa crée des extension du .gzip si je ne me trompe.

voici un site de référence http://www.gzip.org/zlib/

signaler à un administrateur
Commentaire de Ouneufe le 13/08/2003 15:50:34

il faut sélectionner un fichier compressé avant de décompresser

signaler à un administrateur
Commentaire de threadom le 17/10/2006 20:00:40

Heureusement qu'on note pas la form :) sinon merci pour le module je vais faire quelque modif mais ca va me servir je pense ... :) l'inconvénient c'est que j'aimerais décompresser mon fichier en mémoire pour ne pas avoir de repertoire temporaire a créer ...

Ha ouai heu tu pourrais ptet modifier pour mettre l'extension en gzip ;)

signaler à un administrateur
Commentaire de threadom le 17/10/2006 20:08:56

Oula oula j'ai rien dis parfais parfais :)

Public Function DecompressByteArray(TheData() As Byte, OriginalSize As Long) As Long

Ca devrais me convenir :) SMACK

Je vais voir si je peu pas changé pour remettre un ptit 10

signaler à un administrateur
Commentaire de sheorogath le 17/10/2006 20:55:18 administrateur CS

je supprime ta note si tu veux et renote ...

++

signaler à un administrateur
Commentaire de sheorogath le 17/10/2006 20:56:30 administrateur CS

c'est fait ^^

signaler à un administrateur
Commentaire de threadom le 17/10/2006 22:47:50

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

signaler à un administrateur
Commentaire de threadom le 28/10/2006 15:44:39

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

signaler à un administrateur
Commentaire de syntaxerror99 le 05/04/2009 08:52:42 9/10

good job 9/10

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.