top
Loading...
從公共對話框控件中提取多個文件名稱
≡赩isual Basic程序中,公共文件對話框控件讓用戶很容易選取 一個或多個文件。本文將介紹如何從公共對話框控件中提取所選擇的 文件名稱。
使用公共對話框控件
Visual Basic的公共文件對話框控件允許程序員為用戶提供對硬 盤上的目錄和文件結構進行訪問的功能。例如,如果用戶需要選擇一 個文本文件,可以顯示出一個公共文件對話框控件,以允許用戶瀏覽各 個目錄,直至找到需要的文件位置。
通過將公共對話框控件的Flags屬性設置為常量值OFN_ALLOWMULT ISELECT,可以使用戶能夠選擇幾個文件以進行工作。可以通過在按住 Ctrl鍵的同時單擊每個文件名稱來選中多個文件,這些被選中的文件 名稱將被高亮顯示。
為了使程序能夠針對用戶所選擇的文件進行工作,需要從控件的F ilename屬性中提取每個文件的名稱。所有被用戶選中的文件名稱都 被作為一個長字符串而存儲在該屬性中。每個文件名稱之間用一個空 格字符分開。
可以使用InStr函數來搜索分界的空格字符,以從公共對話框的Fi lename屬性中提取每個文件名稱。該InStr函數返回在Filename屬性 字符串中空格字符的位置,得到空格字符的位置后,就可以使用Mid函 數來將獨立的文件名稱從該字符串中移出。
樣例程序
該程序顯示了如何提取在公共文件對話框控件中所有被選中的文 件名稱。
步驟如下:
1.在Visual Basic中開始一個新的工程,采用缺省的方法建立For m1。
2.在Form1上添加一個公共對話框控件,采用缺省的方法建立Comm onDialog1。
3.在Form1上添加一個文本框控件,采用缺省的方法建立Text1。
4.在Form1上添加第二個文本框控件,采用缺省的方法建立Text2 。將它的MultiLine 屬性設置為True。
5.在Form1上添加一個命令按鈕控件,采用缺省的方法建立Comand 1。將它的Caption 屬性設置為"打開文件對話框"。
6.將如下代碼添加到Command1的單擊事件中:
Private Sub Command1_Click()
Dim I As Integer
Dim Y As Integer
Dim Z As Integer
Dim FileNames$()
Const OFN_ALLOWMULTISELECT = &H200&
CommonDialog1.filename = ""
CommonDialog1.Filter = "All Files|*.*"
CommonDialog1.Flags = OFN_ALLOWMUL- SELECT
CommonDialog1.Action = 1
CommonDialog1.filename = CommonDi g1. filename & Chr(3 2)
Z = 1
For I = 1 To Len(CommonDialog1.filename)
I = InStr(Z, CommonDialog1.filename, Chr(32))
If I = 0 Then Exit For
ReDim Preserve FileNames(Y)
FileNames(Y) = Mid(CommonDialog1.filename, Z, I - Z)
Z = I + 1
Y = Y + 1
Next
If Y = 1 Then
Text1.Text = FileNames(0)
Else
Text 2.Text = ""
For I = 0 To Y - 1
If I = 0 Then
Text1.Text = FileNames(I)
Else
Text2.Text = Text2.Text & UCase(FileNames(I)) & Chr$(13) & Chr$(10)
End If
Next
End If
End Sub
按下F 5運行本程序,單擊命令按鈕。公共文件對話框控件將被顯 示在屏幕上。然后,從文件列表中選擇幾個文件名稱,這可以通過在按 住Ctrl或Shift鍵的同時單擊文件的名稱來實現,如圖1所示。在選擇 了適當的文件之后,單擊確定(OK),則文件名稱將被顯示在第二個文本 框控件中,而目錄的名稱將被顯示在第一個文本框控件中
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