Visual Basic程序设计教程 教学课件 ppt 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编 第12章

上传人:E**** 文档编号:89189200 上传时间:2019-05-21 格式:PPT 页数:39 大小:200KB
返回 下载 相关 举报
Visual Basic程序设计教程 教学课件 ppt 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编 第12章_第1页
第1页 / 共39页
Visual Basic程序设计教程 教学课件 ppt 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编 第12章_第2页
第2页 / 共39页
Visual Basic程序设计教程 教学课件 ppt 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编 第12章_第3页
第3页 / 共39页
Visual Basic程序设计教程 教学课件 ppt 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编 第12章_第4页
第4页 / 共39页
Visual Basic程序设计教程 教学课件 ppt 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编 第12章_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《Visual Basic程序设计教程 教学课件 ppt 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编 第12章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计教程 教学课件 ppt 作者 何瑞麟 佘学文 主编 方士杰 李巍 副主编 第12章(39页珍藏版)》请在金锄头文库上搜索。

1、第12章 文件系统,12.1 文件概述,12.2 在内存和文件间传输数据,12.3 其他文件操作语句与函数,12.1 文件概述,文件是以某个特定形式记录在外部介质上的相关数据的集合,它是通过文件名进行标识的。 “文件”可视为数据存储的容器,作为我们程序中输入和输出操作的对象。,12.1.1 文件类别,、根据数据性质划分,文件可以分为程序文件和数据文件。,程序文件:该文件中存放的数据是可以由计算机识别或执行的程序,它可以通过一定的途径来指导计算机进行工作,完成某项任务。例如扩展名为*.Exe、*.Com等的文件。,数据文件:该文件中存放的数据是我们记录在外存储器中的某种信息,类似于我们把信息记录

2、在纸张上,主要的目的是延长我们对某种信息的记忆时间, “数据文件”中的数据可以通过设计好的程序,利用计算机进行添加、删除、修改等管理,从而减轻人的劳动,提高工作的效率。,、根据数据的存取方式和数据的结构划分,文件又可以分为顺序存取文件和随机存取文件。,顺序文件:以顺序存取的方式保存数据的文件叫作顺序存取文件,简称顺序文件。顺序文件的结构比较简单,文件中的记录一个接一个地存放,记录与记录之间有分界字符。,顺序文件的特点:在顺序文件中,只知道第一个记录的存放位置,其他记录的位置无从知道。当要在顺序文件中查找某个记录时,只能从文件头开始,一个记录一个记录地顺序读取,逐个比较,直到找到要查找的记录。

3、优点是:占用空间少; 不足之处是:无法任意取出某个记录来修改,一定要把全部数据读入,在数据量很大或只想修改某一条记录时,显得非常不方便,因此,只适用于有规律的、不经常修改的数据。,随机文件:随机文件的每一个记录都有固定的长度,每一个记录都有记录号,这种文件的特点是允许用户存取文件中任一个记录。可以同时进行读或写操作存入和读出速度较快,数据容易更新。,随机文件的特点:在随机文件中,每个记录的长度是固定的,每个记录前都有一个记录号表示这个记录的开始。在访问随机文件中的数据时,不必考虑各个记录的排列顺序或位置,可以根据需要访问文件中的任何一个记录。在读取数据时,只要给定记录号,就能迅速找到该记录,并

4、将该记录读出;若对记录做了修改,需要写入文件时,也只要指出记录号,新记录将自动覆盖原有记录,直接存入指定位置。在随机文件中,也可以同时进行读写操作,因而能快速地查找和修改某个记录,不必对整个文件进行读写操作。 优点是:访问速度快,读、写、修改灵活方便; 不足之处是:文件占用的存储空间增大,数据组织较复杂。,、根据数据的编码方式划分,文件可以分为ASCII文件和二进制文件。 如果文件中的字符是用ASCII编码规则与0、1组合对应起来,则文件是ASCII文件。 如果文件中的数据均以二进制的方式存储,存储单位是字节,则文件是二进制文件。在二进制文件中,能够存取任意所需要的字节,可以把文件指针移动到文

