六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

使用Delphi簡(jiǎn)單編制壓縮助理程序

[摘要]一、問(wèn)題的提出 Winzip是電腦使用過(guò)程中,備份和數(shù)據(jù)交換的常用工具之一。然而,在實(shí)際使用過(guò)程中,筆者發(fā)現(xiàn)Winzip在用來(lái)進(jìn)行數(shù)據(jù)交換操作時(shí)有一些不盡人意的地方, 如: 1. 當(dāng)將一個(gè)大的壓縮包...
一、問(wèn)題的提出
Winzip是電腦使用過(guò)程中,備份和數(shù)據(jù)交換的常用工具之一。然而,在實(shí)際使用過(guò)程中,筆者發(fā)現(xiàn)Winzip在用來(lái)進(jìn)行數(shù)據(jù)交換操作時(shí)有一些不盡人意的地方, 如:
1. 當(dāng)將一個(gè)大的壓縮包分卷壓縮到軟盤上時(shí),操作者手頭必須有多張軟盤才能完成數(shù)據(jù)包的轉(zhuǎn)存,這種情況如果發(fā)生在手頭只有一張軟盤的情況下,可真的沒(méi)辦法。
2. 如果分卷存儲(chǔ)數(shù)據(jù)軟盤中的某張軟盤在寫入或讀出數(shù)據(jù)時(shí)發(fā)生錯(cuò)誤,則上一過(guò)程必須重做
3. 要在其它機(jī)器上讀出軟盤上的數(shù)據(jù),則該機(jī)器也必須要求安裝了Winzip。
那么,有沒(méi)有好的解決辦法,避免上述容易出錯(cuò)和煩瑣安裝軟件的過(guò)程呢?因此,筆者用Delphi5.0編制了壓縮助理程序,以為數(shù)據(jù)交換提供一種輔助方法和手段。

二、壓縮助理程序設(shè)計(jì)的基本思路
通過(guò)壓縮工具將要在不同計(jì)算機(jī)間交換的文件壓縮并轉(zhuǎn)換成自解壓格式,通過(guò)壓縮助理程序?qū)⒃撟越鈮喊攒洷P容量為單位分割成多個(gè)存儲(chǔ)在硬盤上的文件,這樣,通過(guò)Copy命令和一張軟盤就能夠?qū)崿F(xiàn)對(duì)大的壓縮包在不通的計(jì)算機(jī)間交換數(shù)據(jù);再利用壓縮助理程序在另一臺(tái)機(jī)器上將上述多個(gè)文件合并,成為自解壓文件格式,避免了再安裝Winzip軟件的繁瑣過(guò)程。通過(guò)壓縮助理程序,上述問(wèn)題即可迎刃而解。

三、實(shí)現(xiàn)方法
1. 程序設(shè)計(jì)界面

2. 控件屬性設(shè)置
Form1的BorderStyle=bsDialog;兩個(gè)OpenDialog控件名稱分別設(shè)置為OpenDlg, OpenDlg1;設(shè)置OpenDlg1的Options屬性中的ofAllowMultiSelect=True,F(xiàn)ilter屬性設(shè)置為Split File(*.spt) *.spt All File(*.*) *.*;SaveDialog的名稱為SaveDlg;SpinEdit1的Value=1440,MinValue=1440,MaxValue=1600, Increment=1;在“合并”按鈕左邊的控件是ListBox,名稱ListBox1,ListBox1的Sorted=True;其它控件:一個(gè)TImage控件,2個(gè)Tedit和5個(gè)Tbutton,其屬性從略。
3. 壓縮助理程序的實(shí)現(xiàn)
從上到下五個(gè)命令按鈕的代碼依次如下:
//選擇待分割的文件
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDlg.Execute then
begin
Edit1.Text := OpenDlg.FileName;
end;
end;

//設(shè)置分割后的切片文件的存儲(chǔ)位置
//SelectDirectory函數(shù)聲明在FileCtrl單元中
procedure TForm1.Button2Click(Sender: TObject);
var
Dir: string;
begin
if SelectDirectory('選擇存儲(chǔ)目錄:', '', Dir) then
begin
Edit2.Text := Dir + '\';
end;
end;

