Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第08章

上传人:E**** 文档编号:89183797 上传时间:2019-05-20 格式:PPT 页数:123 大小:563KB
返回 下载 相关 举报
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第08章_第1页
第1页 / 共123页
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第08章_第2页
第2页 / 共123页
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第08章_第3页
第3页 / 共123页
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第08章_第4页
第4页 / 共123页
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第08章_第5页
第5页 / 共123页
点击查看更多>>
资源描述

《Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第08章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第08章(123页珍藏版)》请在金锄头文库上搜索。

1、1,第8章 文件操作,2,8.1 文件,文件(File)是程序设计中的一个重要概念。所谓“文件”一般指存储在计算机外部介质上数据的集合。操作系统是以文件为单位对数据进行管理的,也就是说,想要找到存储在计算机外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据。要向外部介质上存储信息,也必须先建立一个文件(以文件名标识),然后再向该文件输出数据。在程序设计中设置文件的目的,是为了提高计算机使用效率,方便用户使用计算机的一种数据存储和访问的方式。,3,8.1 文件,VB6.0允许使用两种不同的方法来处理驱动器、文件夹和文件。 (1) 使用诸如Open、Write语句等传统方法

2、。 (2) 使用新的工具File System Object对象模型。,4,8.1.1 文件结构,为了更有效的对数据进行存储和读取,文件中的数据必须以某种特定的格式去存储,这种特定的格式称文件的结构。VB文件由记录组成,记录由字段组成,字段由字符组成。,5,8.1.1 文件结构,为了更有效的对数据进行存储和读取,文件中的数据必须以某种特定的格式去存储,这种特定的格式称文件的结构。VB文件由记录组成,记录由字段组成,字段由字符组成。 字符(Character) 字段(Field) 记录(Record),6,8.1.2 文件类型,1按照数据性质分类 按照数据性质,文件可分为程序文件和数据文件。 (

3、1) 程序文件(Program File):这种文件存放的是可以由计算机执行的程序,包括源文件和可执行文件。扩展名为.exe、.frm、.vbp、.bas、.cls等的文件都是程序文件。 (2) 数据文件(Data File):数据文件用来存放普通的数据。例如学生考试成绩、职工工资、商品库存等。这类数据必须通过程序来存取和管理。,7,8.1.2 文件类型,2按照数据的存取方式和结构分类 按照数据的存取方式和结构,文件可分为顺序文件和随机文件。 (1) 顺序文件(Sequential File):顺序文件的结构比较简单,文件中的记录一个接一个地存放。在这种文件中,当要查找某个数据时,只能从文件头

4、开始,一个记录一个记录地顺序读取,直至找到要查找的记录为止。 优点:顺序文件的组织比较简单,只要把数据记录一个接一个地写到文件中即可,占用空间少,容易使用。 缺点:维护困难,为了修改文件中的某个记录,必须把整个文件读入内存,修改完后再重新写入磁盘。顺序文件不能灵活地存取和增减数据。因而适用于有一定规律且不经常修改的数据。,8,8.1.2 文件类型,2按照数据的存取方式和结构分类 (2) 随机存取文件(Random Access File):又称直接存取文件,简称随机文件或直接文件。在随机文件中,每个记录的长度是固定的,记录中的每个字段的长度也是固定的。此外,随机文件的每个记录都有一个记录号。在

5、写入数据时,只要指定记录号,就可以把数据直接存入指定位置。而在读取数据时,只要给出记录号,就能直接读取该记录。在随机文件中,可以同时进行读、写操作,因而能快速地查找到每个记录,不必为修改某个记录而对整个文件进行读、写操作。 优点:数据的存取较为灵活、方便,速度较快,容易修改。 缺点:占空间较大,数据组织较复杂。,9,8.1.2 文件类型,3按照数据的编码方式分类 按照数据的编码方式,文件可以分为ASCII文件和二进制文件。 (1) ASCII文件:又称文本文件,它是以ASCII方式保存的文件。这种文件可以用字处理软件建立和修改(必须按纯文本文件保存)。 (2) 二进制文件(Binary Fil

6、e):它是用二进制方式保存的文件。二进制文件不能用普通的字处理软件编辑,占空间较小。,10,8.1.3 文件的打开与关闭,在VB中,对文件的操作按下述步骤进行。 (1) 打开或建立文件 (2) 读、写操作 (3) 关闭文件,11,8.1.3 文件的打开与关闭,1文件的打开(建立) 在VB中,可以用Open语句打开或建立一个文件。 格式: Open For Access As #Len= 功能:打开或建立一个文件,为文件的输入输出分配缓冲区,并确定缓冲区所使用的存取方式。,12,8.1.3 文件的打开与关闭,1文件的打开(建立) 说明: 1)格式中的“文件名”用于指定所要打开文件的文件名,包括目

7、录、文件夹和驱动器。,13,8.1.3 文件的打开与关闭,1文件的打开(建立) 说明: 2)格式中的“访问方式”用于指定文件的输入输出方式。 Output:指定顺序输出方式,文件被打开后只能写数据。 Input:指定顺序输入方式,文件被打开后只能读取数据。 Append:指定顺序输出方式。与Output不同的是,当用Append方式打开文件时,如果对文件执行写操作,则写入的数据附加到原来文件的后面。 Random:指定随机存取方式,也是默认方式。 Binary:指定二进制存取方式。在这种方式下,可以用Get和Put语句对文件中任何字节位置的信息进行读写。打开文件的类型与Random方式相同。

8、访问方式是可选的,如果省略,则为随机存取方式,即Random。,14,8.1.3 文件的打开与关闭,1文件的打开(建立) 说明: 3)格式中的“存取类型”用于指定访问文件的类型。 Read:打开只读文件。 Write:打开只写文件。 Read Write:打开读/写文件。这种类型只对随机文件、二进制文件及用Append方式打开的文件有效。“存取类型”指出了在打开的文件中所进行的操作。如果要打开的文件已由其它过程打开,则不允许指定存取类型,否则Open失败,并产生错误信息。,15,8.1.3 文件的打开与关闭,1文件的打开(建立) 说明: 4)格式中的“文件号”是一个整型表达式,其值在l-511

9、的范围内。文件一旦打开成功,系统将文件与文件号相关联,程序可直接使用文件号对文件进行操作。为了避免文件号的重复使用,VB提供了FreeFile函数用于为打开的文件分配系统中尚未被使用的文件号。文件号前的#号可以省略。 5)格式中的“记录长度”是一个整型表达式。当选择该参数时,对于用随机访问方式打开的文件,该值是记录长度;对于顺序文件,该值是缓冲字符数。“记录长度”的值不能超过32767字节。对于二进制文件,将忽略Len子句。,16,8.1.3 文件的打开与关闭,顺序文件各个记录的长度可以不相同。 对同一个文件可以用几个不同的文件号打开,每个文件号有自己的一个缓冲区。,17,8.1.3 文件的打

10、开与关闭,例如:下面打开的文件都是按顺序方式输入输出的。 Open “No1.dat“ For Output As #1 建立或打开一个文件,使记录可以写到该文件中。如果文件“No1.dat”已存在,该语句打开已存在的数据文件,新写入的数据将覆盖原来的数据。 Open “No1.dat“ For Append As #1 打开已存在的文件,新写入的记录附加到文件的后面,原来的数据仍在文件中。如果给定的文件名不存在,则Append方式可以建立一个新文件。 Open “No1.dat“ For Input As #1 打开已存在的文件,以便从文件中读出记录。 例如:下面是按随机方式打开或建立文件。

11、 Open “No1.dat“ For Random As #1 按随机方式打开或建立文件,然后读出或写入定长记录。 Open “c:tempNo1.dat“ For Random As #1 Len=256 用随机方式打开C盘上的temp文件夹内的No1.dat文件,记录长度为256字节。,18,8.1.3 文件的打开与关闭,2文件的关闭 文件的读写操作结束后,应将文件关闭,这可以通过Close语句来实现。 格式:Close#文件号,#文件号 功能:用来结束文件的输入输出操作。 说明: 1)Close语句用来关闭文件,它是在打开文件之后进行的操作。格式中的“文件号”是Open语句中使用的文件

