国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

VB6中的FSO對象模型

2019-11-18 17:34:51
字體:
來源:轉載
供稿:網友
在編程中,我們經常需要對文件系統中的驅動器、文件夾和文件進行處理,比如收集驅動器的相關信息;創建、添加、移動或刪除文件夾和文件等。在VB6中新提供了一套稱為fso(FileSystemObject)對象模型來對文件系統進行訪問處理。該模型提供了一個基于對象的工具,通過它所提供的一系列屬性和方法,我們可以在應用程序中更簡單、靈活地對文件系統進行各種操作。

  一、FSO簡介

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

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

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

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

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

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

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

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

  二、對驅動器的操作

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

  PRivateSubCommand1—Click()

  DimfsoAsNewFileSystemObject,drvAsDrive,strAsString

  Setdrv=fso.GetDrive(fso.GetDriveName(″c:″))

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

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

  EndSub

  三、對文件夾的操作

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

  PrivateSubCommand2—Click()

  DimfsoAsNewFileSystemObject,fldrAsFolder

  Setfldr=fso.GetFolder(″c:″)    

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

  Debug.Print″Parentfoldernameis:″&fldr

  ′打印文件夾名

  Debug.Print″Containedondrive″&fldr.Drive  ′打印驅動器名

  fso.CreateFolder(″c:/Temp″)

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

  fso.DeleteFolder(″c:/Temp″)  

  ′刪除新建的文件夾

  EndSub

  訪問一個對象,要首先用“Get”方法獲得該對象的訪問句柄,但如果是用“Create”函數新創建一個對象,函數會返回一個句柄到新創建的對象,這時只要設置一個變量來獲取該句柄即可,不必再用“Get”方法。如:Setfldr=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方法從一個文本文件中讀取數據。

  PrivateSubCommand3—Click()  

  DimfsoAsNewFileSystemObject,filAsFile,tsAsTextStream

  fso.CreateTextFile″c:/testfile.txt″

  Setfil=fso.GetFile(″c:/testfile.txt″)

  Setts=fil.OpenAsTextStream(ForWriting)

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

  ts.Close

  Setts=fil.OpenAsTextStream(ForReading)

  s=ts.ReadLine

  MsgBoxs

  ts.Close

  EndSub

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

  PrivateSubCommand4—Click()

    DimfsoAsNewFileSystemObject,txtfileAsTextStream,fil1AsFile,fil2AsFile

    Settxtfile=fso.CreateTextFile(″c:/testfile.txt″,True)

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

    txtfile.Close

    Setfil1=fso.GetFile(″c:/testfile.txt″)

  ′獲得一個文件句柄

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

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

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

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

    Setfil1=fso.GetFile(″c:/temp1/testfile.txt″)

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

    Setfil2=fso.GetFile(″c:/temp2/testfile.txt″)

    fil1.Delete

    fil2.Delete

  EndSub->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥德县| 乐清市| 漳浦县| 吉安县| 合水县| 保定市| 内乡县| 烟台市| 常熟市| 长垣县| 博白县| 合山市| 淮滨县| 龙南县| 德州市| 翁牛特旗| 温州市| 砚山县| 江山市| 永胜县| 黎川县| 油尖旺区| 长垣县| 崇阳县| 岳阳市| 贵阳市| 咸阳市| 河西区| 刚察县| 湖南省| 肇东市| 黔南| 巴楚县| 保康县| 博湖县| 新丰县| 钟山县| 钟山县| 宁阳县| 望城县| 泊头市|