找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6356|回复: 5

[分享]关于file system object(FSO)基础!!菜鸟看过来!

[复制链接]

54

主题

345

回帖

0

精华

铂金会员

天马行空

积分
2205
发表于 2005-5-7 05:41:51 | 显示全部楼层 |阅读模式
<P>从网上看了些关于FSO的东东,现整理后和菜鸟们分享:</P>
<P>文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。</P>
<P>  FSO 对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。更令人高兴的是FSO 对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CD-ROM还是可移动磁盘,当前磁盘的剩余空间还有多少。而以前要获取这些信息必须通过调用Windows API函数集中的相应函数才能实现。</P>
<P>  FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO对象模型中无处不在;最后的TextStream对象则是用来完成对文件的读写操作的。</P>
<P>  在初步了解了FSO对象模型之后,下面我们通过实际的代码对不同的对象进行进一步的阐述。</P>
<P>       创建FSO对象模型</P>
<P>  由于FSO对象包含在Scripting 类型库 (Scrrun.Dll)中,所以在使用前首先需要在在工程中引用这个文件,单击“工程”,“引用”,然后在“引用”对话框中选中“Microsoft Scripting Runtime”前的复选框,然后单击“确定”。</P>
<P>  要创建FSO对象可以采用两种方法,一种是将一个变量声明为FSO对象类型:
   
   Dim fsoTest As New FileSystemObject;</P>
<P>  另一种是通过CreateObject方法创建一个FSO 对象:</P>
<P>   Set fsoTest = CreateObject(“Scripting.FileSystemObject");</P>
<P>  在实际使用中具体采用哪种声明方法,可根据个人的使用习惯而定。
下面找了两个很基本的例子大家一起看看:</P>
<P>1、判断光驱的盘符:
  Function GetCDROM() ' 返回光驱的盘符(字母)
  Dim Fso As New FileSystemObject '创建 FSO 对象的一个实例
  Dim FsoDrive As Drive, FsoDrives As Drives '定义驱动器、驱动器集合对象
  Set FsoDrives = Fso.Drives
  For Each FsoDrive In FsoDrives '遍历所有可用的驱动器
  If FsoDrive.DriveType = CDRom Then '如果驱动器的类型为 CDrom
  GetCDROM = FsoDrive.DriveLetter '输出其盘符
  Else
  GetCDROM = ""
  End If
  Next
  Set Fso = Nothing
  Set FsoDrive = Nothing
  Set FsoDrives = Nothing
  End Function</P>
<P>  2、判断文件、文件夹是否存在:
  '返回布尔值:True 存在,False 不存在,filername 文件名
  Function FileExist(filename As String)
  Dim Fso As New FileSystemObject
  If Fso.FileExists(filename) = True Then
  FileExist = True
  Else
  FileExist = False
  End If
  Set Fso = Nothing
</P>

<P>好了,又是一个晚上过去拉,才发现天色已经大明,看看时间快6点了,我这只夜猫该休息去了,大家好好学习!!!!!!!</P>
爱情是狗屁,不如好好去努力, 享受生活才是快乐的真谛! 本人比较菜,多多指教!

54

主题

345

回帖

0

精华

铂金会员

天马行空

积分
2205
 楼主| 发表于 2005-5-8 15:51:30 | 显示全部楼层
<P>有人看没~
晕 ~!</P>
爱情是狗屁,不如好好去努力, 享受生活才是快乐的真谛! 本人比较菜,多多指教!

54

主题

345

回帖

0

精华

铂金会员

天马行空

积分
2205
 楼主| 发表于 2005-5-10 11:33:23 | 显示全部楼层
<P>呵呵 ,好好看!</P><P>我也菜不懂!</P>
爱情是狗屁,不如好好去努力, 享受生活才是快乐的真谛! 本人比较菜,多多指教!

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2005-5-10 21:56:04 | 显示全部楼层
<P>FSO在很多时候是能简单地完成VB自身实现起来比较麻烦的功能.</P><P>还有很多的对象也是这样</P>
我就是嗷嗷叫的老马了......

54

主题

345

回帖

0

精华

铂金会员

天马行空

积分
2205
 楼主| 发表于 2005-5-10 23:11:45 | 显示全部楼层
我以后尽量多找些这样东西 大家看看哈!
爱情是狗屁,不如好好去努力, 享受生活才是快乐的真谛! 本人比较菜,多多指教!

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2005-5-23 17:56:29 | 显示全部楼层
<P>在VB里,有很多的有强大功能的对象.</P><P>用得好,如虎添翼!!!!</P>
我就是嗷嗷叫的老马了......

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表