VisualBasic实用教程 薛亮 第9章

上传人:E**** 文档编号:89363973 上传时间:2019-05-24 格式:PPT 页数:79 大小:1.15MB
返回 下载 相关 举报
VisualBasic实用教程  薛亮 第9章_第1页
第1页 / 共79页
VisualBasic实用教程  薛亮 第9章_第2页
第2页 / 共79页
VisualBasic实用教程  薛亮 第9章_第3页
第3页 / 共79页
VisualBasic实用教程  薛亮 第9章_第4页
第4页 / 共79页
VisualBasic实用教程  薛亮 第9章_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《VisualBasic实用教程 薛亮 第9章》由会员分享,可在线阅读,更多相关《VisualBasic实用教程 薛亮 第9章(79页珍藏版)》请在金锄头文库上搜索。

1、第9章 文 件 操 作,9.1 文件及其结构 9.2 驱动器、目录和文件列表框 9.3 文件系统对象模型 9.4 传统的方式操作文件 习题九,9.1 文件及其结构,1记录 记录是计算机处理数据的基本单位,它由若干个相互关联的数据项组成。在数据处理中,表示一件事或一个人的某些属性就可构成一个记录。例如,进行学生成绩统计时,每个学生的学习成绩等信息组成一个记录,它由学号、姓名、各科成绩、总分、名次等数据项组成,格式如图9.1所示。,图9.1 记录格式,2文件及其种类 文件是记录的集合,例如,某班有100个同学,则100个同学的记录组成了一个学生成绩文件。 按照文件的存取方式及组成结构可以把文件分为

2、顺序文件和随机文件两类。 (1) 顺序文件(Sequential File)。顺序文件是一种文件结构相对简单的文件,适应于大量数据的成批处理。顺序存取是指首先把记录依次写进一个文件中,需要时再按顺序依次把记录逐个读出来,也就是记录的存取次序与它在文件中的实际次序相一致。例如,必须先读出前面99个记录,才可读出第100个记录,写入也是如此。顺序文件存取记录的排列形式如图9.2所示。,图9.2 顺序文件的记录排列格式,顺序文件的缺点是:如果要修改数据,必须将所有数据读入RAM中进行修改,然后再将修改好的数据重新写入磁盘,它不能随机存取数据。它的优点是所占的空间少,而且容易使用。,(2) 随机文件(

3、Random Access File)。对随机文件可以直接访问文件中的任意一个记录。例如,要读记录号为100的记录时,不必先读出前面的99个记录,可按记录号100直接进行存取。文件中记录的排列形式如图9.3所示。,图9.3 随机文件的记录排列格式,在这种文件中,每个记录的长度都是相同的,只要给出记录号,就可以直接访问某个记录,所以这种文件的存取速度相当快。 随机文件的优点是存取数据快速,更新容易,缺点是占用的空间较大,程序设计较烦。 按照文件的数据编码方式可将文件分为两类: (1) ASCII码文件,文件中数据是以ASCII码进行编码储存的。 (2) 二进制文件(Binary File),文件

4、中数据是以二进制格式进行编码存储的。它以字节数来定位数据,允许程序按所需的任何方式组织和访问数据,二进制文件可允许对文件中各字节数据进行存取访问和改变。这类文件灵活性较大,但编程工作量也较大。,9.2 驱动器、目录和文件列表框,1驱动器列表框 驱动器列表框是一种下拉式列表框,平时只显示当前驱动器名称,单击其右边的向下箭头,就会下拉出该计算机所拥有的所有磁盘驱动器,供用户选择。驱动器列表框有一个Drive属性,在运行时返回或设置所选定的驱动器。Drive属性不能在设计状态时设置,只能在程序中被引用或设置。其形式如下: 对象.Drivedrive,2目录列表框 目录列表框显示当前驱动器的目录结构及

5、当前目录下的所有子目录,供用户选择其中的某个目录作为当前目录。在目录列表框中,如果用鼠标双击某个目录,就会显示出该目录下的所有子目录。例如,在执行时用鼠标双击根目录就会显示出根目录下所有子目录,若要查看Windows子目录结构,只需双击Windows目录。 目录列表框只能显示出当前驱动器下的子目录,如果要显示其它驱动器下的目录结构,则必须重新设置目录列表框上的Path属性。Path属性用来返回或设置当前路径,不能在设计状态时设置。它适用于目录列表框和文件列表框,其形式如下: 对象.PathPathname,如果窗体上同时建立了驱动器列表框和目录列表框,在DrvDrive_Change事件过程中

6、加入一行语句: dirDirectory.PathdrvDrive.Drive,就可以产生同步效果,即当在驱动器列表框中改变驱动器,目录列表框中的内容立即同步跟着改变。因为,当在驱动器列表框drvDrive中改变了驱动器时,drvDrive.Drive属性改变,触发了drvDrive_Change事件,执行dirDirectory.pathDrvDrive.Drive语句,dirDirectory.Path属性改变就意味着目录列表框dirDirectory的内容改变了,立即显示刚刚被选定的驱动器的目录结构。,3文件列表框 文件列表框是一种列表框,显示当前驱动器中当前目录下的文件目录清单。文件列

7、表框也有Path属性,表示列表框中显示的文件所在的路径。每次重新设置Path属性都会引发“path_Change”事件。文件列表框的Pattern属性返回或设置文件列表框所显示的文件类型。该属性值为具有通配符的文件名字符串,既可以在设计时设置,也可以在程序中改变。缺省值为“*.*”,显示所有文件。其形式如下: 对象.Patternvalue,例如,如果执行了filFile.Pattern=“*.bmp“语句,filFile文件列表框中只显示 .bmp文件。 文件列表框还有一个它特有的属性FileName。FileName用来返回或设置被选定文件的文件名和路径。该属性在设计状态不能使用,其形式如