//分割文件為切片文件,自動(dòng)命名
procedure TForm1.Button3Click(Sender: TObject);
var
I, K, Rest, Len: Integer;
AF, BF: TFileStream; //文件流對(duì)象
Fn: string; //文件名
Buf : Integer; //單碟容量
begin
if (Edit1.Text = '') or (Edit2.Text = '') then
begin
Beep;
Exit;
end;
//單蝶容量計(jì)算為字節(jié)數(shù)
buf := SpinEdit1.Value * 1024;
I := 1;
try
Af := TFileStream.Create(Edit1.Text, fmOpenRead);
K := Af.Size div Buf;
Rest := Af.Size - K * Buf;
For I := 1 to K do
begin
Fn := Edit2.Text + IntToStr(I) + '.spt'; //文件名
Bf := TFileStream.Create(Fn, fmCreate);
Bf.CopyFrom(Af, Buf);
Bf.Free;
end;
if Rest > 0 then
begin
Fn := Edit2.Text + IntToStr(I) + '.spt';
Bf := TFileStream.Create(Fn, fmCreate);
Bf.CopyFrom(Af, Rest);
Bf.Free;
end;
finally
AF.Free;
end;
end;

//將分割后的切片文件裝入到ListBox1中
procedure TForm1.Button4Click(Sender: TObject);
var
I : Integer;
begin
if OpenDlg1.Execute then
For I := 0 to OpenDlg1.Files.Count - 1 do
ListBox1.Items.Add(OpenDlg1.files[I]);
end;

//合并切片文件并保存合并結(jié)果
procedure TForm1.Button5Click(Sender: TObject);
var
Af, Bf: TFileStream; //文件流對(duì)象
Fn, Ft: string; //文件名
I : Integer;
begin
if ListBox1.Items.Count = 0 then
begin
Beep;
Exit;
end;
if SaveDlg.Execute then
begin
Fn := SaveDlg.FileName;
try
Af := TFileStream.Create(Fn, fmCreate);
For I := 0 to ListBox1.Items.Count -1 do
begin
Ft := ListBox1.Items[I];
Bf := TFileStream.Create(Ft, fmOpenRead);
Af.CopyFrom(Bf, Bf.Size);
Bf.Free;
end;
finally
Af.Free;
end;
end;
end;
上述代碼在Windows98,Delphi5.0下調(diào)試通過(guò)。


主站蜘蛛池模板: 青春草在线观看精品免费视频 | 亚洲成av人片在线观看 | 天天色一色 | 一二三四免费高清观看在线观看 | 首页 亚洲 欧美 制服 丝腿 | 亚洲视频你懂的 | 婷婷在线成人免费观看搜索 | 综合色99| 亚洲国产亚洲综合在线尤物 | 午夜激情视频专区在线观看网站大全 | 日本高清视频色www在线观看 | 新香蕉视频在线 | 欧美伊人久久久久久久久影院 | 亚洲人成网站在线观看播放 | 四虎国产精品免费观看 | 色综合天| 日本天堂视频 | 亚洲xxxxxx| 午夜毛片福利 | 天天躁日日躁狠狠躁欧美日韩 | 香蕉视频97| 特黄色片| 日韩亚洲欧洲在线com91tv | 最新福利片v国产片 | 欧美亚洲天堂 | 欧美影院久久 | 香蕉久人久人青草青草 | 有码中文字幕在线观看 | 一级毛片免费高清视频 | 最近在线观看免费完整视频 | 日韩a级片 | 亚洲精品日韩专区在线观看 | 欧美天堂久久 | 午夜影视在线观看 | 亚洲图片色 | 小明永久免费看aⅴ片 | 亚洲天堂热| 亚洲高清综合 | 日本韩国三级在线 | 亚洲成人精品久久 | 亚洲国产精品线在线观看 |