下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FSO对象模型在VB中的应用从 Visual Basic 的第一版至今,VB中有关文件的处理都是通过使用 Open 、Write以及其它一些相关的语句和函数来实现的。随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。因此,从VB6.0开始,微软提出了一个全新的文件系统对象FSO。 一、简介 文件系统对象FSO的英文全称是File System Object ,这种
2、对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。 FSO 对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。更令人高兴的是FSO 对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CDROM还是可移动磁盘,当前磁盘
3、的剩余空间还有多少。而以前要获取这些信息必须通过调用Windows API函数集中的相应函数才能实现。 FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件
4、进行的;FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO对象模型中无处不在;最后的TextStream对象则是用来完成对文件的读写操作的。
5、60; 在初步了解了FSO对象模型之后,下面我们通过实际的代码对不同的对象进行进一步的阐述。 二、FSO对象模型的应用 (一)创建FSO对象模型 由于FSO对象包含在Scripting 类型库 (Scrrun.Dll)中,所以在使用前首先需要在在工程中引用这个文件,单击“工程”,“引用”,然后在“引用”对话框中选中“Microsoft Scripting Runtime”前的复选框,然后单击“确定”。 要创建FSO
6、对象可以采用两种方法,一种是将一个变量声明为FSO对象类型:Dim fsoTest As New FileSystemObject;另一种是通过CreateObject方法创建一个FSO 对象:Set fsoTest = CreateObject(“Scripting.FileSystemObject")。在实际使用中具体采用哪种声明方法,可根据个人的使用习惯而定。 完成了FSO对象模型的创建之后,就可以利用创建的对象模型的方法访问下属各个对象的
7、属性来获取所需信息或进行相关操作了,具体的方法在下面结合各个对象分别讲述。 (二)Drive对象 上面已经提到Drive对象是用来获取当前系统中各个驱动器的信息的。由于Drive对象没有方法,其应用都是通过属性表现出来的,所以我们必须熟悉Drive对象的属性: AvailableSpace:返回在指定的驱动器或网络共享上的用户可用的空间容量。 DriveLetter :返回某个指定本地驱动器或网络驱动器的字母,这个属性是只读的。 DriveT
8、ype:返回指定驱动器的磁盘类型。 FileSystem: 返回指定驱动器使用的文件系统类型。 FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的。 IsReady:确定指定的驱动器是否准备好。 Path :返回指定文件、文件夹、或驱动器的路径。 RootFolder :返回一个 Folder 对象,该对象表示一个指定驱动器的根文件夹。只读属性。
9、; SerialNumber:返回用于唯一标识磁盘卷标的十进制序列号。 ShareName:返回指定驱动器的网络共享名 TotalSize :以字节为单位,返回驱动器或网络共享的总空间大小。 VolumeName :设置或返回指定驱动器的卷标名。 从上面的属性可以看到Drive对象基本上包含了日常操作所需的全部的驱动器信息,因此在使用中是非常方便的。下面通过一个实例讲述Drive对象的使用。首先在VB中建立一个工程,然后添加一个命令按钮,将其
10、Caption设置为“TestDrive”,然后在click事件中加入以下代码: Dim fsoTest As New FileSystemObject Dim drv1 As Drive, sReturn As String Set drv1 = fsoTest.GetDrive(“C:")
11、 sReturn = “Drive " “C:" vbCrLf sReturn = sReturn “VolumeName" drv1.VolumeName vbCrLf sReturn = sReturn “Total
12、Space: " FormatNumber(drv1.TotalSize / 1024, 0) sReturn = sReturn “Kb" vbCrLf sReturn = sReturn “Free Space: " Format
13、Number(drv1.FreeSpace / 1024, 0) sReturn = sReturn “Kb" vbCrLf sReturn = sReturn “FileSystem:" drv1.FileSystem vbCrLf MsgBox sReturn
14、60; 其中GetDrive方法返回一个与指定路径中的驱动器相对应的 Drive 对象。该方法的语法格式为object.GetDrive drivespec,object是一个FSO对象的名称,drivespec用于指定驱动器的名称。 按F5运行上述代码,按下TestDrive按钮就会弹出一个消息框显示C盘的信息。 (三)Folder对象 在FSO 对象模型中,提供了丰富的有关文件夹操作的方法,这些方法分别是: F
15、ileSystemObject对象有关文件夹的方法: CreateFolder :创建一个文件夹 。 DeleteFolder:删除一个文件夹 。 MoveFolder :移动一个文件夹 。 CopyFolder:复制一个文件夹 。 FolderExists: 查找一个文件夹是否在驱动器上 。 GetFolder
16、160; :获得已有Folder对象的一个实例 。 GetParentFolderName: 找出一个文件夹的父文件夹的名称。 GetSpecialFolder: 找出系统文件夹的路径。 Folder对象的方法: Delete :创建一个文件夹 。 Move :移动一个文件夹 。 Copy:复制一个文件夹。
17、; Name:检索文件夹的名称。 在此需要强调一点,前面我们曾经提到过FSO对象模型包含的方法是冗余的,所以Folder对象的Delete、Move、Copy方法和FileSystemObject对象的DeleteFolder、MoveFolder、CopyFolder方法实际上是相同的,因此在实际使用中可以任选其中的一种。 和Drive对象一样,下面通过实例演示Folder对象的应用。在VB下新建一个工程,然后在上面添加三个命令按钮,然后在Form1的通用部分加入以下代码: Option Exp
18、licit Dim fsoTest As New FileSystemObject Dim folder1 As Folder 并且分别在三个命令按钮的click事件输入以下代码: Private Sub CmdCreate_Click() ' 获取 Folder 对象。
19、; Set folder1 = fsoTest.GetFolder(“C:") '创建文件夹 fsoTest.CreateFolder (“C:Test") MsgBox “folder C:Test has created" End Sub Private Sub
20、 CmdDelete_Click() ' 获取 Drive 对象。 Set folder1 = fsoTest.GetFolder(“C:") '删除文件夹 fsoTest.DeleteFolder (“C:Test") MsgBox“folder C:Test has
21、 deleted" End Sub Private Sub CmdGetPro_Click() '获取文件夹的有关信息 Dim sReturn As String Set folder1 = fsoTest.GetFolder(“C:Windows")
22、 'sReturn = “The folder's Attributes is " folder1.Attributes vbCrLf '获取最近一次访问的时间 sReturn = sReturn “The folder's last access
23、time is " folder1.DateLastAccessed vbCrLf '获取最后一次修改的时间 sReturn = sReturn “The folder's last modify time is " folder1.DateLastMod
24、ified vbCrLf '获取文件夹的大小 sReturn = sReturn “The folder's size is " FormatNumber(folder1.Size / 1024, 0) sReturn = sReturn
25、 “Kb" vbCrLf '判断文件或文件夹类型 sReturn = sReturn “The type is " folder1.Type vbCrLf MsgBox sReturn End Sub 上述代
26、码中提到的CreateFolder方法的语法形式为object.CreateFolder(foldername)。foldername指定了要创建的文件夹的名称,而DeleteFolder方法的语法形式为object.DeleteFolder folderspec,force,其中,folderspec用来指定要删除的文件夹的名称,force是一个可选的布尔型参数,如果希望删除只读属性的文件夹则将该值设为TRUE,默认为FALSE。至于代码中用到的 Folder 对象的属性限于篇幅,就不详细介绍了,读者可参考VB文档中的相关内容。
27、60; (四)File对象和TextStream对象 由于有关File对象的复制,删除,移动等操作和Folder对象类似,所以这部分内容就不再重复。这里主要讲述利用File对象和TextStream对象操作文本文件。 通常对文本文件的操作包括在文本文件中创建数据,在文本文件中添加数据,删除文本文件的数据等操作。这些操作都可以通过File对象和FileSystemObject对象的相关方法完成。不过在使用之前,首先要创建一个文本文件,这可以通过三种方法完成。一种方法是使用FileSystemObject对象的 CreateTextFile 方法。要创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 5169.10-2026电工电子产品着火危险试验第10部分:灼热丝/热丝基本试验方法灼热丝装置和通用试验方法
- 临港新区新建煤炭输送设备生产厂房项目可行性研究报告
- 国产人工耳蜗介绍课件
- 中药用磷酸氢钙生产车间建设项目可行性研究报告
- 歌唱启蒙课件
- 工程制作指南课件
- 方剂学及中药综合知识全真模拟试题及答案
- 土地登记代理人考试高频考点习题集及答案
- 建设工程招标代理机构资质认定模拟试卷及答案
- 高处作业安全操作证考试模拟试题及答案
- 2026年江西省建筑设计研究总院集团有限公司第二批岗位招聘11人考试备考题库及答案解析
- 2026年6月英语六级真题册(三套全)
- 重庆市政府采购评审专家真题库及参考答案
- 2026无人机植保飞防行业市场现状分析及效率提升与成本控制研究
- 污水处理设施运维服务投标方案(技术标)
- 月经保健门诊工作制度
- 2025-2026学年湖南省岳阳市岳阳楼区八年级(上)期末数学试卷(含答案)
- 疗愈经济蓝皮书2026-愈到研究院-202601
- 火电厂阀门课件
- 2025届四川省成都市高中高三一诊考试语文试卷含解析
- 宅基地转让协议书
评论
0/150
提交评论