流的解压及压缩(代码精简高效)

米茲殿下De貓

米茲殿下De貓

2016-02-19 12:36

下面图老师小编跟大家分享流的解压及压缩(代码精简高效),一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

  用一个函数即实现流的压缩和解压,使用方法:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  ZIP(源流,目标流,True/False)TRUE为压缩,FALSE为解压

  函数如下:

  function ZIP(mInputStream: TStream; mOutputStream: TStream;Compress:BOOL): BOOL;
  var
    I: Integer;
    p:pchar;
    TCS:TCompressionStream;
    TDS:TDecompressionStream;
  begin
   result:=false;
    if not (Assigned(mInputStream) and Assigned(mOutputStream)) then Exit;
   try
    if Compress then TCS:=TCompressionStream.Create(clMax,mOutputStream) else TDS:=TDecompressionStream.Create(mOutputStream);//其中的clMax表示压缩级别,可以更改,值是下列参数之一:clNone, clFastest, clDefault, clMax
    getMem(p,mInputStream.size);
    mInputStream.ReadBuffer(p^,mInputStream.Size );
    if Compress then TCS.WriteBuffer(p^,mInputStream.Size ) else TDS.WriteBuffer(p^,mInputStream.Size );  //关键代码:写入流
   finally
    if Compress then TCS.Free else TDS.Free;
    FreeMem(p);
   end;
   result:=true;
  end;

   

  一定先uses Zlib这个单元,它提供了DELPHI下的压缩和解压功能

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

流的解压及压缩(代码精简高效)

编程语言 网络编程
流的解压及压缩(代码精简高效)

Delphi 中压缩流和解压流的应用

Delphi
Delphi 中压缩流和解压流的应用

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

YUICompressor:高效压缩CSS和JS代码的工具

Web开发
YUICompressor:高效压缩CSS和JS代码的工具

360压缩解压文件

电脑网络
360压缩解压文件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java 图片压缩实现思路及代码

编程语言 网络编程
Java 图片压缩实现思路及代码

Linux中文件的压缩与解压缩

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux中文件的压缩与解压缩

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

References and arrays

References and arrays

子父窗口之间的操作

子父窗口之间的操作
下拉加载更多内容 ↓