摘要:文件是指存儲在磁盤上的數(shù)據(jù)集合,每個(gè)文件必須有唯一的文件名,應(yīng)用程序通過文件名對文件進(jìn)行訪問。VB的文件系統(tǒng)控件具有強(qiáng)大的對文件系統(tǒng)操作的能力,用戶可以很方便地訪問文件系統(tǒng)。VB包含三種文件系統(tǒng)控件:驅(qū)動(dòng)器列表框、目錄列表框、文件列表框,利用這些控件,可以組成文件操作對話框,對計(jì)算機(jī)上的文件信息進(jìn)行瀏覽和處理。
關(guān)鍵詞:VB;文件系統(tǒng)控件;驅(qū)動(dòng)器列表框;目錄列表框;文件列表框
中圖分類號:TP312文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)16-21360-02
Discussed Shallowly the Filing System Controls of VB
GUO Cun-li
(Yuxi Agriculture Vocation-Technical College,Yuxi 653106,China)
Abstract: File is the data collection which stored on disk, each file must have a unique file name. The application program visit file through file name .The VB filing system controls with a strong ability to operating file system, the user may visit the filing system very conveniently. VB contains three kind of filing system controls: drive list box, directory list box, file list box, using these controls, may compose the document operation dialog box to browsing and processing document information on the computer.
Key words:VB;filing system controls;drive list box;directory list box;file list box
1 引言
在Windows應(yīng)用程序中,當(dāng)打開文件或?qū)?shù)據(jù)以文件的形式存入磁盤時(shí),通常要打開一個(gè)對話框,利用這個(gè)對話框,可以指定驅(qū)動(dòng)器、目錄、文件名,方便地查看系統(tǒng)的驅(qū)動(dòng)器、目錄及文件信息。為了建立這樣的對話框。Visual Basic提供了三種控件,即驅(qū)動(dòng)器列表框控件(Drive ListBox)、目錄列表框控件(DirListBox)和文件列表框控件(FileListBox)。用戶可以利用這三個(gè)控件,協(xié)調(diào)配合組成文件操作對話框,實(shí)現(xiàn)對文件的管理操作。
2 驅(qū)動(dòng)器列表框
驅(qū)動(dòng)器列表框控件(DriveListBox)是下拉式列表框。缺省時(shí)在用戶系統(tǒng)上顯示當(dāng)前驅(qū)動(dòng)器。單擊右側(cè)的下拉箭頭,下拉列表框?qū)⒘信e出所有的有效驅(qū)動(dòng)器。若用戶從中選定新驅(qū)動(dòng)器,則這個(gè)驅(qū)動(dòng)器將出現(xiàn)在列表框的頂端。
2.1 常用屬性
(1)Name屬性:設(shè)置驅(qū)動(dòng)器列表框控件的名字,默認(rèn)值為Drive1。
(2)Drive屬性:返回或設(shè)置運(yùn)行時(shí)選擇的驅(qū)動(dòng)器。Drive屬性只能在程序代碼中設(shè)置,而不能在屬性窗口中修改。其格式為:
[對象.]Drive[=drive]
其中:
對象:表示驅(qū)動(dòng)器列表框的名稱
drive:表示驅(qū)動(dòng)器的名稱,
例如:若有缺省名為Drive1的驅(qū)動(dòng)器列表框Drive屬性設(shè)置為:
Drive1.Drive = \"c:\\\" ‘指定當(dāng)前驅(qū)動(dòng)器為C驅(qū)動(dòng)器
驅(qū)動(dòng)器列表框顯示可用的有效驅(qū)動(dòng)器。從列表框中選擇驅(qū)動(dòng)器并不能自動(dòng)地變更當(dāng)前系統(tǒng)的工作驅(qū)動(dòng)器;需要用ChDrive命令來變更,格式為:
ChDrive Drive1.Drive
2.2 常用事件
驅(qū)動(dòng)器列表框支持Chang事件,當(dāng)Drive屬性值發(fā)生變化時(shí),即驅(qū)動(dòng)器列表框中的顯示驅(qū)動(dòng)器發(fā)生變化時(shí),都會(huì)觸發(fā)此事件。
3 目錄列表框
目錄列表框控件(DirListBox)從最高層目錄開始顯示用戶系統(tǒng)上的當(dāng)前驅(qū)動(dòng)器目錄結(jié)構(gòu)。這種目錄列表完全符合Windows操作系統(tǒng)的風(fēng)格。首先,顯示當(dāng)前目錄名及其下一級目錄名。如果用戶選種某一個(gè)目錄名,并且雙擊它,將打開該目錄,顯示其子目錄的結(jié)構(gòu)。如果目錄列表較多,將自動(dòng)添加一個(gè)滾動(dòng)條。
3.1常用屬性
(1)Name屬性:用于設(shè)置目錄列表框控件的名字,缺省值為Dir1。
(2)Path屬性:用于返回或設(shè)置目錄列表框中的當(dāng)前目錄,Path屬性只能在程序代碼中設(shè)置,而不能在屬性窗口中修改。其格式為:
[對象.] Path [=pathname]
其中:
對象:表示目錄列表框或文件列表框的名稱
pathname:表示路徑字符串,
例如:若有缺省名為Dir1的目錄列表框Path屬性設(shè)置為:
Dir1.Path=\"c:\\payroll\" ‘指定c:\\payroll為當(dāng)前目錄
(3)ListIndex屬性:返回目錄列表框中突出顯示的目錄序號。由Path屬性所指定目錄的序號為-1,上一級為-2,再上一級為-3、…,它的第一個(gè)子目錄為0,第二個(gè)子目錄為1,依此類推。例如圖1所示,當(dāng)前目錄C:\\ProgramFiles\\Microsoft Visual\\VB98,它的目錄序號為-1,它的上一級目錄C:\\Program Files\\Microsoft Visual的目錄序號為-2,它的的子目C:\\ProgramFiles\\MicrosoftVisual\\VB98\\Setup的目錄序號為0。
(4)ListCount屬性:是Path屬性指定的當(dāng)前目錄中子目錄的個(gè)數(shù)。只能通過代碼讀取。
(5)List屬性:返回目錄列表框中各項(xiàng)值。其值是一個(gè)字符串?dāng)?shù)組,數(shù)組中的每一個(gè)元素包含了控件中相應(yīng)條目的目錄名(帶有完整路徑)。如圖1所示 Dir1.List(1)為C:\\Program Files\\Microsoft Visual\\VB98\\Template
2.2 常用事件
Change事件:在目錄框發(fā)生變化時(shí),會(huì)觸發(fā)該事件。
4 文件列表框
文件列表框控件(FileListBox)顯示指定當(dāng)前目錄下的文件目錄清單。
4.1 常用屬性
(1)Name屬性:用于設(shè)置文件列表框控件的名字,缺省值為File1。
(2)Pattern屬性:文件列表框的Pattern屬性返回或設(shè)置文件列表框所顯示的文件類型。默認(rèn)值為“*.*”,顯示所有文件。它可以在程序中設(shè)置,也可以在屬性窗口中設(shè)置。Pattern屬性支持分號分隔的列表。例如要顯示所有擴(kuò)展名為.doc和.frm的文件,Pattern屬性設(shè)置如下:
File1. Pattern=”*.doc;*.frm”
(3)FileName屬性:用來設(shè)置和返回文件列表框中的文件名,在屬性窗口中不可用。
(4)Path屬性:用來設(shè)置和返回文件列表框中所選中文件的路徑(不包括文件名)。只能在程序代碼中對其進(jìn)行設(shè)置。Path屬性的使用方法和目錄列表框Path屬性的使用方法相同。
(5)Readonly屬性、Archive屬性、Normal屬性、Hidden屬性和System屬性:用于設(shè)置要顯示文件的屬性。分別決定是否可以顯示只讀文件、存檔文件、普通文件、隱藏文件和系統(tǒng)文件。System 和 Hidden 屬性的缺省值為 False。Normal、Archive 和 ReadOnly屬性的缺省值為 True。
另外,文件列表框也和目錄列表框一樣具有ListCount、ListIndex、List屬性,其使用方法也目錄列表框的相同。
4.2 常用事件
(1)PathChange事件:當(dāng)路徑被代碼中Filename或Path屬性的設(shè)置改變時(shí),此事件發(fā)生。
(2)Click事件:文件列表框能識別單擊事件,選中所單擊的文件,將改變ListIndex屬性值,并將FileName的值設(shè)置為單擊的文件名字符串。
(3)DblClick事件:文件列表框能識別雙擊事件,常常用于對所雙擊的文件進(jìn)行處理。
5 文件系統(tǒng)控件的同步
在實(shí)際應(yīng)用中,驅(qū)動(dòng)器列表框、目錄列表框和文件列表框有著密切的關(guān)系,往往需要同步操作,在一般情況下,改變驅(qū)動(dòng)器列表框中的驅(qū)動(dòng)器名后,目錄列表框中的目錄應(yīng)當(dāng)隨之變?yōu)樵擈?qū)動(dòng)器的目錄,也就是使驅(qū)動(dòng)器列表框和目錄類列表框產(chǎn)生同步效果。同樣,目錄列表框和文件列表框也要產(chǎn)生同步效果。若驅(qū)動(dòng)器列表框控件、目錄列表框控件和文件列表框控件的缺省名分別為Drive1、Dir1和File1,通過下面兩個(gè)事件過程可使得文件系統(tǒng)的三種列表框控件同步操作。
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
6 結(jié)束語
Visual Basic是一種新型的現(xiàn)代語言,Visual Basic成功的解決了用戶界面設(shè)計(jì)的難點(diǎn),利用本文介紹的文件系統(tǒng)控件可以設(shè)計(jì)出滿足用戶特殊要求的、具有不同界面風(fēng)格的對話框,利用它們進(jìn)行文件管理十分方便。
參考文獻(xiàn):
[1] 譚浩強(qiáng),袁玫,薛淑斌.Visual Basic程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,2004:225-227.
[2] 張洪明.Visual Basic 6.0 程序設(shè)計(jì)基礎(chǔ)教程[M].北京:科學(xué)出版社,2003 206-212.
[3] 李林,審時(shí)凱,王衛(wèi)星.Visual Basic程序設(shè)計(jì)[M].北京:地質(zhì)出版社,2006 180-183.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。