版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,第十章 文件,10.1 文件的基本概念 10.2 顺序文件 10.3 随机文件 10.4 文件系统控件 10.5 文件系统对象模型,10.1 文件的基本概念,10.1.1 文件的类型 10.1.2 文件访问函数和语句,10.1.1 文件的类型,1.按数据性质分类,可分为程序文件和数据文件。 2. 按照文件的存取方式及组成结构可以把文件分为顺序文件,随机文件和二进制文件三类。 3. 根据文件的数据编码方式将文件分为文本文件和二进制文件,10.1.2 文件访问函数和语句,1.文件访问的常用语句 (1)改变当前驱动器:ChDrive (2)改变当前目录:ChDir (3)删除文件:Kill (4)
2、拷贝文件:FileCopy , (5)对文件重命名:Name As (6)创建新的目录(或文件夹): MkDir 或 (7)删除目录(或文件夹) : RmDir 或 (8)得到当前的路径: CurDir 驱动器名,10.1.2 文件访问函数和语句,2.与文件有关的重要函数 (1)LOF()函数 LOF函数返回某个文件的字节数,如LOF(1)返回#1文件的长度,如果返回值为0,则表示该文件是一个空文件。 (2)EOF()函数 EOF函数返回一个表示文件指针是否到达文件末尾的标志。如果到了文件尾,EOF函数返回TRUE,否则返回FALSE。对于顺序文件用EOF函数来测试是否到文件尾,对于随机文件和
3、二进制文件,当最近一个执行的GET语句无法读到一个完整记录时返回TRUE,否则返回FALSE。 (3)LOC()函数 LOC函数返回一个在打开文件中读写的位置,对于随机文件,它将返回最近读写的记录号;对于二进制文件,它将返回最近读写的一个字节的位置;对于顺序文件,它将返回在文件中当前字节位置除以128所得的值。,10.2 顺序文件,10.2.1 顺序文件的打开与关闭 10.2.2 顺序文件的读写,10.2.1 顺序文件的打开与关闭,一打开文件 格式:Open For Acess 操作类型 锁定 As # Len=记录类型 说明: (1)文件名是所要打开的文件的名称,其中包括完整的路径名称。 (
4、2)模式指定文件的打开方式。可以是以下三种之一: Input:以读方式打开文件,将数据从磁盘读入内存中,对文件进行读操作。 Output:以写方式打开文件。该方式创建一个新的顺序文件,等待输出数据,如果存在同名文件,则覆盖原有文件内容。 Append:以追加方式打开文件。打开一个已经存在的文件,等待输出数据追加到原文件内容之后。如果不存在该文件,则创建一个新文件。 (3)操作类型:规定对打开的文件进行操作的类型,有以下三种: READ:只读 WRITE:只写 READWRITE:读写皆可,(4)锁定:用于多进程环境中,以指定允许其他进程对本次打开的文件进行的操作类型。锁定有四种类型: Shar
5、ed(缺省):共享,允许其他任何进程对该文件进行读写操作。 Lock Read:禁止其他进程对该打开的文件进行读操作。 Lock Write:禁止其他进程对该打开的文件进行写操作。 Lock Read Write:禁止其他进程对该打开的文件进行读写操作。 (5)文件号是一个1511之间的整数,可以同时被打开的每个文件的文件号不能相同。文件被打开后,此文件号就代表该文件,通过它读写文件,直至文件被关闭。 (6)记录长度:是一个小于或等于32767的整数,它指定数据缓冲区的大小。,10.2.1 顺序文件的打开与关闭,二、关闭文件 对文件的各种操作执行完毕后,必须将文件关闭,否则会造成数据丢失等现象
6、。关闭文件的命令为Close,其格式如下: 命令格式:Close # ,# 说明: 1)文件号是Open语句打开文件时指定的文件号。 2)Close语句可以同时关闭多个已经打开的文件。,10.2.1 顺序文件的打开与关闭,10.2.2 顺序文件的读写,1.写文件命令Print # 语句 格式: Print # ,输出项列表 功能:将各输出项的值写入到指定的文件中。 2.写文件命令write # 语句 格式:Write # ,输出项列表 功能:将各输出项的值写入到指定的文件中。 3.读文件命令INPUT # 语句 有三种格式: 格式一:Input # 文件号,变量列表 格式二:Line Inpu
7、t # 文件号,字符串变量 格式三:Input$(读取字符数,# 文件号),10.3 随机文件,10.3.1 定义数据类型和变量声明 10.3.2 随机文件的打开与关闭 10.3.3 随机文件的读写操作,10.3.1 定义数据类型和变量声明,自定义数据类型的语句格式为: Type 自定义类型名 元素名 (下标) As 类型名 元素名 (下标) As 类型名 End Type 例: Type StudType SNO As Interger SName As String * 20 SBirthday As Date SSex As String *1 SMark(1 to 3) As Sing
8、le End Type,10.3.2 随机文件的打开与关闭,1.随机文件的打开 语法格式:Open “文件名” For Random As #文件号 Len=记录长度 说明: 随机文件打开后,读写是相同模式,既可以从文件中读取数据,也可以向文件中写入数据。 文件名是所要打开的文件名称,包括完整的路径名称。 记录长度用来指定随机文件每条记录的长度,默认为128字节,取值范围为032K字节,也可以在程序中用Len函数获得记录长度。 例如:打开D盘的随机文件D3.dat,使用的命令是: Open “D:d3.dat” For Random As #1 Len=Len(Student) 2.随机文件的
9、关闭 关闭随机文件与关闭顺序文件相同。使用命令Close #文件号。,10.3.3 随机文件的读写操作,1、随机文件的写操作 对随机文件的写操作使用Put命令,其格式如下: 格式:Put # 文件号,记录号,变量名 功能:将记录变量中的数据写入指定文件中记录号指定的记录位置。 、随机文件的读操作 对随机文件的读操作使用Get命令,其格式如下: 格式:Get #文件号,记录号,变量名 功能:从指定的文件中读取记录号指定的记录,并赋值给记录变量。,10.4 文件系统控件,10.4.1 驱动器列表框控件 10.4.2 目录列表框控件 10.4.3 文件列表框控件 10.4.4 文件系统控件的组合使用
10、,10.4.1 驱动器列表框控件,驱动器列表框的常用属性、事件和方法有: 1Drive属性 驱动器列表框的Drive属性,用于在运行时 返回或设置所选定的驱动;Drive属性不能在 设计状态时设置,只能在程序中被引用或设置。 其形式如下: 对象.Drive =drive 其中:对象代表驱动器列表框名称。drive代表驱动器名称。 2.Change事件 每次在重新设置驱动器列表框的Drive属性时都会引发该对象的Change事件。,10.4.2 目录列表框控件,目录列表框的常用属性、事件和方法有: 1.Path属性 目录列表框的Path属性用来返回或设置当前路径,不能在设计状态时设置,其格式如下
11、: 对象.Path=pathname 其中:对象指目录列表框或文件列表框,pathname是一个路径名字符串。 2.Change事件 每次在重设目录列表框的Path属性时都会引发该对象的Change事件。,10.4.3 文件列表框控件,文件列表框的常用属性、事件和方法有: 1.Path属性 文件列表框也有Path属性,表示列表框中显示的文件所在的路径。 格式为:对象.Path=pathname 2.Pattern属性 文件列表框的Pattern属性返回或设置文件列表框所显示的文件类型。该属性值为具有通配符的文件名字符串,缺省值为“*.*”,显示所有文件。其格式为:对象. Pattern =va
12、lue 其中:对象指文件列表框名称,value是一个文件名字符串。 例如:file1.Pattern=”*.exe”,则在文件列表框中只显示后缀为exe的可执行文件。,10.4.3 文件列表框控件,3.FileName属性 文件列表框的FileName属性返回或设置被选定文件的文件名和路径。该属性在设计状态不能使用。其格式如下: 对象. FileName =pathname 其中,pathname是一个指定文件名及其路径的字符串。 注意:引用FileName时仅仅返回被一文件的文件名,需要用Path属性才能得到其路径,但设置时文件名之前可以带路径。 4.PathChange事件 每次重设Pat
13、h属性都会引发PathChange事件。 5.PatternChange事件 当文件列表框的Pattern属性改变时触发该事件,10.4.4 文件系统控件的组合使用,三个文件系统控件必须协调工作才能构成一个文件管理系统。为了使它们之间能产生同步效果,需要编写如下事件过程。 1)当用户在驱动器列表框中选中一个新的驱动器后,目录列表框中的目录也随之改变。 Private Sub Drive1_Change() Dir.Path=Drive1.Drive End Sub 2)当目录列表框的目录发生改变时,文件列表框中的文件也随之改变 Private Sub Dir1_Change() File1.P
14、ath=Dir1.Path End Sub,10.5 文件系统对象模型,10.5.1 文件系统对象模型概述 10.5.2 管理驱动器 10.5.3 管理文件夹 10.5.4 管理文件,10.5.1 文件系统对象模型概述,文件系统对象模型(FSO 对象模型)使应用程序能够创建、改变、移动和删除文件夹,或者检测是否存在指定的文件夹。FSO对象模型也可以获取关于文件夹的信息,诸如名称、创建日期或最近修改日期等等。 FSO 对象模型包括以下对象:,10.5.1 文件系统对象模型概述,使用FileSystemObject 对象进行编程一般要经过如下的步骤: 1.创建FileSystemObject对象
15、创建FileSystemObject对象可以通过如下两种方法完成: (1)将一个变量声明为 FileSystemObject 对象类型: 例:Dim fso As New FileSystemObject Dim drv As Drive (2)使用 CreateObject 方法来创建一个FileSystemObject对象: 例:Set fso = CreateObject(Scripting.FileSystemObject“) 2.应用相关方法 创建对象实例后,下一步就是使用该FileSystemObject 对象的适当方法。例如,可以使用 CreateFolder 方法创建一个文件夹
16、,也可以使用 CreateTextFile 方法创建一个文本文件。 3.访问对象相关属性,10.5.2 管理驱动器,对驱动器的操作主要通过Drive对象并配合FileSystemObject对象,FSO不支持进行创建或删除驱动器的操作,而只允许收集关于系统所用驱动器的信息。通过该对象的属性可以获得下列信息: 以字节表示的驱动器总空间 (TotalSize 属性) 以字节表示的驱动器可用空间 (AvailableSpace 或 FreeSpace 属性) 为驱动器指定的字母号 (DriveLetter 属性) 驱动器类型,诸如可移动的、固定的、网络、CD-ROM等 驱动器序列号 (SerialN
17、umber 属性) 驱动器使用的文件系统类型,诸如 FAT、 FAT32、 NTFS等等 (FileSystem属性) 驱动器是否可用 (IsReady 属性) 共享和卷标的名称(ShareName 和VolumeName 属性) 驱动器的路径或根文件夹 (Path和RootFolder 属性),10.5.3 管理文件夹,文件夹操作主要包括创建、复制、移动和删除文件夹,检查文件夹是否存在以及指定路径中某文件夹中相应的文件对象。完成这些操作可以使用 FileSystemObjec对象或 Folder 对象的方法。,10.5.4 管理文件,对于文件操作主要有两类: 1.移动、复制、和删除文件: V
18、B6可通过FileSystemObject对象对文件进行复制(CopyFile)、移动(MoveFile)与删除(DeleteFile)等操作,在File对象中等效的方法有Copy 、Move和Delete。这类操作和Folder对象类似,使用的命令参见下表 :,10.5.4 管理文件,2.创建文件。 (1)、用 File System Objects 创建文本文件创建文本文件有三种方法: 方法一:使用CreateTextFile方法创建一个新文本文件 语法:object.CreateTextFile(filename,overwrite,unicode) 功能:该方法创建一个指定的文件名的文本文件并且返回一个用于读写该文件的TextStream对象。 方法二:使用OpenAsTextStream方法创建一个新文本文件 语法:object.OpenAsTextStream(iomode,format) 功能:打开一个指定的文件并返回一个TextStream对象,该对象可用来对文件进行读、写、追加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届河南省济源英才学校高一上数学期末复习检测模拟试题含解析
- 医疗数据安全人才跨学科竞赛体系
- 医疗数据安全与医疗数字化转型协同发展路径
- 医疗数据安全与区块链身份认证:患者隐私保护路径
- 大理市重点中学2026届高一生物第一学期期末联考模拟试题含解析
- 胃息肉切除课件
- 2026届四川省绵阳市三台中学高三英语第一学期期末统考模拟试题含解析
- 06:2024届辽宁省沈阳市高三下学期三模物理试卷 学生版答案
- DB14-T 3590-2025 入河排污口水质自动监测站建设技术规范
- 肾脏穿刺术课件
- AQ 1050-2008 保护层开采技术规范(正式版)
- 2024-2029年米酒项目融资商业计划书
- 中华民族风俗文化智慧树知到期末考试答案2024年
- 六宫格数独100题
- MOOC 大数据与法律检索-湖南师范大学 中国大学慕课答案
- JTS180-2-2011 运河通航标准
- 肺癌健康教育宣教
- 某厂降压变电所电气部分设计
- 整理收纳师行业乱象分析
- 外贸企业出口退税计算及账务处理会计分录
- 压力容器生产单位压力容器质量安全日管控、周排查、月调度制度(含表格记录)
评论
0/150
提交评论