Fórum Erro ao efetuar a descompactação #322404

29/05/2006

0

Peguei o seguinte código para compactação e descompactação:

Insira zLib no Uses da sua Unit...

procedure TForm1.CompressãoClick(Sender: TObject);
var
FileIni, FileOut: TFileStream;
Zip: TCompressionStream;
begin
FileIni:=TFileStream.Create(´C:\pasta\...arquivo a ser comprimido...´, fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create(´C:\pasta\...arquivo comprimido...´, fmCreate or fmShareExclusive);
Zip:=TCompressionStream.Create(clMax, FileOut);
Zip.CopyFrom(FileIni, FileIni.Size);
Zip.Free;
FileOut.Free;
FileIni.Free;
end;

procedure TForm1.DescompressãoClick(Sender: TObject);
var
FileIni, FileOut: TFileStream;
DeZip: TDecompressionStream;
i: Integer;
Buf: array[0..1023]of Byte;
begin
FileIni:=TFileStream.Create(´C:\pasta\...arquivo comprimido...´, fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create(´C:\pasta\...arquivo descomprimido...´, fmCreate or fmShareExclusive);
DeZip:=TDecompressionStream.Create(FileIni);
repeat
i:=DeZip.Read(Buf, SizeOf(Buf));
if i <> 0 then FileOut.Write(Buf, i);
until i <= 0;
DeZip.Free;
FileOut.Free;
FileIni.Free;
end;

Para compactar, funciona beleza e rápido, embora não consiga descompctar com o wwinzip ou winrar.
Ao tentar efetuar a descompactação pelo código acima, o sistema fica em constante processo, chegando a travar.
Existe algum erro neste comando de descompactação ?

Grato pela atenção.


Turbo Drive

Turbo Drive

Responder

Posts

30/05/2006

Marcio.theis

Quem sabe lhe ajuda:
http://forum.clubedelphi.net/viewtopic.php?t=60429


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar