• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    VB6中的FSO對象模型

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 11次 | 進入軟件測試論壇討論

    領測軟件測試網 在編程中,我們經常需要對文件系統中的驅動器、文件夾和文件進行處理,比如收集驅動器的相關信息;創建、添加、移動或刪除文件夾和文件等。在VB6中新提供了一套稱為FSO(File System Object)對象模型來對文件系統進行訪問處理。該模型提供了一個基于對象的工具,通過它所提供的一系列屬性和方法,我們可以在應用程序中更簡單、靈活地對文件系統進行各種操作。

      一、FSO簡介

      FSO對象模型包含以下幾種對象:

      Drive對象:允許收集系統物理或通過LAN與系統邏輯連接的硬盤、CD-ROM等驅動器的可用空間、共享名等信息。

      Folder對象:允許創建、刪除或移動文件夾,并向系統查詢文件夾的名稱、路徑等。

      Files對象:允許創建、刪除或移動文件,并向系統查詢文件的名稱、路徑等。

      TextStream對象:允許創建和讀寫文本文件。

      FileSystemObject對象:提供一整套用于驅動器、文件夾和文件操作的方法,在功能上可以把它看作是上面幾個對象的集合并且經常與它們配合使用。與該對象相關聯的很多方法重復了前面四個對象中的方法,因此我們既可以通過FileSystemObject對象來對驅動器、文件夾和文件進行大多數操作,也可以通過對應的驅動器、文件夾或文件對象對這些組件進行操作。FSO模型通過兩種方法實現對同一對象的操作,其操作效果是相同的,提供這種冗余功能的目的是為了實現最大的編程靈活性。

      FSO對象模型包含在一個稱為Scripting的類型庫中,此類型庫位于Scrrun.dll文件中,可從“工程”選單的“引用”對話框中選擇“Microsoft Scripting Runtime”項來引用此文件。

      創建一個FileSystemObject對象,可以通過如下兩種方法來完成:1將一個變量聲明為FileSystemObject對象類型:Dim fso As New FileSystemObject;2使用CreateObject方法來創建:Set fso=CreateObject(″Scripting.FileSystemObject″)。

      二、對驅動器的操作

      對驅動器的操作主要通過Drive對象并配合FileSystemObject對象,FSO不支持進行創建或刪除驅動器的操作,而只允許收集關于系統所用驅動器的信息。通過該對象的屬性可以獲得下列信息:以字節表示的驅動器可用空間(AvailableSpace或FreeSpace);為驅動器指定的字母號(DriveLetter);驅動器類型(DriveType);驅動器使用的文件系統類型,諸如FAT、FAT32、NTFS等(FileSystem);驅動器是否可用(IsReady);驅動器的路徑或根文件夾(Path和RootFolder);驅動器序列號(SerialNumber);共享名或卷標名(ShareName和VolumeName);以字節表示的驅動器總空間(TotalSize)。下面一例說明了如何收集有關驅動器的信息:

      Private Sub Command1—Click()

      Dim fso As New FileSystemObject, drv As Drive, str As String

      Set drv=fso.GetDrive(fso.GetDriveName(″c:″))

      Debug.Print ″Total Space: ″ & FormatNumber(drv.TotalSize / 1024, 0) & ″Kb″

      Debug.Print ″Free Space: ″ & FormatNumber(drv.FreeSpace / 1024, 0) & ″Kb″

      End Sub

      三、對文件夾的操作

      Folder對象允許通過所提供的方法來復制(Copy)、刪除(Delete)或移動(Move)文件夾,并通過其屬性向系統查詢其名稱(Name)、路徑(Path)以及創建日期(DateCreated)等。FileSystemObject 對象對文件夾的操作方法有創建(CreateFolder)、復制(CopyFolder)、移動(MoveFolder)和刪除(DeleteFolder)。在進行上述操作之前,首先要獲得該文件夾的訪問句柄(GetFolder)。下例說明了如何對文件夾進行操作:

      Private Sub Command2—Click()

      Dim fso As New FileSystemObject, fldr As Folder

      Set fldr=fso.GetFolder(″c:″)    

      ′獲得當前文件夾的訪問句柄

      Debug.Print ″Parent folder name is: ″ & fldr

      ′打印文件夾名

      Debug.Print ″Contained on drive ″ & fldr.Drive   ′打印驅動器名

      fso.CreateFolder (″c:\Temp″)

      ′用FileSystemObject對象創建一個新的文件夾

      fso.DeleteFolder (″c:\Temp″)  

       ′刪除新建的文件夾

      End Sub

      訪問一個對象,要首先用“Get”方法獲得該對象的訪問句柄,但如果是用“Create”函數新創建一個對象, 函數會返回一個句柄到新創建的對象,這時只要設置一個變量來獲取該句柄即可,不必再用“Get”方法。如:Set fldr=fso.CreateFolder(″C:\Temp2″)。

      四、對文件的操作

      讀寫文件,在VB6之前都是使用Open等語句來實現,FSO支持通過TextStream對象來創建和讀寫文本文件。

      FSO通過CreateTextFile、OpenTextFile、OpenAsTextStream 三種方法來創建一個順序文本文件。文件創建后,就可分三步寫入數據:

      1.利用FileSystemObject對象的OpenTextFile方法或File對象的OpenAsTextStream 方法打開文本文件以備寫入數據。

      2.使用TextStream 對象的Write、WriteLine或WriteBlankLines方法寫入數據。

      3.使用TextStream對象的Close方法關閉文件。

      下例說明了如何創建文本文件:

      我們可使用TextStream 對象的Read、ReadLine或ReadAll方法從一個文本文件中讀取數據。

      Private Sub Command3—Click()  

       Dim fso As New FileSystemObject, fil As File, ts As TextStream

       fso.CreateTextFile ″c:\testfile.txt″

       Set fil=fso.GetFile(″c:\testfile.txt″)

       Set ts=fil.OpenAsTextStream(ForWriting)

       ts.Write (″這是一個測試文件!″)

       ts.Close

       Set ts=fil.OpenAsTextStream(ForReading)

       s=ts.ReadLine

       MsgBox s

       ts.Close

      End Sub

        除了創建與讀寫文件之外,VB6還可通過FileSystemObject對象對文件進行復制(CopyFile)、移動(MoveFile)與刪除(DeleteFile)等操作,在File對象中等效的方法有Copy 、Move和Delete。例程如下 :

      Private Sub Command4—Click()

        Dim fso As New FileSystemObject, txtfile As TextStream, fil1 As File, fil2 As File

        Set txtfile=fso.CreateTextFile(″c:\testfile.txt″, True)

        txtfile.Write (″這是一個測試文件!″)

        txtfile.Close

        Set fil1=fso.GetFile(″c:\testfile.txt″)

      ′獲得一個文件句柄

        fil1.Copy (″c:\temp1\testfile.txt″)  

      ′將該文件復制到\temp1目錄下

        fil1.Move (″c:\temp2\testfile.txt″)  

      ′將該文件移動到\temp2目錄下

        Set fil1=fso.GetFile(″c:\temp1\testfile.txt″)

        ′獲得這些文件當前位置的句柄

        Set fil2=fso.GetFile(″c:\temp2\testfile.txt″)

        fil1.Delete

        fil2.Delete

      End Sub

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>