5、件中的任何地方,因此,这种存取方式最为灵活。,12.1.2 文件打开,在Visual Basic中操作文件一般包含下列三个过程: 打开文件,建立内存与磁盘文件联系,为这个文件在内存中准备一个读写时使用的缓冲区,并且声明文件所在位置、文件的名字、文件处理方式等。 访问文件,对文件进行读/写操作。从磁盘文件中把数据读入到内存称为“读” ,把内存中数据存入到磁盘文件过程称为“写”。“读/写”操作都是通过相应的读写函数来完成。 关闭文件,打开的文件使用(读/写)完后,必须关闭,否则会造成数据丢失。关闭文件会把文件缓冲区中的数据全部写入磁盘,释放掉该文件缓冲区占用的内存。,CPU、内存和磁盘文件之间的数

6、据交流,Open语句:用于打开某个文件,实现对文件的输入/输出操作,对文件做任何的输入/输出操作之前都必须使用Open语句将文件打开。 Open语句格式: Open 路径文件名 For 方式 Access 存取类型 Lock As #文件号 Len=记录长度 说明: 参数“路径文件名”指定具体的磁盘文件对象,需要有文件的完整路径和文件的完整名称(含扩展名),不能省略。但可以是效的字符型变量,如:CommonDialog对话框FileName属性的返回值。,参数“方式”有五种值可以选择:Append、Binary、Input、Output和Random。 Append:指定数据的传输方式为把内存

7、中的数据按顺序存取方式追加到某个文件的尾部; Binary:指定磁盘文件与内存进行的数据传输是二进制方式存取; Input:指定磁盘文件与内存进行的数据传输只能是按顺序存取方式把文件中的数据读入到内存中去; Output:指定磁盘文件与内存进行数据传输只能是按顺序存取方式把内存中的数据写入文件中去(把内存中的数据保存到文件中到) ;,Random:指定磁盘文件与内存可以按随机方式进行双向数据交流,即可以按需要把文件中特定的数据按随机方式读入内存中,或把内存中的某个数据(符合存取要求的数据)按随机方式写入文件某个特定的位置。,参数“存取类型”有三种值可选择:Read、Write和Read Wri

8、te,用来指定可以对文件进行的操作,且“Access 存取类型”可以作为整体省略。其中: Read:打开的是只读文件,只能读取文件中数据到内存中; Write:打开的是只写文件,只能把内存中数据写入文件中,而不读取文件中数据到内存中来; Read Write:打开的是可读定文件,可以把文件中数据读入内存中或把内存中的数据写入文件中。,如果“Access 存取类型”子名省略,则根据“For 方式”决定文件的操作类型。如果要打开的文件已经由其他过程打开,则不允许指定本参数,否则Open语句执行不成功,同时返回一个错误对象。,参数“Lock”在四种选择:Shared、Lock Read、Lock W

9、rite和 Lock Read Write,此参数用来指定在多用户或多进程环境中,本语句打开某个文件后,其它的用户或进程可以对文件进行的操作。其中: Shared:允许其它的进程或用户可以对本文件进行读写的操作。 Lock Read:禁止其它用户或进程对本文件进行读操作,但允许对本文件进行写操作。,Lock Write:禁止其它用户或进程对本文件进行写操作,但允许对本文件进行读操作。 Lock Read Write:禁止其它用户或进程对本文件进行读或写的操作,即禁止使用本文件。 如果省略本参数,则相当于“Lock Read Write”。 参数“#文件号”,它用来代表所打开的文件,文件号可以是

10、整数或数值型变量,此整数必须介于1511之间。 参数“Len=记录长度”对于随机存取方式,则指定每个数据(记录)的字节数(长度);对于顺序存取方式则指定缓冲字符数;而二进制存取方式则忽略本参数的设置。 如果我们要对某个文件进行操作,则必须先用Open语句打开或建立该文件,Open语句兼有打开文件和建立文件的功能。,若“For 方式”指定方式为Input,且文件不存在,则语句会产生错误对象。如果“For 方式”指定方式为Output、Append或Random,且文件不存在,则Open语句会建立对应的文件打开。 Open语句打开文件是建立一个内存与磁盘文件联系,是内存与磁盘文件能传输数据的通道,