8、下: 对象.FileNamepathname 其中,对象为文件列表框名称,Pathname为一个指定文件名及其路径的字符串。,【例9-1】 下面的事件过程是当在文件列表框中单击某个文件名时,输出该文件的文件名。 Sub filFile_Click( ) MsgBox filFile.FileName End Sub 如果要实现在文件列表框中双击某个可执行文件时就能执行该可执行文件,则必须要有如下的过程: Sub filFile_DblClick( ) RetValShell(filFile.FileName,1) End Sub Shell函数的作用是执行程序。,文件列表框还有Archive、

9、Normal、Hidden、System、ReadOnly属性。这几种属性表示在应用程序运行期间,文件列表框显示何种类型的文件,它们都是逻辑型属性。 Archive为True表示显示文档文件; Normal为True表示显示正常标准文件; Hidden为True表示显示隐含文件; System为True表示显示系统文件; ReadOnly为True表示显示只读文件。 如果仅仅要显示系统文件,则设置System属性为True,其它属性为False。,驱动器列表框、目录列表框和文件列表框必须组合起来使用,才能构成一个文件管理系统。但是要使它们之间能产生同步效果,还要在dirDirectory_Ch

10、ange事件过程中加入语句: filFile.Path=dirDirectory.Path。,图9.4 文件控件示例,9.3 文件系统对象模型,Visual Basic的一个新功能是FSO(File System Object)对象模型。该模型提供了一个基于对象的工具来处理文件夹和文件。这使得用户除了使用传统的Visual Basic语句和命令之外,还可以使用熟悉的带有一整套属性、方法和事件的Object.Method语法处理文件夹和文件。FSO对象模型使得对文件的处理变得更加简单,不用考虑文件类型,只需调用带有属性、方法和事件的Object.Method语法来处理文件。FSO对象模型的属性方

11、法如表9.1所示。,表9.1 FSO对象模型的对象及其描述,图9.5 Scripting类型库,使用FileSystemObject文件系统对象模型的步骤如下: (1) 声明对象模型变量,并创建一个对象。可使用CreateObject方法,或将一个变量声明为FileSystemObject对象模型来创建一个FileSystemObject对象。 将一个变量声明为FileSystemObject对象类型的形式为: Dim fso As New FileSystemObject 使用CreateObject方法创建一个FileSystemObject对象的形式为: Set fso=CreateOb

12、ject(“Scripting.FileSystemObject“) 上面的语法中,Scripting是类型库的名称,而FileSystemObject则是想要创建一个实例对象的名称。,(2) 对新创建的对象使用适当的方法并访问其属性。其方法为 Dim fso As New FileSystemObject,fil As File Set fil =fso.GetFile(“c:test.txt“) 如果用CreateFile方法创建了一个新的文件夹,就只需给CreateFolder函数设置一个变量来获取创建文件夹的句柄,然后就可以访问其属性、方法和事件。,【例9-2】 创建一个文件,并显示文

13、件的名字,程序运行结果如图9.6所示。,图9.6 创建文件,Private Sub Command2_Click( ) Dim fso As New FileSystemObject, fil As File Set fil = fso.GetFile(“d:test.txt“) MsgBox “The name of the file “ & fil.Name End Sub,FSO对象模型使应用程序能够创建、改变、移动和删除文件,或者检测是否存在指定的文件,如果存在,指出在什么地方。FSO对象模型也能使用户获取关于文件的信息,诸如名称、创建日期或最近修改日期等等。,9.3.1 访问驱动器对

14、象 1获得驱动器的信息 Drive对象允许获得一个系统的各个驱动器的信息,包括物理驱动器或者网络虚拟驱动器。通过该对象的属性可以获得下列信息: (1) 以字节表示的驱动器总空间(TotalSize属性)。 (2) 以字节表示的驱动器可用空间(AvailableSpace或FreeSpace属性)。 (3) 为驱动器指定的符号(DriveLetter属性)和驱动器类型,诸如可移动的、固定的、CD-ROM或者RAM盘(DriveType属性)。,(4) 驱动器序列号(SerialNumber属性)。 (5) 驱动器使用的文件系统类型,如FAT,FAT32,NTFS等(FileSystem属性)。

15、(6) 驱动器是否可用(IsReady属性)。 (7) 共享和卷标的名称(ShareName和VolumeName属性)。 (8) 驱动器的路径或根文件夹(Path和RootFolder)。,图9.7 驱动器显示信息,2Drive对象的使用 下面举例说明如何使用Drive对象收集有关驱动器的信息。 【例9-3】使用GetDrive方法获得对已有驱动器的引用,并访问此对象的属性,用一个信息框显示出来,显示结果如图9.7所示。,Private Sub Command1_Click( ) Dim fso As New FileSystemObject, drv As Drive, s As Stri

16、ng Set drv = fso.GetDrive(fso.GetDriveName(“c:“) s = “Drive“ & UCase(“c:“) & “-“ s = s & drv.VolumeName & vbCrLf s = s & “Total Space:“ & FormatNumber(drv.TotalSize / 1024, 0) s = s & “Kb“ & vbCrLf s = s & “Free Space:“ & FormatNumber(drv.FreeSpace / 1024, 0) s = s & “Kb“ & vbCrLf MsgBox s End Sub,9.3.2 访问文件夹,表9.2 文件夹的操作方法列表,【例9-4】 对文件夹对象进行操作的示例。 Private Sub Command2_Click( ) 获得FileSystemObject的实例 Dim fso As New FileSystemObject, fldr As Folder, s As String

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号