VB程序设计基础教程第7章_第1页
VB程序设计基础教程第7章_第2页
VB程序设计基础教程第7章_第3页
VB程序设计基础教程第7章_第4页
VB程序设计基础教程第7章_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 文 件 处 理,7.1 文件处理方式,7.1.1 基本概念,7.1.2 文件访问类型,顺序文件的常用语句和函数,7.1.3 顺序文件,(1)Open语句,表7-1 文件访问方式,表7-2 操作方式,表7-3 网络操作方式,(2)Close语句 当文件读写完后,用来关闭文件,其一般语法格式为: Close 文件号 , 文件号 若省略参数,则将关闭用Open语句打开的所有活动文件。 关闭某文件时,不仅所有与该文件相关联的缓冲区空间都会被释放,而且文件与其文件号之间的关联将终结。,(3)Reset语句 Reset用于关闭Open语句打开的所有活动文件,并将文件缓冲区的所有内容写入磁盘,其一般

2、语法格式为: Reset (4)Lock和Unlock语句 锁定(Lock)用于禁止其他进程对一个已打开的顺序文件进行存取。解锁(Uulock)用于释放由锁定语句设置的对一个文件的多重访问保护,其一般语法格式为: Lock #文件号 ,记录范围 Unlock #文件号,记录范围 顺序文件锁定和解锁的范围是整个文件,即使指明范围也不会起作用。,(5)FileAttr函数 FileAttr函数用来返回Open语句所打开文件的方式,其一般语法格式为: FileAttr(文件号,返回类型),表7-4 存取方式返回值,(6)FileLen函数 FileLen 函数用来返回一个文件的长度,单位为字节,其一

3、般语法格式为: FileLen(文件名) 文件名是字符串表达式,可以包含文件的目录或文件夹及驱动器。当调用FileLen函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。 (7)Free File函数 FreeFile函数用来返回下一个可供Open语句使用的文件号,并提供一个尚未使用的文件号(使用FreeFile函数获取可用的文件号是编程的良好习惯),其一般语法格式为: FreeFile (文件号范围) 文件号范围是指定的一个范围,以便返回该范围内的下一个可用文件号。当为0(默认)时,返回一个在1255之间的文件号;当为1时,则返回一个在256511之间的文件号。,(8)L

4、of函数 Lof函数用来返回Open语句打开的文件大小,单位为字节,其一般语法格式为: Lof(文件号) (9)Loc函数 Loc函数是用来在已打开的文件中指定最近一次读写的位置。返回文件中当前字节位置除以128后的值,其一般语法格式为: Loc(文件号),(10)Seek函数 Seek函数用来在Open语句打开的文件中指定当前的读写位置,即文件的当前指针位置。因此,Seek函数Loc函数1,其一般语法格式为: Seek(文件号) (11)Seek语句 在用Open语句打开的文件中,设置下一个读写操作的位置。,(12)EOF函数 EOF函数表明是否到达顺序文件的结尾。使用EOF是为了避免在文件

5、结尾处读出而产生错误,对于顺序文件EOF函数告诉用户是否到达文件的最后一个字符或数据项。其一般语法格式为: EOF(文件号) EOF函数当到达文件尾部时返回True,否则返回False。,顺序文件的写操作,(1)Print语句 Print语句用于将一个或多个格式化数据写到顺序文件中,其一般语法格式为: Print#文件号 ,输出列表 其中,文件号是在Open语句中指定的文件号。输出列表是准备写入文件中的数据,可以是变量名也可以是常量数据,数据之间可以用逗号或分号隔开。,(2)Write语句 Write语句用于将表达式写到顺序文件中,其一般语法格式为: Write#文件号 ,输出列表 其中,文件

6、号是在Open语句中指定的文件号。输出列表是要写入文件中的数据,可以是变量名也可以是常量数据,输出项之间可以用逗号、空格或分号隔开。,顺序文件的读操作,(1)Input语句 Input语句用于从已经打开的顺序文件中读出数据并赋给变量,其一般语法格式为: Input#文件号 ,变量列表 其中,变量用来存放从顺序文件中读出的数据。变量列表中的变量用逗号分开,并且变量的个数和类型应该与从磁盘文件读取的记录中所存储的数据状况一致。,(2)Line Input语句 Line Input语句是从打开的顺序文件中读取一个记录,即一行信息。其一般语法格式为: Line Input 文件号 ,字符串变量 其中,

