Compression de fichier avec zlib et bz2

Soyez le premier à donner votre avis sur cette source.

Vue 18 930 fois - Téléchargée 2 259 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
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
voui ce problème a été résolu dans une source suivante je crois bien ! :o)

Merci de ton post ! ^^

Bonne prog',
Bestiol.
Messages postés
29
Date d'inscription
jeudi 16 décembre 2004
Statut
Membre
Dernière intervention
14 mars 2007

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+
Messages postés
8
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
31 août 2004

sorry je voulez dire que j'aimerai bien faire ça pour plusieur fichier .?
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
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' !
Messages postés
1
Date d'inscription
jeudi 17 avril 2003
Statut
Membre
Dernière intervention
15 mai 2003

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.