使用7z压缩解压数据
2010-09-10 15:01
471 查看
1、下载sevenzip.pas,添加到lib路径
2、把7z.dll复制到你工程的目录下
3、例子代码
procedure Encode_7z( Source:TStream;Dest:TStream );
var
Arch: I7zOutArchive;
tmsStream:TMemoryStream;
begin
Arch := CreateOutArchive(CLSID_CFormat7z);
Arch.AddStream( Source, soReference, faArchive, CurrentFileTime, CurrentFileTime, '1.bmp', false, false);
SetCompressionLevel(Arch, 5);
Arch.SaveToStream(Dest);
end;
procedure Decode_7z( Source:TStream;Dest:TStream );
var
i:Integer;
tmsStream:TMemoryStream;
begin
with CreateInArchive(CLSID_CFormat7z) do
begin
OpenStream( T7zStream.Create( Source,soReference ) );
for i := 0 to NumberOfItems - 1 do
if not ItemIsFolder[i] then
ExtractItem(i, Dest, false);
end;
end;
//压缩
procedure TForm1.btn1Click(Sender: TObject);
var
tfsStream:TFileStream;
tmsStream:TMemoryStream;
begin
tfsStream:=TFileStream.Create('f:/1.bmp',fmOpenRead);
tmsStream:=TMemoryStream.Create;
Encode_7z(tfsStream,tmsStream);
tmsStream.SaveToFile('d:/1.dat.7z');
tfsStream.Free;
tmsStream.free;
end;
procedure TForm1.btn2Click(Sender: TObject);
var
tfsStream:TFileStream;
tmsStream:TMemoryStream;
begin
tfsStream:=TFileStream.Create('d:/1.dat.7z',fmOpenRead);
tmsStream:=TMemoryStream.Create;
Decode_7z(tfsStream,tmsStream);
tmsStream.SaveToFile('d:/1.bmp');
tfsStream.Free;
tmsStream.free;
end;
2、把7z.dll复制到你工程的目录下
3、例子代码
procedure Encode_7z( Source:TStream;Dest:TStream );
var
Arch: I7zOutArchive;
tmsStream:TMemoryStream;
begin
Arch := CreateOutArchive(CLSID_CFormat7z);
Arch.AddStream( Source, soReference, faArchive, CurrentFileTime, CurrentFileTime, '1.bmp', false, false);
SetCompressionLevel(Arch, 5);
Arch.SaveToStream(Dest);
end;
procedure Decode_7z( Source:TStream;Dest:TStream );
var
i:Integer;
tmsStream:TMemoryStream;
begin
with CreateInArchive(CLSID_CFormat7z) do
begin
OpenStream( T7zStream.Create( Source,soReference ) );
for i := 0 to NumberOfItems - 1 do
if not ItemIsFolder[i] then
ExtractItem(i, Dest, false);
end;
end;
//压缩
procedure TForm1.btn1Click(Sender: TObject);
var
tfsStream:TFileStream;
tmsStream:TMemoryStream;
begin
tfsStream:=TFileStream.Create('f:/1.bmp',fmOpenRead);
tmsStream:=TMemoryStream.Create;
Encode_7z(tfsStream,tmsStream);
tmsStream.SaveToFile('d:/1.dat.7z');
tfsStream.Free;
tmsStream.free;
end;
procedure TForm1.btn2Click(Sender: TObject);
var
tfsStream:TFileStream;
tmsStream:TMemoryStream;
begin
tfsStream:=TFileStream.Create('d:/1.dat.7z',fmOpenRead);
tmsStream:=TMemoryStream.Create;
Decode_7z(tfsStream,tmsStream);
tmsStream.SaveToFile('d:/1.bmp');
tfsStream.Free;
tmsStream.free;
end;
相关文章推荐
- 使用7Z开源SDK压缩解压数据(LzmaCompress、LzmaUncompress)
- 使用压缩流压缩和解压数据
- pyhton system 使用7z解压和压缩
- C#中使用7Z进行压缩解压
- 使用boost::iostreams库压缩和解压数据
- 7z格式多卷压缩文件使用winRAR解压…
- 使用zlib实现gzip格式数据的压缩和解压
- 使用zlib实现gzip格式数据的压缩和解压
- [Qt]简单使用 Zlib 库压缩/解压数据
- 在ros中使用zlib解压或者压缩数据该如何配置cmakelists
- linux下安装压缩解压程序7z命令及7z命令的使用
- 使用boost::iostreams库压缩和解压数据
- 7z 命令行使用的压缩和解压的例子及参考内容
- 利用.Net Framework2.0 zip压缩、解压 string 数据
- windows phone使用sharpcompress进行解压压缩文件
- GZipStream 压缩与解压数据
- 安装包(*.exe)使用7z自行解压
- tar、7z(7zip)压缩/解压缩指令的使用
- 高效同步数据的方法及效率测试--边打包边压缩边传输边解压20150105
- 服务器使用Gzip压缩数据,加快网络传输(Java 例子)