利用Delphi輕松編制壓縮助理程序

字號:

一、問題的提出
    Winzip是電腦使用過程中,備份和數(shù)據(jù)交換的常用工具之一。然而,在實際使用過程中,筆者發(fā)現(xiàn)Winzip在用來進行數(shù)據(jù)交換操作時有一些不盡人意的地方, 如:
    1. 當將一個大的壓縮包分卷壓縮到軟盤上時,操作者手頭必須有多張軟盤才能完成數(shù)據(jù)包的轉(zhuǎn)存,這種情況如果發(fā)生在手頭只有一張軟盤的情況下,可真的沒辦法。
    2. 如果分卷存儲數(shù)據(jù)軟盤中的某張軟盤在寫入或讀出數(shù)據(jù)時發(fā)生錯誤,則上一過程必須重做
    3. 要在其它機器上讀出軟盤上的數(shù)據(jù),則該機器也必須要求安裝了Winzip。
    那么,有沒有好的解決辦法,避免上述容易出錯和煩瑣安裝軟件的過程呢?因此,筆者用Delphi5.0編制了壓縮助理程序,以為數(shù)據(jù)交換提供一種輔助方法和手段。
    二、壓縮助理程序設計的基本思路
    通過壓縮工具將要在不同計算機間交換的文件壓縮并轉(zhuǎn)換成自解壓格式,通過壓縮助理程序?qū)⒃撟越鈮喊攒洷P容量為單位分割成多個存儲在硬盤上的文件,這樣,通過Copy命令和一張軟盤就能夠?qū)崿F(xiàn)對大的壓縮包在不通的計算機間交換數(shù)據(jù);再利用壓縮助理程序在另一臺機器上將上述多個文件合并,成為自解壓文件格式,避免了再安裝Winzip軟件的繁瑣過程。通過壓縮助理程序,上述問題即可迎刃而解。
    三、實現(xiàn)方法
    1. 程序設計界面
    2. 控件屬性設置
    Form1的BorderStyle=bsDialog;
     兩個OpenDialog控件名稱分別設置為OpenDlg, OpenDlg1;
     設置OpenDlg1的Options屬性中的ofAllowMultiSelect=True,
     Filter屬性設置為Split File(*.spt)|*.spt|All File(*.*)|*.*;
     SaveDialog的名稱為SaveDlg;SpinEdit1的Value=1440,MinValue=1440,
     MaxValue=1600, Increment=1;在“合并”按鈕左邊的控件是ListBox,
     名稱ListBox1,ListBox1的Sorted=True;其它控件:一個TImage控件,
     2個Tedit和5個Tbutton,其屬性從略。