程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 文件系統控件的使用二

文件系統控件的使用二

編輯:VB綜合教程

  設置當前目錄
  可用目錄列表框的Path屬性設置或返回列表框中的當前目錄(ListIndex=-1)。例如,若為圖7.18中的Drive1.Path賦以"c:payroll",則目錄Pagroll將成為當前工作目錄。
  同樣,可把驅動器列表框的Drive屬性賦予目錄列表框的Path屬性:
  Dir1.Path=Drive1.Drive
  執行賦值語句時,目錄列表框將顯示此驅動器上所有有效的目錄和子目錄。缺省時,目錄列表框將顯示驅動器的當前目錄的所有上級目錄以及下一級子目錄,而驅動器是被指定給Dir1.Path屬性的。目錄列表框並不在操作系統級設置當前目錄;它只是突出顯示目錄並將其ListIndex值設置為-1。
  為設置當前工作目錄應使用ChDir語句。例如,下列語句將當前目錄變成目錄列表框中顯示的一個目錄:
  ChDirDir1.Path在使用文件控件的應用程序中,可用Application對象將當前目錄設置成應用程序的可執行(.exe)文件所在目錄:
  ChDriveApp.Path   '設置驅動器。
  ChDirApp.Path  '設置目錄。
  注意Path屬性只在運行時可用,在設計時不可用。  
  詳細信息關於Application對象的詳細信息,請參閱《VisualBasic6.0語言參考》中“App對象”。
  
  單擊目錄項
  目單擊目錄列表框中的某個項目時將突出顯示該項目。而雙擊項目時則把它賦予Path屬性並把其ListIndex屬性設置為-1,然後重繪目錄列表框以顯示直接相鄰的下級子目錄。
  
  查找目錄的相對位置
  ListCount屬性返回當前擴展目錄下的目錄數目,而不是目錄列表框中的目錄總數。因為當前擴展目錄的ListIndex值總為-1,所以可以編程來判斷在目錄層次結構中,當前擴展目錄與根目錄有多大距離。例如:
   '初始化當前擴展目錄。
   GoHigher=0
   '若目錄不存在,
   '則Dir1.List(x)返回空字符串。
   DoUntilDir1.List(GoHigher)=""
     GoHigher=GoHigher-1
   Loop
   '如有必要可轉換成正數。
   LevelsAbove=Abs(GoHigher)
  
  文件列表框
  文件列表框在運行時顯示由Path屬性指定的包含在目錄中的文件。可用下列語句在當前驅動器上顯示當前目錄中的所有文件:
  File1.Path=Dir1.Path
  然後,可設置Pattern屬性來顯示這些文件的子集—─例如,設置為*.frm後將只顯示這種擴展名的文件。Pattern屬性也接受由分號分隔的列表。例如,下列代碼行將顯示所有擴展名為.frm和.bas的文件:
  File1.Pattern="*.frm;*.bas"VisualBasic支持?通配符。例如,???.txt將顯示所有文件名包含三個字符且擴展名為.txt的文件。
  
  使用文件屬性
  文件列表框的屬性也提供當前選定文件的屬性(Archive、Normal、System、Hidden和ReadOnly)。可在文件列表框中用這些屬性指定要顯示的文件類型。System和Hidden屬性的缺省值為False。Normal、Archive和ReadOnly屬性的缺省值為True。
  例如,為了在列表框中只顯示只讀文件,直接將ReadOnly屬性設置為True並把其它屬性設置為False:
  File1.ReadOnly=True
  File1.Archive=False
  File1.Normal=False
  File1.System=False
  File1.Hidden=False
  當Normal=True時將顯示無System或Hidden屬性的文件。當Normal=False時也仍然可顯示具有ReadOnly和/或Archive屬性的文件,只需將這些屬性設置為True。
  注意不使用attribute屬性設置文件屬性。應使用SetAttr語句設置文件屬性。缺省時,在文件列表框中只突出顯示單個選定文件項。要選定多個文件,應使用MultiSelect屬性。
  詳細信息關於SetAttr語句的詳細信息,請參閱《VisualBasic6.0語言參考》的“SetAttr語句”和“MultiSelect屬性”。
  
  使用文件系統控件的組合
  如果使用文件系統控件的組合,則可同步顯示信息。例如,若有缺省名為Drive1、Dir1和File1的驅動器列表框、目錄列表框和文件列表框,則事件可能按如下順序發生:
  1.用戶選定Drive1列表框中的驅動器。
  2.生成Drive1_Change事件,更新Drive1的顯示以反映新驅動器。
  3.Drive1_Change事件過程的代碼使用下述語句,將新選定項目(Drive1.Drive屬性)賦予Dir1列表框的Path屬性:   PrivateSubDrive1_Change()
    Dir1.Path=Drive1.Drive
   EndSub
  4.Path屬性賦值語句生成Dir1_Change事件並更新Dir1的顯示以反映新驅動器的當前目錄。
  5.Dir1_Change事件過程的代碼將新路徑(Dir1.Path屬性)賦予File1列表框的File1.Path屬性:
   PrivateSubDir1_Change()
    File1.Path=Dir1.Path
   EndSub
  6.File1.Path屬性賦值語句更新File1列表框中的顯示以反映Dir1路徑指定。
  用到的事件過程及修改過的屬性與應用程序使用文件系統控件組合的方式有關。下節“文件系統控件方案:文件搜索器應用程序”演示了這裡描述的控件同步。
  

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved