21.01.2023, 14:43
|
Новичок
|
|
Регистрация: 15.05.2013
Сообщения: 74
Версия Delphi: 7/10.4
Репутация: 12
|
|
Код:
procedure decompress;
var
s_dec:TDecompressionStream;
s_in,s_out:TMemoryStream;
const block=64;
offset=8;
begin
s_in:=TMemoryStream.Create;
s_out:=TMemoryStream.Create;
s_in.LoadFromFile('test.bin');
repeat
s_in.Position:=s_in.Position+offset;
s_dec:=TDecompressionStream.Create(s_in);
if s_in.Position+block<=s_in.Size then
s_out.CopyFrom(s_dec,block)
else
s_out.CopyFrom(s_dec,s_in.Size-s_in.Position-offset);
s_dec.Free;
until s_in.Position>=s_in.Size;
s_out.SaveToFile('decompress.bin');
s_in.Free;
s_out.Free;
end;
|