Compression de fichier avec zlib et bz2

Soyez le premier à donner votre avis sur cette source.

Vue 19 494 fois - Téléchargée 2 324 fois

Description

Ce source présente l'utilisation de la librairie zLib, fournie avec Delphi, pour compresser un fichier... Je me suis pour l'instant limité à la compression d'un fichier, mais je vais essayer de faire, le plus rapidement possible, une gestion de plusieurs fichiers dans le même fichier compressé, et bien sûr la décompression...

-> Ajout d'un deuxième projet contenant la librairie de compression bz2 et le programme qui va avec, qui est une adaptation de mon prog d'origine faite par bgK !!
La compression bz2 est nettemet meilleure que la gz... Mais aussi plus longue !
Voir le test dans l'unité frmPrinc.pas

Source / Exemple :


Dans le ZIP, comme d'hab' !!!

Conclusion :


Pas de bug connu pour l'instant... A suivre pour un programme complet !!

Merci bgK pour ton adaptation !!

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
22 mars 2005 à 00:46
voui ce problème a été résolu dans une source suivante je crois bien ! :o)

Merci de ton post ! ^^

Bonne prog',
Bestiol.
GordoCabron Messages postés 29 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 14 mars 2007
21 mars 2005 à 16:12
salut pour la decompression il faut prendre soin d'ecrire la taille a la compresion
//------------------------------------------------------------------
// compression
//------------------------------------------------------------------
Source.Seek(0,soFromBeginning);
taille:=Source.Size;
Destination.Write(taille,sizeof(int64));
CStream := TCompressionStream.Create(clMax,Destination);
CStream.CopyFrom(Source,Source.Size);
CStream.Free;
//------------------------------------------------------------------
// decompression
//------------------------------------------------------------------
Source.Seek(0,soFromBeginning);
Source.Read(taille,sizeof(int64));
DStream := TDecompressionStream.Create(Source);
Destination.CopyFrom(DStream,taille);
DStream.Free;
//------------------------------------------------------------------
a+
cs_yafou Messages postés 8 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 31 août 2004
31 août 2004 à 15:12
sorry je voulez dire que j'aimerai bien faire ça pour plusieur fichier .?
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
15 mai 2003 à 17:12
Pour "mon" prog bz2, c'est bgK qui l'a fait !!
Pour les différences entre les deux types de compression, ce que tu dis es peut-être possible... Mais la source n'est pas mà pour montrer quelle est la meilleure compression !! Elle est plutôt ici pour montrer comment on fait !
Bonne prog' !
petemitchell Messages postés 1 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 15 mai 2003
15 mai 2003 à 16:16
Salut,
Pour la compression de fichier texte, le gz est meilleur que le bz2, étrange quand même ! J'avais déjà fait un prog de compression avec zlib et là encore c'est meilleur que ton prog bz2 ! Les fichiers textes seraient-ils les contres exemples ? :)
Afficher les 20 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.