Visual-Basic第7章数据文件课件_第1页
Visual-Basic第7章数据文件课件_第2页
Visual-Basic第7章数据文件课件_第3页
Visual-Basic第7章数据文件课件_第4页
Visual-Basic第7章数据文件课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 数据文件 Visual Basic 6.0中进行数据存储是通过文件系统进行的。文件系统在应用程序的设计中是数据输入和输出的一种重要方式。在应用程序中,对于需要输入的数据,可以通过文件的形式提供给数据处理模块进行处理;处理后的数据也可以通过文件系统进行存储。本章主要介绍文件系统的概念、结构和类型、不同文件类型的读写操作、常用文件操作的函数和语句,以及如何更好地使用文件系统对象。7.1 文件的基本概念文件结构 为了有效地存取数据,数据必须以某种特定的方式存放,这种特定的方式称为文件结构。在Visual Basic中,文件由记录组成,记录由字段组成,字段由字符组成。1)字符2)字段3)记录4

2、)文件文件类型 在Visual Basic 6.0中提供了三种基本的数据访问方式,顺序访问、随机访问和二进制访问。根据这三种访问方式将文件分为顺序文件、随机文件和二进制文件三种。下面分别对这三种文件类型予以介绍。(1)顺序文件是为普通的文本文件的使用设计的。(2)随机文件由相同格式的记录组成。(3)二进制文件适用于读写任意有结构的文件。7.2 顺序文件【相关知识】1.文件操作语句及函数 Visual Basic的文件操作语句很多,此处列出几个常用的供用户参考。(1)Open语句Open语句是打开文件的语句。其基本语法如下:Open 文件名路径 For 打开方式 As# 文件代码Clone语句

3、使用Close语句可关闭使用Output模式访问的文件。其语法格式为:Close # 文件代码FileCopy语句 FileCopy语句用于复制一个文件。其语法格式为:FileCopy源文件名 目标文件名Kill语句 Kill语句的功能为删除文件。其语法格式为:Kill 文件名Name语句 Name语句用于重新命名一个文件或目录。其语法格式为;Name 文件名 新文件名顺序访问 文件的顺序访问,即依照文件次序由文件的开头读取到末尾,或由文件开头写入到文件末尾。要读取到文件后端的数据,必须要经过前面的部分,不能直接跳转到指定的定点。一般来说,最常用的进行顺序访问的文件类型是文本文件。属于顺序访问

4、的打开文件模式有如下3种:(1)写文件:Open文件名路径For Output As #文件代码。(2)附加写入:Open文件名路径For Append As #文件代码。(3)读文件:Open文件名路径For Input As # 文件代码。其中,采用Output写文件有两种语句可实现,如下:Print #文件代码 ,输出行Write #文件代码 ,输出行 Print的使用与前面介绍的方法类似,只需加上指定的文件代码即可。使用Write所做的输出,在每项以逗号或分号隔开的数据中间会自动加上逗号。字符串数据则会在其前后加上双引号“”,日期数据则会加上“#”号。此外,布尔型数据True和Fals

5、e的前后也将加上“#”号。Input读取顺序文件的语句有3种:(1)Line Input #文件代码,字符串变量。(2)Input函数。(3)Input文件代码,变量行。 其中,Line Input语句一次将会读取指定文件的一行数据到一个字符串变量中。该语句通常与EOF函数(判断是否到文件末尾)及循环语句一起使用,以读取整个文件的内容:Do Until EOF(FileNo)Line Input #FileNo,APrint ALoopInput函数是读取固定长度的字符串。其调用格式为: Input(长度,#文件长度) 该函数的返回值是一个字符串类型的数据,长度等于所指定的长度参数。而Inpu

6、t#语句将会把指定文件中的数据一一放到对应的变量行中,数据以“空格”或“逗号”作为分隔符。实践训练【实训项目】1.实训内容用Print和Write两种方法,将”张三”,”男”,22,”5/4/1999”内容,顺序写入文件“Test.txt”中。2.解决方案程序名:F:VBprac7_2_1.frmF:VBPrac7_2_1.vbpFileNo=FreeFileOpen App.Path & “Test.txt” For Output As #FileNoPrint #FileNP,”张三”,”男”,22,”5/4/1999”Write #FileNP,”张三”,”男”,22,”5/4/1999

7、”Close项目分析 可以看出,这两种语句的输出是不一样的。上述通过Output打开文件有一个问题,即当指定的文件名已经存在,原本的文件内容会完全消失。如果需要将新写入的数据接续在原来的文件之后,则可以使用Append模式打开文件。即使原文件不存在,系统也会在指定处新建一个文件。7.3 随机文件 随机访问(Random Access)可以从文件的定点读取文件,其打开随机文件的方式为:Open文件名路径For Random As # 文件代码len=长度一般来说,采用随机文件存储数据的情况分为如下3类: (1)需要存储多组格式相同的数据。 (2)数据不需一次读写完毕时。 (3)需要可以同时读写数

8、据时,内容变动频繁的数据文件。随机文件的读写语句如下;写入:Put#文件代码,数据编号,输出数据读取:Get#文件代码,数据编号,变量名称例如,下列程序建立一个大小为200字节的文件。file = FreeFileDim i As IntegerOpen App.Path & “test.txt” For Random As #file Len = Len(i)For i = 0 To 99Put #file, , iNextGet #file , 70, iPrint iClose上述程序中,由于一个Integer字符所占字节为2个字节,因此,i的值为099。7.4 二进制文件 二进制打开文

9、件的语法为; Open文件名路径For Binary As #文件代码 与随机文件类似,二进制访问文件也采用Put和Get读写,但是其不满指定长度,因为二进制的读写更为自由。在二进制文件的读取中,Input函数用于读取固定长度的数据,而Seek语句用来指定目前文件指针的位置。Seek语句的语法为: Seek#文件代码,位置 例如: Seak #file, 10 Gat #file,l 相当于:Get #file , 10 , i7.5 综合实训【综合实训】1.实训内容 现有一文件Test.txt,文件中有10个整数,如图7-1所示。 编程将这10个整数读入,按照升序排列,并显示排列好的数据。图

10、7-1 Test.txt文件2.解决方案程序名:F:VBprac7_5_1.frmF:VBPrac7_5_1.vbpOption ExplicitDim A(1 To 10) As Integer定义数组Private Sub cmdRead_Click() Dim n Dim str As String Dim i As Integer i = 1 Open App.Path & Test.txt For Input As #1 Do While Not EOF(1) Input #1, n str = str & n & , A(i) = n i = i + 1 Loop txtOld.T

11、ext = str Close #1End SubPrivate Sub cmdOrd_Click() Dim i As Integer Dim j As Integer Dim temp As Integer Dim str As String For i = 1 To 9 For j = 1 To 10 - i If A(j) A(j + 1) Then temp = A(j) A(j) = A(j + 1) A(j + 1) = temp End If Next j Next i For i = 1 To 10 str = str & A(i) & , Next i txtNew.Text = strE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论