Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Почему у меня результат упаковки zLib ом не открывается Winzip?   Найти похожие ветки 

 
Aleksandr.   (2005-01-31 15:31) [0]

В кои-то веки решил переползти с TVclZip на встроенный в Делфу zLib, сделал для теста так:

var
 L     : TSearchFileList;
 zDest : TFileStream;
 zSrc  : TFileStream;
 zL    : zlib.TCompressionStream;
 Buf   : array of byte;
begin
 L:=TSearchFileList.Create;
 try
   if SearchFiles(L,"C:\Test\*.apd") then begin
     zDest:=TFileStream.Create("C:\Test\000.zip",fmCreate);
     zL:=TCompressionStream.Create(clDefault,zDest);
     try
       while L.Count>0 do begin
         SetLength(Buf,0);
         zSrc:=TFileStream.Create(L.Items[0].FullFileName,fmOpenRead OR fmShareDenyNone);
         try
           SetLength(Buf,zSRC.Size);
           zSrc.Read(Buf[0],length(Buf));
           zDest.Seek(0,soEnd);
           ZL.Write(Buf[0],length(Buf))
         finally
           zSRC.Free
         end;
         L.Delete(0)
       end
     finally
       zL.Free;
       zDest.Free
     end
   end
 finally
   L.Free
 end


Вроде пакует все, но полученный в итоге файл не открывается ни WinZip ни чем другим. Что тут не так?


 
Aleksandr.   (2005-01-31 15:36) [1]

Епрст... конечно, не понимают, я же пачку файлов загоняю, а не один. Только как ему указать, что файлов-то - несколько?


 
Digitman ©   (2005-01-31 15:50) [2]


> как ему указать, что файлов-то - несколько?


никак.

выходной формат zLib-компрессора не соответствует формату ZIP-архива


 
wicked ©   (2005-01-31 17:11) [3]


> выходной формат zLib-компрессора не соответствует формату
> ZIP-архива

можно заставить, чтоб соответствовал... для этого нужно хитро проинициализировать компрессор - передать параметр windowBits в deflateInit2/inflateInit2 отрицательное число, например, стандартное -15...
как эта фича завернута в delphi - не знаю...



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
6-1101805234
User1
2004-11-30 12:00
2005.02.13
Socket.ReceiveBuf


14-1106408181
Artvz
2005-01-22 18:36
2005.02.13
Кто нибудь знает ресурс посвящённый алгоритмам и разработке


1-1107174744
ТехникПТО
2005-01-31 15:32
2005.02.13
Маленькая проблема


3-1105992277
Knight
2005-01-17 23:04
2005.02.13
Вопрос по SQL - FB


14-1106449696
Думкин
2005-01-23 06:08
2005.02.13
С Днем рождения! 23 января