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.
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
Curtir tópico
+ 0
Responder
Posts
30/05/2006
Marcio.theis
Quem sabe lhe ajuda:
http://forum.clubedelphi.net/viewtopic.php?t=60429
http://forum.clubedelphi.net/viewtopic.php?t=60429
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)