VB6中的FSO对象模型

落尘923

落尘923

2016-02-19 17:56

下面是个VB6中的FSO对象模型教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!
在编程中,我们经常需要对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件等。在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:estfile.txt″
  
  Setfil=fso.GetFile(″c:estfile.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:estfile.txt″,True)
  
  txtfile.Write(″这是一个测试文件!″)
  
  txtfile.Close
  
  Setfil1=fso.GetFile(″c:estfile.txt″)
  
  ′获得一个文件句柄
  
  fil1.Copy(″c:emp1estfile.txt″)  
  
  ′将该文件复制到emp1目录下
  
  fil1.Move(″c:emp2estfile.txt″)  
  
  ′将该文件移动到emp2目录下
  
  Setfil1=fso.GetFile(″c:emp1estfile.txt″)
  
  ′获得这些文件当前位置的句柄
  
  Setfil2=fso.GetFile(″c:emp2estfile.txt″)
  
  fil1.Delete
  
  fil2.Delete
  
  EndSub->

展开更多 50%)
分享

猜你喜欢

VB6中的FSO对象模型

编程语言 网络编程
VB6中的FSO对象模型

FSO对象模型在VB中的应用

编程语言 网络编程
FSO对象模型在VB中的应用

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VB6中动态设置报表结果

编程语言 网络编程
VB6中动态设置报表结果

VB6中ADO流对象实现对二进制大型对象的读取方法

电脑网络
VB6中ADO流对象实现对二进制大型对象的读取方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

VB6 中 善用 ByRef 提升速度

电脑网络
VB6 中 善用 ByRef 提升速度

用VB6读写数据库中的图片

vb
用VB6读写数据库中的图片

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

巧用名称框选择过宽的Excel单元格区域

巧用名称框选择过宽的Excel单元格区域

Windows 10正式版Skype消息应用曝光

Windows 10正式版Skype消息应用曝光
下拉加载更多内容 ↓