- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 数据文件 8.1 文件概述 8.2 顺序访问模式 8.3 随机访问模式 8.4 二进制访问模式 8.1 文件概述 文件分类 8.2 顺序文件 顺序访问模式——写操作 关闭文件 读操作 应用举例 8.3 随机访问模式 随机访问模式中文件的读写 8.4 二进制访问模式 本章小节 思考题 Visual Basic 程序设计教程 (第三版) 马占飞 1. 记录 由若干个相互关联的数据项组成。例如,由学生的学习成绩信息组成的记录 2. 文件分类 文件是记录的集合,VB提供了三种访问模式 : 顺序访问模式:顺序文件,记录可长可短 随机访问模式:随机文件,记录的长度相同 二进制访问模式:二进制文件 数据项 总分 物理成绩 语文成绩 数学成绩 姓名 学号 (1) 顺序文件 按顺序依次把记录写入或读出来的文件。 记录n 记录n-1 … 记录3 记录2 记录1 文本文件 一行一条记录,记录可长可短,以换行符分隔记录。 (2) 随机文件 记录长度相同,根据记录号可直接访问任意一个记录。 #n记录n 记录n-1 … #2记录2 #1记录1 (3) 二进制文件 直接把二进制码存放在文件中。 1. 打开文件 例8.1 对文件C:\Scores.dat进行读写 Open 文件名 For 模式 As [#]文件号 模式 Output 进行写操作 Input 进行读操作 Append 在末尾追加记录 文件号 1~511 注意:文件名可以为字符串常量,也可以是字符变量。 写入数据使用语句Print和Write (1) Write Write #文件号,[输出列表] Write在数据项之间插入“,”并给字符串加上双引号。 例如 Write(1, “One”, “Two”, 123) 写入到文件后格式:One,Two,123 (2) Print Print # 文件号,[输出列表] Print #语句功能与Write 基本相同,区别在于字符串不加双引号,数据之间没有“,”。 例如,Print #1,One,Two,123 写入到文件后格式: One Two 123 例8.2 利用Print 和Write 语句把数据写入文件 输出语句是将数据送到缓冲区,关闭文件时才将缓冲区中数据写入文件。关闭文件形式: Close( [[#]文件号]) 例 Close(1) 关闭1号文件。 如果省略了文件号,Close语句将关闭所有已经打开的文件 Input# 从打开的顺序文件中读出数据 并将数据赋给变量。 Input #文件号,变量列表 (2) LineInput 读出一行数据 LineInput #文件号, 字符串变量 说明:读出的数据中不包含回车换行符 (3) EOF (文件号)测试文件指针是否到文件末尾 (4) LOF (文件号)测试文件的长度 例8.3 设计一个文件加密程序。 例8.4 编写顺序文件读写程序。 选择“添加数据”,则将一个学生的学号、姓名和成绩(Integer)添加到Score.txt文件中 选择“读取数据”,则从文件读取数据并计算总分和平均成绩,最后送入文本框。 随机访问模式中文件的打开和关闭 打开文件 Open 文件名 For Random As #文件号 [Len=记录长度] 随机文件打开后,可以同时进行写入与读出操作 记录长度默认值是128个字节 关闭随机文件 Close([#]文件号) 例8.5 编写一个随机文件应用程序 Put[#]文件号,[记录号],变量名 将一个记录变量的内容,写入所打开的磁盘文件中指定的记录位置处。如果忽略记录号,则在当前记录前插入一条记录。 Get [#]文件号,[记录号],变量名 将指定的记录内容读入记录变量中。如果忽略记录号,则表示读出当前记录后的那一条记录 例8.6 编写学生信息管理程序 二进制访问模式与随机访问模式类似,读写语句也是Get和Put,区别在于二进制模式的访问单位是字节,而随机模式的访问单位是记录 例如: Open C:\Student.Dat For Binary As # 1 例8.7 编写一个文件复制程序 Dim char As Byte Open C:\S.Dat For Binary As # 1 Open C:\S.Bak For Binary As # 2 Do While Not EOF(1) Get #1, , char 读源文件一个字节 Put #2, , c
您可能关注的文档
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第3讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第4讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第5讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第6讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第7讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第8讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第9讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第10讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第11讲.ppt
- 安徽工业大学计算机科学与技术学院数字逻辑课件 第12讲.ppt
文档评论(0)