IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

compression fichiers


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 27
    Par défaut compression fichiers
    Je dois faire une appli, pour un serveur, qui compresse automatiquement, à une certaine heure, les copies de fichiers qu'il a reçu dans la journée.
    J'ai beau faire des recherches, j'ai du mal à me faire une idée de l'algo à réaliser.
    Quelqu'un aurait-il un exemple d'algo de compression? Je dois utiliser Zlip
    Merci beaucoup.

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2002
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 70
    Par défaut
    Algo à réaliser ?

    Si tu utilises des composants l'algo doit être déjà écrit non ?

    Au pire, regarde la librairie TZlib fourni avec Delphi.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 27
    Par défaut
    SI tu préfère, y'aurait-il un exemple d'algo utilisant Zlip?

  4. #4
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 27
    Par défaut
    pardon, Zlib

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2002
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 70
    Par défaut
    Pour compresser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    procedure CompressFile(Filename:string;FileDestination:string);
    var
       zip:TCompressionStream;
       zsSrc:TFileStream;
       zsDest:TFileStream;
    begin
       zsSrc := TFileStream.Create(Filename,fmOpenRead);
       zsDest := TFileStream.Create(FileDestination,fmCreate);
       zip := TCompressionStream.Create(clMax,zsDest);
       try   
          zip.CopyFrom(zsSrc,zsSrc.size);
       finally
          FreeAndNil(zip);
          FreeAndNil(zsSrc);
          FreeAndNil(zsDest);
       end;
    end;
    Pour décompresser (moins évident celui-la):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    procedure DecompressFile (zipFile:string; FileDestination:string);
    var
       zip:TDecompressionStream;
       zsSrc:TFileStream;
       zsDest:TFileStream;
       Buffer: array [0..4095] of byte;
       iSize:integer; 
    begin
       zsSrc := TFileStream.Create(zipFile,fmOpenread);
       zip := TDecompressionStream.Create(zsSrc);
       zsDest := TFileStream.Create(FileDestination,fmCreate);
     
       try
          iSize := 4096;
          while iSize > 0 do
          begin
             iSize := zip.Read(Buffer[0], 4096);
             if iSize > 0 then
                zsDest.Write(Buffer[0], iSize);
          end;
       finally
          FreeAndNil(zip);
          FreeAndNil(zsSrc);
          FreeAndNil(zsDest);
       end;
    end;
    Voilà

    P.S. n'oublie pas de rajouter la librairie dans les uses.

  6. #6
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut A ajouter à la FAQ
    Je propose d'ajouter ceci à la FAQ.

    Justement je me demandais si Delphi managé les fichiers zip.

    Beaucoup de recherche pour arriver ici

  7. #7
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    JCL Compression :
    http://sourceforge.net/projects/jcl/
    (trés complet)

    Turbo Power Abrevia :
    http://sourceforge.net/projects/tpabbrevia/
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compression fichier et envoie FTP
    Par TrN44fr dans le forum WinDev
    Réponses: 5
    Dernier message: 07/08/2012, 14h03
  2. Compression fichier javascript
    Par gotcha5832 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 05/08/2010, 05h48
  3. Compression fichiers vides
    Par Dobyan08 dans le forum Linux
    Réponses: 2
    Dernier message: 08/06/2006, 13h21
  4. [info] compresser fichier...?
    Par doudine dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 06/01/2005, 14h53
  5. Compresser et decompresser un ensemble de fichier
    Par Walm dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/01/2004, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo