资源预览内容
第1页 / 共77页
第2页 / 共77页
第3页 / 共77页
第4页 / 共77页
第5页 / 共77页
第6页 / 共77页
第7页 / 共77页
第8页 / 共77页
第9页 / 共77页
第10页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第9章 文件处理,第9章 文件处理,9.1 知识要点 9.2 习题与解答 9.3 实训指导 9.4 测验题,9.1知识要点,1文件系统控件 (1)驱动器列表框 驱动器列表框(DriveListBox)是下拉式列表框,系统默认名为Drive1。设置驱动器可直接在驱动器列表框中输入或选取,在代码中可运用Drive 属性,也可用 ChDrive 语句设置驱动器。,(2)目录列表框 目录列表框(DirListBox)显示用户系统上的当前驱动器或指定驱动器上的目录结构,其系统默认名为Dir1。从根目录开始,各目录按子目录的层次结构依次缩进。设置目录可直接在目录列表框中输入或选取,在代码中可运用Path 属性,也可用 ChDir 语句设置目录。,(3)文件列表框 文件列表框常与目录列表框配合使用,来显示指定目录下的文件列表,在文件列表框中选择要操作的一个或多个文件, 其系统默认名为File1 。 通常驱动器列表框、目录列表框和文件列表框一起使用,在显示信息时同步。,2FSO文件系统对象 (1)驱动器对象 驱动器(Drive)对象允许获得一个系统的各个驱动器的信息,这些驱动器可以是物理的,也可以是位于网络上的。 (2)文件夹对象 文件夹(Folder)对象提供对一个文件夹所有属性的访问,其允许创建、删除或移动文件夹,并向系统查询文件夹的名称、路径等。,(3)文件对象 文件(File)对象提供对文件所有属性的访问。通过使用新的面向对象的 FSO 对象,诸如 Copy、 Delete、 Move 以及 OpenAsTextStream,或者使用传统的函数,诸如 Open、 Close、 FileCopy、 GetAttr 等等,可以使用 Visual Basic 中的文件,而且不用考虑其文件类型就可以移动、复制或删除文件。,(4)用FSO对象创建文件并读写数据 创建文件 用FSO对象创建的文件是顺序文件,它不支持创建随机文件和二进制文件。 创建方法有:CreateTextFile、OpenTextFile、OpenAsTextStream 方法。 向文件写入数据 在FSO 对象模型系统中添加数据方法有:Write、WriteLine、WriteBlankLine。 从文件读取数据 在FSO 对象模型系统中读取数据方法有:Read、ReadLine、ReadAll。 使用 Read 或 ReadLine 方法读取数据时,若想跳过某部分内容,可以使用 Skip 或 SkipLine 方法。 关闭文件:Colse,3传统文件存取操作 在 Visual Basic 中按数据的存放方式,文件分为以下三种类型: 顺序文件:用于读写连续存放的文本文件,只提供第一个记录的存储,要查找一个数据时,必须一个一个地读取。 随机文件:用于读写有固定长度记录结构的文本文件或者二进制文件,随机文件的每一个记录都有固定的长度和一个记录号。,二进制文件:用于读写任意有结构的文件,除了没有数据类型和记录长度的概念以外,其他与随机型相似。 (1)访问顺序文件 打开顺序文件。它的语法格式如下: Open For input | output | append As ,其中: filename指定要打开文件的文件名,可包含驱动器和目录。 input以从文件读取数据的模式打开文件。以此形式打开文件时,该文件必须已存在。 output以向文件写入数据的模式打开文件。以此形式打开文件时,若该文件已存在,则从文件开始位置写入数据,新数据将覆盖原数据;若该文件不存在,则自动创建一个新文件,并从文件开始位置写入数据。,append以向文件尾部追加数据的模式打开文件。以此形式打开文件时,若该文件已存在,则从文件尾部写入新数据,而文件中原有数据保留不变;若该文件不存在,则自动创建一个新文件,并从文件开始位置写入数据。 filenumber给打开的文件指定文件号,其取值范围为1-511之间的整数。为了防止重选当前使用的文件号,Visual Basic提供了一个可自动获取下一个未使用的文件号的函数FreeFile。,向顺序文件写数据。它的语法格式如下: Write/ Print ,outputlist 其中: outputlist写入文件的数据列表,数据间用逗号、空格或分号隔开。字符串表达式加上双引号,日期型、逻辑型加上井号。省略时,向文件写入一空行。 Write语句全部写完数据,系统将在最后写入一个回车符,下一个Write将从新一行开始。 其中Print语句还可结合Spc()、Tab()函数和分号、逗号来设置写入数据间的距离。,从顺序文件读数据 Input语句 Input语句从第一个不为空格的内容开始,连续读取数据,直至再次遇到空格、逗号或行尾,最后遇到文件结束符为止。其常与Write 语句搭配使用。它的语法格式如下: Input , 其中: varlist用来保存从文件中读取的数据的变量表。变量间用逗号分隔,变量的类型和个数应与从文件中读取的数据类型和个数一致。,Line Input语句 Line Input语句是将指定文件中两个硬回车间的数据读取,即以段为单位读取信息,包括软回车。其常用Eof()函数来测试是否到文件尾。它的语法格式如下: Line Input , 其中: varname用于保存从文件读取的数据的变量名称。,关闭顺序文件。它的语法格式如下: Close Filenumberlist 其中: Filenumberlist表示要关闭的文件的文件号列表。各文件号间用逗号分隔,缺省时表示关闭所有已打开的文件。 顺序文件以Input 、Output或 Append其中任何一种方式打开后,若想以另外一种方式打开,都必须先关闭它。 随机文件和二进制文件的关闭方法与顺序文件的关闭方法相同。,(2)访问随机文件 随机文件中一行数据为一条记录,每条记录由若干个数据项(即字段)构成,每个记录项的类型、长度可不同,因此Visual Basic提供了一种复合型变量来解决随机文件数据类型的定义。 格式:Type As As As End Type,打开随机文件。它的语法格式如下: Open for random As len = reclength 其中: filename指定要打开文件的文件名,可包含驱动器和目录。 for random表示以随机访问的方式打开文件。 len = reclength指定每个记录的长度。,若reclength设置值比文件记录的实际长度短,则会产生错误;若reclength设置值比文件记录的实际长度长,则记录可以写入,但浪费存储空间。 因随机文件按记录操作,无论读写都不影响文件中其他内容,所以随机文件只要打开一次,就可同时进行读或写操作。 向随机文件写数据。它的语法格式如下: Put , Recnumber ,,其中: Recnumber要写入或替换的记录的记录号,若省略,则指当前记录的记录号。 Varname保存数据的复合变量名,其类型必须与随机文件中的记录类型一致。 Put语句可完成替换、添加、删除记录的功能。,从随机文件读数据。它的语法格式如下: Get ,Recnumber , 其中: Recnumber表示要从文件中读取数据的记录的记录号,若省略,则指当前记录的记录号。刚打开的文件,记录指针指向首记录,其记录号为1。 利用Get语句一次只能读取一条记录,若要读取多条,则需用循环语句来实现。,(3)访问二进制文件 二进制文件是以字节为单位对数据进行读写操作,它允许用户读写或修改文件中任何字节信息。当要保持文件的尺寸尽量小时,应使用二进制型访问。 打开二进制文件。它的语法格式如下: Open For Binary As 其中: Filename指定要打开文件的文件名,可包含驱动器和目录。 For Binary表示以二进制访问的方式打开文件。 二进制文件只要打开一次,就可同时进行任意读或写操作。,向二进制文件写数据。它的语法格式如下: Put , Bytenumber , 其中: Bytenumber表示从文件的第几个字节开始写数据,若省略,则指从当前位置的下一字节开始写数据。 Varname变量名,存储要写入文件的数据。,从二进制文件读数据。它的语法格式如下: Get ,Bytenumber , 其中: Recnumber要从文件中读取数据的字节号,若省略,则指从当前位置的下一字节读起。第一字节号为1,然后依次类推。 Varname变量名,用来设置每次读取数据的字节数。,第9章 文件处理,9.1 知识要点 9.2 习题与解答 9.3 实训指导 9.4 测验题,9.2习题与解答,1.简述顺序文件、随机文件及二进制文件的特点。 答案: (1)顺序文件:用于读写连续存放的文本文件,要查找一个数据时,必须一个一个地读取,直至找到要找的记录,这种文件的数据以ANSI字符存储。 (2)随机文件:用于读写有固定长度记录结构的文本文件或者二进制文件,随机文件的每一个记录都有固定的长度和一个记录号,这种文件的数据以二进制形式存储。,(3)二进制文件:用于读写任意有结构的文件,除了没有数据类型和记录长度的概念以外,其他与随机型相似。此种类型灵活性最大,但工作量大。其数据也以二进制信息形式存储。,2.简述顺序文件三种数据读取语句的区别。 答案: Input语句从第一个不为空格的内容开始,连续读取数据,直至再次遇到空格、逗号或行尾,最后遇到文件结束符为止。 Line Input语句是将指定文件中两个硬回车间的数据读取,即以段为单位读取信息 。 Input函数是从指定文件中读取指定长度的数据,它可读取任何字符,如换行符、空格、软回车及硬回车等。,3随机文件的Put语句可完成哪些操作? 答案: (1)替换记录,用Put语句替换记录,只需指明要替换的记录号即可。 (2)添加记录,用Put语句可向已打开的随机文件的末端添加记录,只需把记录号的数值设置比文件中记录多1即可。 (3)删除记录,通过清除其字段可以删除一条记录,但该记录仍在文件中存在。,第9章 文件处理,9.1 知识要点 9.2 习题与解答 9.3 实训指导 9.4 测验题,9.3实训指导,9.3.1技能训练目的 掌握文件、文件夹和驱动器控件的功能、设计和编程方法。 掌握顺序文件的建立、输入和输出数据。 掌握随机文件的建立、输入和输出数据。 掌握二进制文件的建立、输入和输出数据。 掌握各种与文件有关的函数功能。,9.3.2技能训练内容 【实训9.1】利用文本框、文件、文件夹和驱动器控件建立一个简单文本文件编辑器。,参考代码: Private Sub Dir1_Change() File1.Path = Dir1.Path Text2.Text = Dir1.Path End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Private Sub File1_Click() Text2.Text = File1.Path & “ & File1.FileName End Sub Private Sub Form_Load() Combo1.AddItem “*.txt“ Combo1.AddItem “*.doc“ End Sub Private Sub Combo1_click() Dim aa As String aa = Combo1.List(Combo1.ListIndex) File1.Pattern = aa End Sub,Private Sub Command1_Click() Dim b As String If Text2.Text “ Then Text1.Text = “ Open Text2.Text For Input A
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号