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

2016-02-19 12:36 6 1 收藏

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

【 tulaoshi.com - 编程语言 】

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

  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;

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

   

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

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

来源:http://www.tulaoshi.com/n/20160219/1601274.html

延伸阅读
360压缩如何使用自解压? 1.什么是自解压文件? 自解压文件是很方便的。如果你想要将压缩文件给某一个人,却不知道对方是否可以方便的解压。你就可以使用自解压来发布你自己的文件。这样对方无需任何软件就可以解压你发送的文件了。 2.如何使用自解压? 你可以右击文件选择选中需要制成自解压文件的文件,并且点击自解压。或...
360压缩如何解压文件 360压缩为您提供了两种解压文件的方式 您可以选择右击需要解压的文件,在右键菜单中选择解压。 也可以找到希望解压的压缩文件,点击选中后,点击软件主界面左上第二个图标 并在新弹出的窗口中设置解压缩选项后,点击即可对文件进行解压。
360压缩如何解压文件?   通过右键菜单解压文件: 鼠标右键单击选中的一个或多个压缩文件,在弹出的右键菜单中,选择,在新弹出的窗口中,设置好解压选项,点击即可进行解压操作。如果解压之后的文件保存在当前文件夹,也可通过选择,实现快捷操作。 通过软件主界面解压文件: 打开360压缩,找到希望解压的压缩...
标签: 压缩软件
  解压缩RAR格式文件的最经典做法是:双击压缩文件,再单击调出WinRAR程序的“解压到”按钮,然后“确定”就可以解压至当前一个同名文件夹中了。小的压缩文件倒也罢了,而且看着褐色的进度条飞快地前进也怪舒服的,但如果这个待解压的RAR文件比较大的话,我们就只能等待了。虽然可以选择“后台”的运行方式,但终归它在工作。 打...
标签: Web开发
最近在学习jBPM和Javascript,所以按照一些相关概念自己写了下面的200行代码的“工作流引擎”,工作流管理系统包含了流程定义,引擎,及应用系统三个主要部分,下面的代码实现了流程的分支合并,目前只支持一种环节上的迁移。拷贝到html,双击就可以跑起来。 var workflowDef = { start:{ ...

经验教程

52

收藏

50
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部