delphi压缩与解压_不需要特别的控件
来源:互联网 发布:java d3.js 编辑:程序博客网 时间:2024/05/17 01:00
delphi压缩与解压,比较简单,也比较实用,对我来说已经足够,我只想让客户端下载一个压缩文件到本地后解压出来就行,看网上有用什么控件的,我的是delphi6没装那控件,在公司管的比较严,要装控件比较麻烦。不扯了,看代码吧。
unit unzip;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}uses Zlib;//压缩函数procedure Zip(var fs: TMemoryStream);var cs: TCompressionStream; ms: TMemoryStream; num: Integer;begin if not(Assigned(fs) and (fs.Size>0)) then Exit; num := fs.Size; ms := TMemoryStream.Create; cs := TCompressionStream.Create(clMax, ms); try fs.SaveToStream(cs); cs.Free; //ms.Position := 0; fs.Clear; fs.WriteBuffer(num, sizeof(num)); fs.CopyFrom(ms, 0); finally ms.Free; end;end;//解压函数procedure UnZip2(var fs: Tmemorystream);var ds: TDecompressionStream; ms: TMemoryStream; num: Integer;begin if not(Assigned(fs) and (fs.Size>0)) then Exit; fs.Position := 0; fs.ReadBuffer(num,sizeof(num)); ms := TMemoryStream.Create; ds := TDecompressionStream.Create(fs); try ms.SetSize(num); ds.Read(ms.Memory^, num); //ms.Position := 0; fs.Clear; fs.CopyFrom(ms, 0); finally ds.Free; ms.Free; end;end;//压缩测试procedure TForm1.Button1Click(Sender: TObject);var ms: TMemoryStream;beginms := TMemoryStream.Create; ms.LoadFromFile('D:\delphi\szcb.mdb'); Zip(ms); ms.SaveToFile('D:\delphi\szcb.zip');end;//解压测试procedure TForm1.Button2Click(Sender: TObject);var ms: TMemoryStream;begin ms := TMemoryStream.Create; ms.LoadFromFile('D:\delphi\szcb.zip'); UnZip2(ms); ms.SaveToFile('D:\delphi\szcb2.mdb');end;end.
- delphi压缩与解压_不需要特别的控件
- Delphi的压缩流与解压流
- Delphi XE2 压缩与解压 System.Zip
- 字符串的压缩与解压
- Linux的压缩与解压
- zip 的 压缩与解压
- initrd的解压与压缩
- 文件的压缩与解压
- 文件的压缩与解压
- 《文件的压缩与解压》
- 文件的压缩与解压
- 文件的压缩与解压
- 文件的压缩与解压
- 压缩与解压1---字符串的压缩与解压
- 压缩_解压 命令
- 压缩与解压2---文件的压缩
- delphi Zlib 流压缩解压
- delphi Zlib 流压缩解压
- linux进程及服务
- 泛型集合
- win 7激活 vs2008 专业版 最简单的方法
- 接口
- iOS-UIViewController
- delphi压缩与解压_不需要特别的控件
- OpenGL 远程崩溃
- 序
- 了解泛型
- ios开发学习笔记(这里一定有你想要的东西,全部免费
- 若爱 就如桃花般地去爱
- java 枚举类的一个疑问
- chromium编译
- DirectShow下载及配置