delphi Zlib 流压缩解压
来源:互联网 发布:电脑为什么连不上网络 编辑:程序博客网 时间:2024/04/28 04:05
http://blog.csdn.net/zhongguoren666/article/details/7077328
var
nTmpStream:TDecompressionStream;
nDestStream:TMemoryStream;
nBuf: array[1..512] of Byte;
nSrcCount: integer;
begin
ASrcStream.Position := 0;
nDestStream := TMemoryStream.Create;
nTmpStream := TDecompressionStream.Create(ASrcStream);
try
repeat
//读入实际大小
nSrcCount := nTmpStream.Read(nBuf, SizeOf(nBuf));
if nSrcCount > 0 then
nDestStream.Write(nBuf, nSrcCount);
until (nSrcCount = 0);
ASrcStream.Clear;
ASrcStream.LoadFromStream(nDestStream);
ASrcStream.Position := 0;
finally
nDestStream.Clear;
nDestStream.Free;
nTmpStream.Free;
end;
end;
procedure CompressionStream(var ASrcStream:TMemoryStream;ACompressionLevel:Integer = 2); //压缩流
var
nDestStream:TMemoryStream;
nTmpStream:TCompressionStream;
nCompressionLevel:TCompressionLevel;
begin
ASrcStream.Position := 0;
nDestStream := TMemoryStream.Create;
try
//级别
case ACompressionLevel of
0:nCompressionLevel := clNone;
1:nCompressionLevel := clFastest;
2:nCompressionLevel := clDefault;
3:nCompressionLevel := clMax;
else
nCompressionLevel := clMax;
end;
//开始压缩
nTmpStream := TCompressionStream.Create(nCompressionLevel,nDestStream);
try
ASrcStream.SaveToStream(nTmpStream);
finally
nTmpStream.Free;//释放后nDestStream才会有数据
end;
ASrcStream.Clear;
ASrcStream.LoadFromStream(nDestStream);
ASrcStream.Position := 0;
finally
nDestStream.Clear;
nDestStream.Free;
end;
end;
- delphi Zlib 流压缩解压
- delphi Zlib 流压缩解压
- Delphi Base64编码/解码及ZLib压缩/解压
- Delphi Base64编码/解码及ZLib压缩/解压
- zlib压缩解压库
- zlib压缩解压
- zlib压缩解压库
- iOS zlib 压缩解压
- Delphi ZLib压缩
- Zlib文件压缩和解压
- Zlib文件压缩和解压
- C++ zlib 压缩解压文件
- Zlib文件压缩和解压
- Zlib文件压缩和解压
- 使用zlib压缩/解压文件
- Zlib文件压缩和解压
- Delphi的压缩流与解压流
- 用zlib压缩与解压数据
- 金蝶用友2011年度财报对比
- win2008 多用户远程登录
- win7 vs2008 配置opencl
- android GridView的使用
- ACProtect 一段代码自修改片段
- delphi Zlib 流压缩解压
- excel2007
- solr集群配置与部署
- C++系列--异常处理
- Release版本程序----------问题调试
- 国内的创业媒体36kr环境窥探
- 齐次坐标系在数字图像处理中的应用
- linux-2.2.12内核的ADC驱动程序----光敏,电池电量
- Linux调试工具之:ftrace