知识大全 利用Delphi轻松编制压缩助理程序
Posted 文件
篇首语:古人学问无遗力,少壮工夫老始成。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用Delphi轻松编制压缩助理程序相关的知识,希望对你有一定的参考价值。
利用Delphi轻松编制压缩助理程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一 问题的提出 Winzip是电脑使用过程中 备份和数据交换的常用工具之一 然而 在实际使用过程中 笔者发现Winzip在用来进行数据交换操作时有一些不尽人意的地方 如
当将一个大的压缩包分卷压缩到软盘上时 操作者手头必须有多张软盘才能完成数据包的转存 这种情况如果发生在手头只有一张软盘的情况下 可真的没办法
如果分卷存储数据软盘中的某张软盘在写入或读出数据时发生错误 则上一过程必须重做
要在其它机器上读出软盘上的数据 则该机器也必须要求安装了Winzip
那么 有没有好的解决办法 避免上述容易出错和烦琐安装软件的过程呢?因此 笔者用Delphi 编制了压缩助理程序 以为数据交换提供一种辅助方法和手段
二 压缩助理程序设计的基本思路
通过压缩工具将要在不同计算机间交换的文件压缩并转换成自解压格式 通过压缩助理程序将该自解压包以软盘容量为单位分割成多个存储在硬盘上的文件 这样 通过Copy命令和一张软盘就能够实现对大的压缩包在不通的计算机间交换数据 再利用压缩助理程序在另一台机器上将上述多个文件合并 成为自解压文件格式 避免了再安装Winzip软件的繁琐过程 通过压缩助理程序 上述问题即可迎刃而解
三 实现方法
. 程序设计界面
. 控件属性设置
Form 的BorderStyle=bsDialog 两个OpenDialog控件名称分别设置为OpenDlg OpenDlg 设置OpenDlg 的Options属性中的ofAllowMultiSelect=True Filter属性设置为Split File(* spt)|* spt|All File(* *)|* * SaveDialog的名称为SaveDlg SpinEdit 的Value= MinValue= MaxValue= Increment= 在 合并 按钮左边的控件是ListBox 名称ListBox ListBox 的Sorted=True 其它控件 一个TImage控件 个Tedit和 个Tbutton 其属性从略
. 压缩助理程序的实现
从上到下五个命令按钮的代码依次如下
//选择待分割的文件 procedure TForm Button Click(Sender: TObject); begin if OpenDlg Execute then begin Edit Text := OpenDlg FileName; end; end;
//设置分割后的切片文件的存储位置 //SelectDirectory函数声明在FileCtrl单元中 procedure TForm Button Click(Sender: TObject); var Dir: string; begin if SelectDirectory( 选择存储目录: Dir) then begin Edit Text := Dir + \\ ; end; end;
//分割文件为切片文件 自动命名 procedure TForm Button Click(Sender: TObject); var I K Rest Len: Integer; AF BF: TFileStream; //文件流对象 Fn: string; //文件名 Buf : Integer; //单碟容量 begin if (Edit Text = ) or (Edit Text = ) then begin Beep; Exit; end; //单蝶容量计算为字节数 buf := SpinEdit Value * ; I := ; try Af := TFileStream Create(Edit Text fmOpenRead); K := Af Size div Buf; Rest := Af Size K * Buf; For I := to K do begin Fn := Edit Text + IntToStr(I) + spt ; //文件名 Bf := TFileStream Create(Fn fmCreate); Bf CopyFrom(Af Buf); Bf Free; end; if Rest > then begin Fn := Edit Text + IntToStr(I) + spt ; Bf := TFileStream Create(Fn fmCreate); Bf CopyFrom(Af Rest); Bf Free; end; finally AF Free; end; end;
//将分割后的切片文件装入到ListBox 中 procedure TForm Button Click(Sender: TObject); var I : Integer; begin if OpenDlg Execute then For I := to OpenDlg Files Count do ListBox Items Add(OpenDlg files[I]); end;
cha138/Article/program/Delphi/201311/8413相关参考
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>//tracklinktechcn/?m_id=dangdang
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>//tracklinktechcn/?m_id=dangdang
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>//tracklinktechcn/?m_id=dangdang
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> ()为了更好地说明QuickReport的使用我们将从头开始
利用Delphi2005编写C#应用程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Delphi
利用Delphi编写Socket通信程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!笔者在工作中
PclZip让php轻松实现压缩与解压 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixi
用Delphi实现文件加密压缩技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!引 言 在日常中
用Delphi编制趣味动画鼠标 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们经常可以看到许
Delphi编程轻松实现大图像浏览 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本实例演示如何不用