12、号。关闭一个数据文件具有两方面的作用,第一,把文件缓冲区中的所有数据写到文件中;第二,释放与该文件相联系的文件号,以供其它Open语句使用。,19,8.1.3 文件的打开与关闭,2文件的关闭 2)Close语句中的“文件号”是可选的。如果指定了文件号,则把指定的文件关闭;如果不指定文件号,则把所有打开的文件全部关闭。 3)除了用Close语句关闭文件外,在程序结束时将自动关闭所有打开的数据文件。 4)Close语句使VB结束对文件的使用,它的操作十分简单,但绝不是可有可无的。这是因为,磁盘文件同内存之间的信息交换是通过缓冲区进行的。如果关闭的是为顺序输出而打开的文件,则缓冲区中最后的内容将被写

13、入文件中。当打开的文件或设备正在输出时,执行Close语句后,不会使输出信息的操作中断。如果不使用Close语句关闭文件,则可能使某些需要写入的数据不能从内存(缓冲区)送入文件中。,20,8.2 顺序文件,在顺序文件中,构成文件的记录不定长,记录与记录间有明确的分隔符。 要读写顺序文件记录,必需从文件头开始,一个记录一个记录地顺序进行。,21,8.2.1 顺序文件的写操作,1Print #语句 格式:Print #,Spc(n)|Tab(n)表达式表;|, 功能:将“表达式表”的数据值写入由“文件号”指定的顺序文件中。 说明: 1)格式中的“文件号”的含义同前,数据被写入该文件号所代表的文件中

14、。 2)Print #语句:Print #语句与Print方法的功能类似,Print方法所“写”的对象是窗体、打印机或控件,而Print #语句所“写”的对象是文件。格式中的Spc函数、Tab函数、“表达式表”及尾部的分号、逗号等,其合义与Print方法中相同。 例如:Print #1 , X , Y , Z 是将变量X、Y、Z的值写到文件号为1的文件中。 而Print X , Y , Z 是将变量X、Y、Z的值“写”到窗体上。 3)和Print方法一样,Print #语句中的各数据项之间可以用分号隔开,也可以用逗号隔开,分别对应紧凑格式和标准格式。数值数据由于前有符号位,后有空格,因此使用分

15、号不会给以后读取文件造成麻烦。但是,对于字符串数据,特别是变长字符中数据来说,用分号分隔就有可能引起麻烦,因为输出的字符串数据之间没有空格。,22,8.2.1 顺序文件的写操作,例如: X$=“One“:Y$=“Two“:Z$=“Three“ Print #1,X$;Y$;Z$ 写到磁盘上的信息为“OneTwoThree”。为了使输出的各字符中明显地分开,可以人为地插入逗号,即改为: Print #1,X$;“,“;Y$;“,“;Z$ 这样写入文件中的信息为“One,Two,Three”。,23,8.2.1 顺序文件的写操作,如果字符串本身含有逗号、分号和有意义的前后空格及回车或换行,则须用双

16、引号(ASCII码34)作为分隔符,把字符串放在双引号中写入磁盘。 例如: X$ = “Tom;John;May“ Y$ = “123,456,789“ Print #1, Chr(34); X$; Chr(34); Chr(34); Y$; Chr(34) 写入文件的数据为:“Tom;John;May“123,456,789“,24,8.2.1 顺序文件的写操作,4)格式中的“表达式表”可以省略。在这种情况下,将向文件中写入一个空行。 例如:Print #1 5)实际上,Print #语句的任务只是将数据送到缓冲区,数据由缓冲区写到磁盘文件的操作是由文件系统来完成的。对于用户来说,可以理解为由Print #语句直接将数据写入磁盘文件。但是,执行Print #语句后,并不是立即把缓冲区中的内容写入磁盘,只有在满足下列条件之一时才写盘: 缓冲区已满; 缓冲区未满,但执行下一个Print #语句; 关闭文件(Close)。,25,8.2.1 顺序文件的写操作,2Write #语句 格式:Wri

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

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

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