HELP ! probleme dans une fct pour compression

Signaler
Messages postés
34
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
25 août 2007
-
cs_coq
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,
j'ai un probleme vraiment urgent !

voila je cherche une fonction qui me permet de compresser un fichier en un fichier , j'utilise les deux fonctions pour compresser et decompresser des fichiers qui sont dans cette faq:

http://dotnet.developpez.com/faq/cppcli/?page=compression#compressfilegzip

ca marche pour des fichiers .txt, .doc, .pdf

 

mais
quand je l utilise pour des fichier Catia et excel je compresse et je
decompresse , quand je veux ouvrir le resultat de la décompression, il
me dit fichier corrompu et qu il peut pas ouvrir !

 

est ce que quelqu'un pourrait m'aider ? ou si quelqu'un a d autres méthodes pour compresser des fichiers ?

 

merci

13 réponses

Messages postés
33
Date d'inscription
dimanche 15 mai 2005
Statut
Membre
Dernière intervention
14 janvier 2016
2
salut, le liens que tu viens de fournir, c'est pour C++, mais je sais pas si tu as due le voir, il y en a un aussi pour CSharp et VB.Net ^^
=> http://webman.developpez.com/articles/dotnet/gzip/csharp/

Logiquement, ça fonctionne pour tout type de fichier, qu'il soit texte ou binaire et pour un seul fichier.
Messages postés
34
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
25 août 2007
1
oui j'ai mis ma question ici parce que je travaille avec le c++ managé(meme que c#) mais le pb c ke ca marche pour des doc pdf.. mais les fichiers catia et aussi xcel non je sais pas pourquoi?!
Messages postés
34
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
25 août 2007
1
j'ai remarqué que entre le fichier original et le fichier après decompression il y a un bit de difference
je pris un exemple :

pour le fichier original : Taille 66,7 KB(68.303 Bytes)
fichier après decomp : Taille 66,7 KB(68.302 Bytes)

est ce que c'est normal ?
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
76
Pas un bit, mais un octet, donc 8 bits
Et non, ça n'est probablement pas normal.
Utilises un éditeur hexa et regarde ce qui manque (logiquement, il s'agira sans doute du premier ou du dernier octet).

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
34
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
25 août 2007
1
c bon j'ai trouvé il perd un octet à la fin , je l'ai récuperer ...merci
mais ce code je l'ai trouvé dans une faq de microsoft donc je croyé que c'était sur !!!
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
76
ha ? laquelle ?

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
34
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
25 août 2007
1
http://webman.developpez.com/articles/dotnet/gzip/csharp/

c'est dans cette faq ..
j'ai changé cette ligne :
// Ecriture des données décomrpessées dans le fichier
monFileStream.Write(buffer, 0, tailleFichier - 1);

en
// Ecriture des données décomrpessées dans le fichier
monFileStream.Write(buffer, 0, tailleFichier);
et ca marche !
Messages postés
34
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
25 août 2007
1
sur la msdn mais j'arrive pas à trouver mais c est le meme code que ici:
http://webman.developpez.com/articles/dotnet/gzip/csharp/
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
76
Cette FAQ n'est pas maintenue par Microsoft.
Tu devrais discuter du problème avec l'auteur, qu'il puisse corriger si nécessaire :-)

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
76
As tu regardé aussi cet exemple là ? : http://msdn2.microsoft.com/fr-fr/library/ywf6dxhx(VS.80).aspx

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
33
Date d'inscription
dimanche 15 mai 2005
Statut
Membre
Dernière intervention
14 janvier 2016
2
Il est pas mal comme exemple, moi qui en cherchait un depuis quelque temps... enfin il y en a mais niveaux compréhension, j'étais à la ramasse, là c'est plus clair ^^

J'ai fait quelque chose de similaire mais en utilisant Lzma au lieu de GZip, pour la liste des fichiers compacter, j'utilise le sérialisation
 le résultat est le même, mais ça génère pas mal de soucis ( bugs, plantage ou autre ... Archive => Poubelle ) sans parler de la ressource que ça peut prendre ...
( cf : Compression / Decompression Lzma multi-fichier )

C'est du hors-sujet par rapport au problème de ryoussef19, mais bon ton lien m'a aidé, merci coq ;-)
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
76
lol, de rien

/*
coq
MVP Visual C#
CoqBlog
*/