




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文件本讲我们讨论的主要是数据文件。数据文件存储的是程序运行时所用到的数据。在实际应用中,经常涉及到需要重复使用的大量数据,在这种情况下,如果每次都从键盘上输入,一方面造成大量的人力、物力浪费,另一方面又增大了输入出错的可能性。解决这种问题的常用方法是,把待输入的大量数据预先准确无误地以文件的形式存储到磁盘上,需要用到数据时,从文件中读出即可。同样,我们也可把程序的运行结果存到磁盘上,这样既能长期保存数据,又能做到数据共享。退出在VB中,按照文件的存取访问方式,分为顺序文件、随机文件、二进制文件。应用程序访问一个文件时,应根据文件包含什么类型的数据,确定合适的访问类型。VB为用户提供了多种处理文
2、件的方法,具有较强的文件处理能力。1 文件操作流程2 顺序文件3 随机文件4 二进制文件5 文件操作常用函数1 文件操作流程在VB中,对于顺序文件、随机文件、二进制文件的操作通常都有3个步骤:(1)打开文件(2)访问文件(3)关闭文件本节仅对以上3个步骤作概念上的说明,具体的语句格式及使用在后续小节中介绍。1.1 打开文件文件操作的第一步是打开文件。在创建新文件或使用旧文件之前,必须先打开文件。打开文件的操作,会为这个文件在内存中准备一个读写时使用的缓冲区,并且声明文件在什么地方,叫什么名字,文件的处理方式。1.2 访问文件访问文件是文件操作的第二步。所谓访问文件,即对文件进行读/写操作。从磁
3、盘将数据送到内存称为“读”,从内存将数据存到磁盘称为“写”。1.3 关闭文件打开的文件使用(读/写)完后,必须关闭,否则会造成数据丢失。关闭文件会把文件缓冲区中的数据全部写入磁盘,释放掉该文件缓冲区占用的内存。2 顺序文件顺序文件用于处理一般的文本文件,它是标准的ASCII文件。顺序文件中各数据的写入顺序、在文件中的存放顺序、和从文件中的读出顺序3者是一致的。顺序文件按行组织信息。每行由若干项组成,行的长度不固定,每行由回车换行符号结束。2.1 顺序文件的打开与关闭在对顺序文件进行操作之前,必须用Open语句打开要操作的文件。在对一个文件操作完成后,要用Close语句将它关闭。1Open语句的
4、一般格式Open 文件名 For打开方式 As #文件号(1)文件名。(2)打开方式包括以下3种。Input Output Append(3)文件号。是一个1511之间的整数。它用来代表所打开的文件,文件号可以是整数或数值型变量。例如: Open d:shu1.dat For Input As #1该语句以输入方式打开文件shu1.dat,并指定文件号为1。 Open d:shu2.dat For Output As #5该语句以输出方式打开文件shu2.dat,即向文件shu2.dat进行写操作,并指定文件号为5。 Open d:shu3.dat For Append As #7该语句以添加
5、方式打开文件shu3.dat,即向文件shu3.dat添加数据,并指定文件号为7。2Close语句的一般格式Close 文件号表列例如: Close #1关闭文件号为1的文件。 Close #2,#7,#8关闭文件号为2,7,8的文件。 Close 关闭所有已打开的文件。2.2 顺序文件的写操作VB用Print语句或Write语句向顺序文件写入数据。创建一个新的顺序文件或向一个已存在的顺序文件中添加数据,都是通过写操作实现的。另外,顺序文件也可由文本编辑器(记事本、Word等)创建。1Print语句Print语句的一般格式:Print #文件号 ,输出表列例如: Open d:shu2.dat
6、 For Output As #2 Print # 2, zhang;wang;li Print # 2, 78;99;67 Close #2执行上面的程序段后,写入到文件中的数据如下:zhangwangli 78 99 672Write语句用Write语句项文件写入数据时,与Print语句不同的是,Write语句能自动在各数据项之间插入逗号,并给各字符串加上双引号。Write语句的一般格式:Write #文件号 ,输出表列例如: Open d:shua.dat For Output As #6 Write # 6, zhang;wang;li Write # 6, 78;99;67 Clos
7、e #6执行上面的程序段后,写入到文件中的数据如下:zhang,wang,li 78,99,672.3 顺序文件的读操作 顺序文件的读操作,就是从已存在的顺序文件中读取数据。在读一个顺序文件时,首先要用Input方式将准备读的文件打开。VB提供了Input、Line Input语句和Input函数将顺序文件的内容读入。Input函数将在9.4节中介绍。1Input语句Input语句一般格式:Input #文件号,变量表列例如: Private Sub form_Click() Dim x$,y$,z$,a%,b%,c% Open c:vbshua.dat For Input As #1 Inp
8、ut #1,x,y,z Input #1,a,b,c Print x,y,z Print a,b,c Print a + b + c Close #1 End Sub如果顺序文件shua.dat的内容如下:zhang,wang,li 78,99,67执行Form_Click过程,在窗体上显示的内容为:zhang wang li 78 99 67 2442Line Input语句 Line Input语句是从打开的顺序文件中读取一行。Line Input语句的一般格式:Line Input #文件号,字符串变量例如:如果顺序文件shua.dat的内容如下:zhang,wang,li 78,99,
9、67 我们用Line Input语句将数据读出并且把它显示在文本框中。 Private Sub Command1_Click() Dim a$,b$ Open c:vbshua.dat For Input As #2 Line Input #2,a Line Input #2,b Text1.Text = a & b End Sub执行以上过程,文本框中显示的内容为:zhang,wang,li78,99,673 随机文件 使用顺序文件有一个很大的缺点,就是它必须顺序访问,即使明知所要的数据是在文件的末端,也要把前面的数据全部读完才能取得该数据。而随机文件则可直接快速访问文件中的任意一条记录,它
10、的缺点是占用空间较大。 随机文件由固定长度的记录组成,一条记录包含一个或多个字段。具有一个字段的记录对应于任一标准类型,比如整数或者定长字符串。具有多个字段的记录对应于用户定义类型。随机文件中每个记录都有一个记录号,只要指出记录号,就可以对该文件进行读写。3.1 随机文件的打开与关闭 在对一个随机文件操作之前,也必须用Open语句打开文件,随机文件的打开方式必须是Random方式,同时要指明记录的长度。与顺序文件不同的是,随机文件打开后,可同时进行写入与读出操作。Open语句的一般格式:Open 文件名 For Random As #文件号 Len=记录长度说明:记录长度是一条记录所占的字节数
11、。可以用Len函数获得。例如,定义以下记录: Type student Name As String*10 Age As IntegerEnd Type就可以用下面的语句打开: Open d:Test.dat For Random As #9 Len=Len(student)随机文件的关闭同顺序文件一样,用Close 语句。 3.2 随机文件的写操作 用Put语句进行随机文件的写操作。Put语句一般格式为:Put # 文件号,记录号,变量说明: Put语句把变量的内容写入文件中指定的记录位置。记录号是一个大于或等于1的整数。例如,Put # 1,9,t 表示将变量t的内容送到1号文件中的第9号
12、记录去。3.3 随机文件的读操作用Get语句进行随机文件的读操作。Get语句格式一般为:Get # 文件号,记录号,变量说明: Get语句把文件中由记录号指定的记录内容读入到指定的变量中。 例如,Get # 2,3,u 表示将2号文件中的第3条记录读出后存放到变量u中。4 二进制文件 二进制文件被看作是字节顺序排列的。由于对二进制文件的读写是以字节为单位进行的,所以能对文件进行完全的控制。如果知道文件中数据的组织结构,则任何文件都可以当作二进制文件来处理使用。4.1 二进制文件的打开与关闭二进制文件的打开用Open语句。其格式为:Open 文件名 For Binary As #文件号使用Clo
13、se语句关闭二进制文件。4.2 二进制文件的读/写操作 对二进制文件的读/写同随机文件一样用Put和Get语句。它们的格式如下:Put # 文件号,位置,变量Get # 文件号,位置,变量5 文件操作常用函数1LOF函数格式:LOF(文件号)功能:返回一个已打开文件的大小,类型为Long,单位是字节。2FileLen函数格式:FileLen(文件名)功能:返回一个未打开文件的大小,类型为long,单位是字节。文件名可以包含驱动器以及目录。3EOF函数 格式:EOF(文件号) 功能:用于判断读取的位置是否已到达文件尾。当读到文件尾时,返回True,否则返回False。对于顺序文件,用EOF 函数
14、测试是否到达文件尾;对于随机文件和二进制文件,如果读不到最后一个记录的全部数据,返回True,否则返回False。对于以Output 方式打开的文件,EOF 函数总是返回True。4LOC函数 格式:LOC(文件号) 功能:返回文件当前读/写的位置,类型为Long。 对于随机文件,返回最近读/写的记录号;对于二进制文件,返回最近读/写的字节的位置。对于顺序文件,返回文件中当前字节位置除以 128 的值。对于顺序文件而言,Loc 的返回值无实际意义。5Input函数格式:Input(字符数,#文件号)功能:从打开的顺序文件读取指定数量的字符。Input函数返回从文件中读出的所有字符,包括逗号、回
15、车符、换行符、引号和空格等。例如:Text1.Text=Input(Lof(2),#2)该语句是将2号文件的内容全部复制到文本框中。 文件操作控件驱动器、目录和文件列表框Sub drvDrive_Change() dirDirectory.Path = drvDrive.DriveEnd SubSub dirDirectory_Change() filFile.Path = dirDirectory.PathEnd SubSub Form_Load() Item = “所有文件(*.*)” cboType.AddItem Item + Space(20 - Len(Item) + *.* It
16、em = 窗体文件(*.FRM) cboType.AddItem Item + Space(20 - Len(Item) + *.FRM Item = 位图文件(*.BMP) cboType.AddItem Item + Space(20 - Len(Item) + *.BMP cboType.ListIndex = 2End SubSub cboType_Click() filFile.Pattern = Mid(cboType.Text, 21)End SubSub filFile_Click( ) End SubSub filFile_DblClick( ) End Sub1. 驱动器列
17、表框Drive属性: 对象.Drive = driveChange事件: 重新设置Drive属性引发Change事件 2. 目录列表框Path属性 : 对象.Path = pathnameChange事件: 重新设置Path 属性引发Change事件3. 文件列表框Path属性: 显示该路径下的文件。 重新设置Path属性引发PathChange事件。Pattern属性: 显示的文件类型。 对象.Pattern = value 重新设置Pattern属性引发PatternChange事件。 例如:filFile.Pattern = “*.frm”,显示*.frm文件。FileName属性: 对象.FileName = pathn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析调酒师考试中鲜为人知的知识试题及答案
- 餐厅改造装修合同范本
- 砖混墙合同范本
- 临聘合同范本教师
- 物料设计合作合同范本
- 材料采购项目合同范本
- 物业维修合同范本
- 2025届黑龙江省齐齐哈尔市建华区重点名校初三下学期期初调研测试化学试题含解析
- 2025届河南省三门峡市重点中学高三英语试题下学期第二次模拟考试试题含解析
- 2024-2025学年平顶山市重点中学中考摸底测试综合能力试题含解析
- 介绍梅西的英语演讲稿
- 康复治疗师考试知识点汇总
- 2023年北京市农林科学院事业单位招聘(共500题含答案解析)笔试历年难、易错考点试题含答案附详解
- 尿崩症诊疗规范内科学诊疗规范诊疗指南2023版
- 3D打印实训指导书
- 除草机器人简介
- 当代文学第一章1949-1966年的文学思潮
- a320飞机空调系统工作原理与使用维护分析
- 施工机具进场检查验收记录
- 《液压与气动技术项目教程》高职配套教学课件
- 2022年七步洗手法操作考核评分标准
评论
0/150
提交评论