11、并不真正进行对应的数据交流,要进行具体的数据交流必须使用其它语句。,12.1.3 文件关闭,Close语句: 格式为: Close 文件号1 ,文件号2 ,文件3,12.2 在内存和文件间传输数据,12.2.1 顺序文件的写操作 把数据以顺序存取方式写入文件中所采用的语句是: Print # 或 Write语句。 Print #语句的格式为: Print #文件号,要保存数据的列表 Print #语句的功能是数据列表中指定的数据写入文件号指定对应的文件。其中,数据列表用分号或逗号分隔的各个数据项。 Write #语句的格式为: Write #文件号,要保存数据的列表 Write #语句与Pri

12、nt #语句功能基本相同,把数据写入文件号指定的文件中。,例题1:向文件D:TempFile.Dat中写入20个099之间的随机整数。 程序代码为: Dim X As Integer, K As Integer Open “D:TempFile.Dat“ For Output As #1 以顺序存取方式打开文件,如果不存在则建立新文件 For K = 1 To 20 X = Int(Rnd() * 100) 获取一个099的随机数 Print #1, X; 把X写入文件中 Next K Close #1 文件使用完必须关闭,例题2:把文本框Text1中内容保存(写入)到文件D:TempText

13、.Txt中。 程序代码为: Open “D:TempText.Txt“ For Output As #1 打开文件 Print #1, Text1.Text 把文本框的内容作为一个整体、一个数据,写入文件中 Close #1 关闭文件,例题3:设一个保存学生姓名、学号和年龄的文件D:TempMsg.Dat,向其中添加一条信息:姓名为“张三”、学号为“20030815”、年龄为“19”。 Dim StuName As String, StuID As String, StuAge As Integer StuName = “张三“ StuID = “20030815“ StuAge = 19 O

14、pen “D:TempMsg.Dat“ For Append As #2 以Append方式打开文件 因为需要保留文件中原来的数据 Print #1, StuName, StuID, StuAge 把数据添加到文件 Close #2 关闭文件,12.2.2 顺序文件读操作,将文件中的数据读入内存中,可采用Input #语句、Line Input语句或Input()函数来实现 。 Input #语句 Input #语句的格式为: Input #文件号,变量列表 Input #语句的功能是从文件中读出与变量个数相同的数据,并把这些数据赋值给变量。 Line Input #语句 Line Input

15、 #语句的格式为: Line Input #文件号,字符型变量,Line Input #语句的功能是从文件中读取一个完整的行(其中可能有多个数据),并把它作为整体赋值给字符型变量。 Input()函数 Input()函数的使用格式为: Input(N,#文件号) Input(N,#文件号)函数从文件中读出N个字符形成一个字符串数据。也就是说,Input()函数可以从指定文件中读出指定数目的字符并作为字符串返回。,12.2.3 随机文件读写操作,当对一个随机文件进行操作之前,必须用Open语句打开文件,随机文件的打开方式应当是Random方式,同时要指明记录的长度。随机文件打开后,可同时进行写入

16、与读出操作。 Open语句的一般格式: Open 文件名 For Random As #文件号 Len=记录长度 随机文件的关闭同顺序文件一样,用Close 语句。 随机文件的读取操作:用Get语句完成文件的读操作。 Get语句格式一般为: Get # 文件号,记录号,变量 Get语句把文件中由记录号指定的记录内容读入到指定的变量中。,随机文件的写操作:用Put语句完成。 Put语句格式为: Put #文件号,记录号,变量 Put #语句把“变量”的内容写入由文件号指定文件中对应的位置。,例题4:使用随机存取文件的存取方法,设计一个保存和读取学生信息(包括姓名、学号、年龄、出生日期)的程序。程序的界面如图所示。,程序代码:,Private Type Stu 定义Stu的类型,学生信息的各个方面整合成一个数据 StuName As String * 8 在窗体模块定义类型,使用Private关键字 StuID As Stri

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

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

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