您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VB > 正文
FSO对象模型在VB中的应用
[文章信息]
作者:
时间:2003-01-28
出处:天极论坛
责任编辑:方舟
[文章导读]
从 Visual Basic 的第一版至今,VB中有关文件的处理都是通过使用 Open 、Write以及其它一些相关的语句和函数来实现的
advertisement
热点推荐
· Mail Direct提高发邮件效率
· 瑞星个人防火墙安装与使用(多图)
· 真正的Win XP系统启动加速
· ACDSee处理图片三招制胜
· 文件加密亮新招—Easy File
[正文]

1 2  下一页


  从 Visual Basic 的第一版至今,VB中有关文件的处理都是通过使用 Open 、Write以及其它一些相关的语句和函数来实现的。随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。因此,从VB6.0开始,微软提出了一个全新的文件系统对象FSO。

  一、简介

  文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。

  FSO 对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。更令人高兴的是FSO 对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CD-ROM还是可移动磁盘,当前磁盘的剩余空间还有多少。而以前要获取这些信息必须通过调用Windows API函数集中的相应函数才能实现。

  FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO对象模型中无处不在;最后的TextStream对象则是用来完成对文件的读写操作的。

  在初步了解了FSO对象模型之后,下面我们通过实际的代码对不同的对象进行进一步的阐述。

  二、FSO对象模型的应用

  (一)创建FSO对象模型

  由于FSO对象包含在Scripting 类型库 (Scrrun.Dll)中,所以在使用前首先需要在在工程中引用这个文件,单击“工程”,“引用”,然后在“引用”对话框中选中“Microsoft Scripting Runtime”前的复选框,然后单击“确定”。

  要创建FSO对象可以采用两种方法,一种是将一个变量声明为FSO对象类型:
   
   Dim fsoTest As New FileSystemObject;

  另一种是通过CreateObject方法创建一个FSO 对象:

   Set fsoTest = CreateObject(“Scripting.FileSystemObject");

  在实际使用中具体采用哪种声明方法,可根据个人的使用习惯而定。

  完成了FSO对象模型的创建之后,就可以利用创建的对象模型的方法访问下属各个对象的属性来获取所需信息或进行相关操作了,具体的方法在下面结合各个对象分别讲述。

  (二)Drive对象

   上面已经提到Drive对象是用来获取当前系统中各个驱动器的信息的。由于Drive对象没有方法,其应用都是通过属性表现出来的,所以我们必须熟悉Drive对象的属性:

属性 功能
AvailableSpace 返回在指定的驱动器或网络共享上的用户可用的空间容量。
DriveLetter 返回某个指定本地驱动器或网络驱动器的字母,这个属性是只读的。
DriveType 返回指定驱动器的磁盘类型。
FileSystem 返回指定驱动器使用的文件系统类型。
FreeSpace 返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的。
IsReady 确定指定的驱动器是否准备好。
Path 返回指定文件、文件夹、或驱动器的路径。
RootFolder 返回一个 Folder 对象,该对象表示一个指定驱动器的根文件夹。只读属性。
SerialNumber 返回用于唯一标识磁盘卷标的十进制序列号。
ShareName 返回指定驱动器的网络共享名
TotalSize 以字节为单位,返回驱动器或网络共享的总空间大小。
VolumeName 设置或返回指定驱动器的卷标名。

  从上面的属性可以看到Drive对象基本上包含了日常操作所需的全部的驱动器信息,因此在使用中是非常方便的。下面通过一个实例讲述Drive对象的使用。首先在VB中建立一个工程,然后添加一个命令按钮,将其Caption设置为“TestDrive”,然后在click事件中加入以下代码:

Dim fsoTest As New FileSystemObject
Dim drv1 As Drive, sReturn As String
Set drv1 = fsoTest.GetDrive(“C:\")
sReturn = “Drive " & “C:\" & vbCrLf
sReturn = sReturn & “VolumeName" & drv1.VolumeName & vbCrLf
sReturn = sReturn & “Total Space: " & FormatNumber(drv1.TotalSize / 1024, 0)
sReturn = sReturn & “Kb" & vbCrLf
sReturn = sReturn & “Free Space: " & FormatNumber(drv1.FreeSpace / 1024, 0)
sReturn = sReturn &“Kb" & vbCrLf
sReturn = sReturn &“FileSystem:" & drv1.FileSystem & vbCrLf
MsgBox sReturn

  其中GetDrive方法返回一个与指定路径中的驱动器相对应的 Drive 对象。该方法的语法格式为object.GetDrive drivespec,object是一个FSO对象的名称,drivespec用于指定驱动器的名称。
按F5运行上述代码,按下TestDrive按钮就会弹出一个消息框显示C盘的信息。


1 2  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • Mail Direct提高发邮件效率
  • 瑞星个人防火墙安装与使用(多图)
  • 真正的Win XP系统启动加速
  • 机甲文化激起千层浪 《机战》封测
  • 『天下竞技』最新情报
  • 两难 拍摄手机 vs 低端DC
  • 拒绝衰减的图象 DVI液晶导购
  • 1066MHz FSB普及无望 i925XE处境尴尬
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索