cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 2021
-
4 déc. 2002 à 19:26
syntaxerror99
Messages postés2Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention 5 mars 2008
-
5 avril 2009 à 08:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
syntaxerror99
Messages postés2Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention 5 mars 2008 5 avril 2009 à 08:52
good job 9/10
threadom
Messages postés101Date d'inscriptionmardi 8 avril 2003StatutMembreDerniè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és101Date d'inscriptionmardi 8 avril 2003StatutMembreDerniè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
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és2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 17 oct. 2006 à 20:56
c'est fait ^^
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 17 oct. 2006 à 20:55
je supprime ta note si tu veux et renote ...
++
threadom
Messages postés101Date d'inscriptionmardi 8 avril 2003StatutMembreDernière intervention 1 novembre 2007 17 oct. 2006 à 20:08
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
threadom
Messages postés101Date d'inscriptionmardi 8 avril 2003StatutMembreDernière intervention 1 novembre 2007 17 oct. 2006 à 20:00
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 ;)
cs_Ouneufe
Messages postés60Date d'inscriptionmardi 4 septembre 2001StatutMembreDernière intervention19 janvier 2009 13 août 2003 à 15:50
il faut sélectionner un fichier compressé avant de décompresser
coolcrash
Messages postés24Date d'inscriptiondimanche 3 décembre 2000StatutMembreDernière intervention 3 février 2003 8 déc. 2002 à 05:42
oui cela est supposé être possible, j'utilise la librairie zlib, sa crée des extension du .gzip si je ne me trompe.
chitboy
Messages postés6Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention 7 mars 2003 7 déc. 2002 à 01:12
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, ...?)
coolcrash
Messages postés24Date d'inscriptiondimanche 3 décembre 2000StatutMembreDernière intervention 3 février 2003 6 déc. 2002 à 20:00
Moi non plus, qu'es ce que tu a voulu compressé ?
le programme marche très bien
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 4 déc. 2002 à 19:26
ca me dis memoire insuffisante ...
Avec 450 Mo de RAM et 28 Go de libre je pige pas là ...
5 avril 2009 à 08:52
28 oct. 2006 à 15:44
17 oct. 2006 à 22:47
' 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
17 oct. 2006 à 20:56
17 oct. 2006 à 20:55
++
17 oct. 2006 à 20:08
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
17 oct. 2006 à 20:00
Ha ouai heu tu pourrais ptet modifier pour mettre l'extension en gzip ;)
13 août 2003 à 15:50
8 déc. 2002 à 05:42
voici un site de référence http://www.gzip.org/zlib/
7 déc. 2002 à 01:12
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, ...?)
6 déc. 2002 à 20:00
le programme marche très bien
4 déc. 2002 à 19:26
Avec 450 Mo de RAM et 28 Go de libre je pige pas là ...