7、变量用来接收从顺序文件中读出的一行数据。,7.1.4 随机文件,随机文件常用的语句和方法,Open和Close、Reset语句 Lock 和Unlock语句 FileAttr函数 FileLen和Lof函数 FreeFile函数 Seek语句 EOF函数 Loc函数 Seek函数,表7-5 锁定或解锁的范围,随机文件的写操作,在Visual Basic中Put语句用于对随机文件进行写操作,其一般语法格式为: Put# 文件号,记录号,变量名 其中,记录号指明了在此记录号开始写入,用变量中的数据来替换由记录号所指定的记录。记录号可以是整型、变体或长整型,取值范围是12 147 483 647。如

8、果省略记录号,则为最近一个Get或Put语句的(最近一个Seek语句指出的)下一个记录。变量名表示是要写入磁盘的数据的变量名,其数据类型应与记录类型一致。,随机文件的读操作,在Visual Basic中可用Get#语句将一个已打开的磁盘文件读出到一个变量。读出数据时所用的数据类型必须与建立文件时所用的数据类型一致,通常用Put将Get读出的数据写入一个文件,其一般语法格式为: Get #文件号,记录号,变量名 例如: Get#1, 10, S1 表示将1号文件中的第10个记录读出,并存放到变量S1中去。,7.1.5 二进制文件,当使用文件时,二进制访问方式具有最大的灵活性。二进制存取可以获取任

9、何一个文件的原始字节。任何类型的文件都可以用二进制访问的方式打开。 二进制访问文件中的字节可以代表任何东西,通过使用二进制型访问可以使磁盘空间的使用降到最小。 二进制存取方式与随机存取方式一样,使用Get #语句和Put #语句进行读写操作,使用Open语句打开文件。,7.2 文件系统控件,控件的常用属性,7.2.1 控件常用属性与事件,控件的常用事件,表7-6 文件系统控件的常用事件,7.2.2 驱动器列表框,设计一个驱动器选择框,当单击驱动器列表框中的某个驱动器名称时,用消息框显示所选中的驱动器。其操作步骤如下:,图7-1 各控件在窗体中的位置,图7-2 运行程序 图7-3 演示程序,标识

10、单个目录 设置当前目录,7.2.3 目录列表框,图7-4 目录列表框 图7-5 目录列表框中显示的目录结构,单击目录项目 查找目录的相对位置,单击目录列表框中的某个项目时将突出显示该项目,而双击项目时则给它赋予Path属性并将其ListIndex属性设置为-1,然后重绘目录列表框以显示直接相邻的下级子目录。,ListCount属性返回当前扩展目录下的目录数目,而不是目录列表框中的目录总数。因为当前扩展目录的ListIndex值为-1,所以可以编程来判断在目录层次结构中,当前扩展目录与根目录有多大距离。,7.2.4 文件列表框,图7-6 创建文件列表框,保持文件列表与目录列表的同步,例如,在程序

11、运行时,当用户选中目录列表框中的一个子目录名时,要求文件列表框也同步工作,显示出新的目录下的文件,此时可通过以下程序来实现: Private Sub Dir1_Change() File1.Path=Dir1.Path End Sub 将目录列表框的Path属性值赋给文件列表框的Path属性,这样就使得文件列表框得到目录列表框所指定的路径,从而显示出新目录下的文件名。 虽然目录列表框和文件列表框都有Path属性,但两者之间含义不同,比如: Dir1.Path= D: (目录列表框) File1.Path= D: (文件列表框),设置或返回文件名,文件列表框的另一个属性FileName用来在运行

12、时设置或返回所选中的文件名。 例如,利用MsgBox函数来显示被选中的文件,其程序代码如下: Private Sub File1_Change() MsgBox 选中的文件是:+File1.FileName End Sub,限制显示文件的类型,文件列表框中的Pattern属性,用来指定在文件列表框中显示文件的类型,其默认值为“*.*”,即显示所有文件的名字。如果将Pattern属性设置为“*.frm”,则显示扩展名为“.frm”的文件。 Pattern属性值既可在设计阶段设计,也可在程序中实现,如: File.pattern= *.frm ,7.2.5 文件系统控件综合实例,设计一个应用程序,在程序中可通过文件系统控件,查找每个磁盘上的任意一个文件。其操作步骤如下:,图7-7 各控件在窗体中的位置,表7-7 对象属性设置,图7-8 演示程序,习题,(1)在用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论