在VB中使用文件对象

文章作者 100test 发表时间 2008:01:25 09:41:13
来源 100Test.Com百考试题网


  自从Visual Basic第一次发布到现在,它的大部分主要的特性大都被修改了不下一次。但文件操作部分却是个例外。在最原始的BasiC语言中,文件就是用文件号(file number)来读写的。用一个数字来操作文件,或许者多少有一点晦涩难懂,这也令大多数的初学者感到不习惯和难以理解。

   随着Visual Basic Scripting Edition2.0版本的发布,微软提供了一种全新的文件操作方法——文件系统对象(FileSystemObject)。用对象编程,这正是开发者们所希望用到。这个对象,包括一些其他的相关对象,封装了所有的文件操作。这篇文章将向你介绍这些对象,并且展示如何利用它们来编程。要使用这些对象,在VB的应用程序中就必须引用Microsoft Scripting Runtime (C:\Windows\System\SCRRUN.DLL)对象库。但是如果是为Internet Explore 编写VBScript,直接使用就可以了。下面是这些对象的概要:

   * Drive - 代表一个单独的驱动器,可以是软驱,硬盘,或者是光驱等其他存贮介质。

   * Drives - 一个集合对象,包括系统中所有的驱动器。

   * File - 代表系统中的一个磁盘文件。

   * Files - 集合对象,是一些文件的集合。典型的是代表一个目录下的所有文件。

   * FileSystemObject - 代表系统中整个文件系统的对象。包括所有驱动器,目录和文件。

   * Folder - 代表一个目录,可以是本地的,也可以是远程目录。

   * Folders - 一些目录的集合体。

   * TextStream - 文本流对象,代表一个用来读写的打开的文件。

   想得到系统中所有的驱动器的信息,可以用下面的这段代码来实现。
Sub Main()
Dim objFSO As New Scripting.FileSystemObject
Dim drvLoop As Scripting.Drive

For Each drvLoop In objFSO.Drives
Debug.Print drvLoop.DriveLetter &. ":\"
If drvLoop.DriveType = Fixed _
Or drvLoop.IsReady Then
Debug.Print " Total size: " _
&. Format$(drvLoop.TotalSize / (1024 ^ 2), "#0.00 Mb")
Debug.Print " Free space: " _
&. Format$(drvLoop.FreeSpace / (1024 ^ 2), "#0.00 Mb")
Debug.Print " Volume Label: " &. drvLoop.VolumeName
Else
Debug.Print " Disk information unavailable"
End If

Next drvLoop

Set objFSO = Nothing

End Sub


   在试图存取像软盘,光盘这些可移动介质驱动器,特别是存取笔记本电脑的可交换驱动器的时候要注意:Windows总是认为驱动器是存在的,而不管是否真的有盘片在里面。这时候可以用Drive对象IsReady对象来检测驱动器是否准备好。否则可能造成VB应用程序的死锁。


相关文章


在VB中使用艺术字
在VB中使用文件对象
用VisualBasic6.0编写客户服务器程序
学习用VB制作浏览器
用VB实现客户——服务器(TCP_IP)编程实例
如何建立拨号联接
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