Главная страница
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.024 c
1-1106837691
novice_man
2005-01-27 17:54
2005.02.13
Динамическая библиотека и указатель.


1-1106912574
Толян
2005-01-28 14:42
2005.02.13
Возможности Delphi


1-1107084373
ТехникПТО
2005-01-30 14:26
2005.02.13
Вопрос по ListBox у


14-1106244642
netnetnetnet
2005-01-20 21:10
2005.02.13
Физика


4-1103660674
Shamansky
2004-12-21 23:24
2005.02.13
кодирование информации