Bonjour,

J'utilise le code suivant pour un automate qui compresse les fichiers contenus dans un repertoire :

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
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;

J'accede à la fonction apres un parcours des fichiers du repertoire et par l'appel à deux fonctions :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
CompressFile(Filename, Filename+'.zip');
          suppr:=DeleteFile(Filename);
Tout semble bien se passer puisque dans mon repertoire les fichiers sont bien compressé en .zip.

Malheureusement quand j'essai de les ouvrir avec Winrar ou Winzip les archives ne sont pas lisibles...


Message de Winrar :
Aucune archive trouvée
Message de Winzip :
Ne peut ouvrir le fichier. Il ne semble pas être un zip valide

Quelqu'un saurait-il ou j'ai merdé?