從公共對話框控件中提取多個文件名稱

發表于:2007-07-14來源:作者:點擊數: 標簽:
Visual Basic程序中,公共文件對話框控件讓用戶很容易選取 一個或多個文件。本文將介紹如何從公共對話框控件中提取所選擇的 文件名稱。 使用公共對話框控件 Visual Basic的公共文件對話框控件允許 程序員 為用戶提供對硬 盤上的目錄和文件結構進行訪問的功能
Visual 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.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97