VB教程第8讲数据.ppt
《VB教程第8讲数据.ppt》由会员分享,可在线阅读,更多相关《VB教程第8讲数据.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 文件是指存放在外存储器文件是指存放在外存储器(如磁盘如磁盘)上的信息集合上的信息集合 使用文件可以将应用程序所处理的数据以文件的形式保使用文件可以将应用程序所处理的数据以文件的形式保存起来存起来 程序文件程序文件和和数据文件数据文件 本章主要内容本章主要内容 数据文件概述数据文件概述 顺序文件顺序文件 随机文件随机文件 文件基本操作文件基本操作 文件系统对象文件系统对象(FSO)简介简介第第8 8章章 数据文件数据文件 8.1.1 数据文件的结构数据文件的结构 数据文件由记录组成,记录由字段组成,字段由字符组成数据文件由记录组成,记录由字段组成,字段由字符组成 记录记录1 数据文件数据文件记
2、录记录2 学号学号 姓名姓名 951001 951001 张三张三 学号学号 姓名姓名 951002 951002 李四李四 字段字段 8.1 8.1 数据文件概念数据文件概念 (1)顺序文件:顺序文件:文本文件。文本文件。文件中的记录按顺序一个接文件中的记录按顺序一个接一个地排列。无法灵活地随意存取它。只适用于有规律的、一个地排列。无法灵活地随意存取它。只适用于有规律的、不经常修改的数据不经常修改的数据 (2)随机文件随机文件:随机文件的每一个记录都有固定的长度,:随机文件的每一个记录都有固定的长度,每一个记录都有记录号,这种文件的特点是允许用户存取文每一个记录都有记录号,这种文件的特点是允
3、许用户存取文件中任一个记录。可以同时进行读或写操作存入和读出速度件中任一个记录。可以同时进行读或写操作存入和读出速度较快,数据容易更新较快,数据容易更新 (3)二进制文件二进制文件:可理解为长度为:可理解为长度为1的特殊的随机文件的特殊的随机文件8.1.2 文件类型文件类型 (1)打开打开(或新建或新建)文件文件(2)进行读、写操作进行读、写操作 系统设置文件指针,用来记住当前读写的位置系统设置文件指针,用来记住当前读写的位置 (3)关闭文件关闭文件 8.1.3 文件处理的一般步骤文件处理的一般步骤 1.打开文件打开文件(Open)Open 文件名文件名 For 模式模式Access 存取类型
4、存取类型锁定锁定 As#文件号文件号Len=记录长记录长度度 说明说明:(1)文件名文件名;(2)模式模式用于指定文件访问的方式用于指定文件访问的方式,包括:,包括:Append从文件末尾添加从文件末尾添加 Binary二进制文件二进制文件 Input顺序输入顺序输入 Output顺序输出顺序输出 Random随机存取方式随机存取方式 (3)文件号文件号(或称文件缓冲区或称文件缓冲区)(4)存取类型存取类型:访问文件的类型:访问文件的类型,为,为Read(只读只读)、Write(只写只写)、Read Write(读写读写)(5)锁定锁定:限制其他用户或其他进程对文件进行读写操作:限制其他用户或
5、其他进程对文件进行读写操作 Shared(共享共享)、Lock Read(禁止读禁止读)、Lock Write(禁止写禁止写)、Lock Read Write(禁止读写禁止读写)(6)Len:用来指定每个记录的长度:用来指定每个记录的长度(字节数字节数)示例:示例:Open d:cj1.dat For Output As#18.1.4 文件的打开和关闭文件的打开和关闭2.关闭文件关闭文件(Close)打开的文件使用完后必须关闭。打开的文件使用完后必须关闭。关闭文件的语句格式:关闭文件的语句格式:Close#文件号文件号1,#文件号文件号2 示例:示例:Close#1 1.FreeFile函数函
6、数 格式:格式:FreeFile 功能:返回一个在程序中没有使用的文件号功能:返回一个在程序中没有使用的文件号 示例:示例:FileNo=FreeFile Open D:MyFile.txt For Output As FileNo 2.Seek语句和语句和Seek函数函数 Seek函数的格式:函数的格式:Seek(文件号文件号)功能:返回文件指针的当前位置功能:返回文件指针的当前位置 对于随机文件,对于随机文件,Seek函数返回指针当前所指的记录号。对于顺序文件,函数返回指针当前所指的记录号。对于顺序文件,Seek函数返回指针所在的当前字节位置函数返回指针所在的当前字节位置(从头算起的字节数
7、从头算起的字节数)Seek语句的格式:语句的格式:Seek#文件号,位置文件号,位置 功能:将指定文件的文件指针设置在指定位置,以便进行下功能:将指定文件的文件指针设置在指定位置,以便进行下一次读或写操作一次读或写操作 对于随机文件,对于随机文件,“位置位置”是一个记录号;对于顺序文件,是一个记录号;对于顺序文件,“位置位置”表示字节表示字节位置位置 8.1.5 8.1.5 相关的语句和函数相关的语句和函数 3.Eof函数函数 格式:格式:Eof(文件号文件号)功能:测试与文件号相关的文件是否已达到文件的结束功能:测试与文件号相关的文件是否已达到文件的结束位置。如果是,函数值为真值,否则为假值
8、。位置。如果是,函数值为真值,否则为假值。使用使用Eof是为了避免在文件结束处读取数据而发生错误是为了避免在文件结束处读取数据而发生错误 4.Lof函数函数 格式:格式:Lof(文件名文件名)功能:返回与文件号相关的文件的总字节数功能:返回与文件号相关的文件的总字节数 5Loc函数函数 格式:格式:Loc(文件号文件号)功能:返回与文件号相关的文件的当前读写位置功能:返回与文件号相关的文件的当前读写位置 8.2.1 顺序文件的写入操作顺序文件的写入操作 以以Output或或Append方式打开文件,然后使用方式打开文件,然后使用Write#语句语句或或Print#语句将数据写入文件中语句将数据
9、写入文件中 1.Write语句语句 格式:格式:Write#文件号文件号,表达式表,表达式表 功能:将表达式的值写到与文件号相关的顺序文件中功能:将表达式的值写到与文件号相关的顺序文件中 每个每个Write语句向顺序文件写入一个记录语句向顺序文件写入一个记录(不定长不定长),它会,它会自动地用逗号分开每个表达式的值。给字符串加上双引号自动地用逗号分开每个表达式的值。给字符串加上双引号 在最后一个字符写入后,插入一个回车换行符在最后一个字符写入后,插入一个回车换行符(Chr(13)+Chr(10),以此作为记录结束的标记。,以此作为记录结束的标记。示例:示例:Write#1,Good After
10、noon,19988.28.2 顺序文件顺序文件 把把150的的50个整数,以及这些数中能被个整数,以及这些数中能被7整除的数分别整除的数分别存入两个文件中,文件名为存入两个文件中,文件名为num1和和num2,文件存放在,文件存放在VB缺缺省文件夹下省文件夹下 Private Sub Form_Load()Open num1.txt For Output As#1 Open num2.txt For Output As#2 For i=1 To 50 Write#1,i If i Mod 7=0 Then Write#2,i Next i Close#1,#2 Unload Me End S
11、ub 说明:说明:num1.txt文件中一共写入文件中一共写入50个记录,而个记录,而num2.txt文件只写入其文件只写入其中能被中能被7整除的若干个记录整除的若干个记录例例8.1 把把150各数及能被各数及能被7整除的数分别存入两个文件中整除的数分别存入两个文件中 在例在例8.1所生成的所生成的num2.txt文件中,存放了若干个能被文件中,存放了若干个能被7整除的数,现要求再加入整除的数,现要求再加入51200范围内能被范围内能被7整除的数整除的数 程序代码如下程序代码如下:Private Sub Form_Load()Open num2.txt For Append As#1 For
12、i=51 To 200 If i Mod 7=0 Then Write#1,i Next i Close#1 Unload Me End Sub例例8.2 在在num2.txt文件中加入文件中加入51200范围内能范围内能 被被7整除的数整除的数 输入某小组输入某小组5名学生的成绩名学生的成绩(表表8.1),存放在,存放在“我的文档我的文档”(C:My Documents)文件夹下的新建顺序文件文件夹下的新建顺序文件Cj2.txt 设计步骤如下:设计步骤如下:(1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性例例8.3 建立学生成绩顺序文件建立学生成绩顺序文件Cj2
13、.txt (2)设置事件过程设置事件过程 Form_Load():新建文件新建文件 Command1_Click():接收录入信息,并以一个记录存入文件中接收录入信息,并以一个记录存入文件中 Command2_Click():关闭文件和结束程序运行关闭文件和结束程序运行 Private Sub Form_Load()Open “C:my documentsCj2.txt“For Output As#1 End Sub Private Sub Command1_Click()Dim num As String*6,name As String*8,score As Integer num=Tex
14、t1.Text name=Text2.Text score=Val(Text3.Text)Write#1,num,name,score 存入记录存入记录 Text1.Text=存完存完1个记录后清空个记录后清空 Text2.Text=Text3.Text=Text1.SetFocus 设置焦点设置焦点 End Sub Private Sub Command2_Click()Close#1 End End Sub 程序运行完成后,用程序运行完成后,用Windows记事本来打开该顺序文件记事本来打开该顺序文件(文本文件文本文件),即可看到存入的文件内容,即可看到存入的文件内容说明:说明:在显示的文
15、件内容中,字符串在显示的文件内容中,字符串(学号、姓名学号、姓名)两边的引号两边的引号是系统自动加入的。字段之间通过逗号隔开是系统自动加入的。字段之间通过逗号隔开 2.Print语句语句 格式:格式:Print#文件号文件号,表达式表,表达式表 作用与作用与Write一样。将一个或多个表达式的值写到一样。将一个或多个表达式的值写到与文件号相关的顺序文件中。其输出数据格式与与文件号相关的顺序文件中。其输出数据格式与Print方法在窗体上输出格式相似。方法在窗体上输出格式相似。示例:示例:Print#1,num,name,score 对应按区格式对应按区格式 Print#1,num;name;sc
16、ore 对应紧凑格式对应紧凑格式 先用先用Input方式打开文件,然后采用方式打开文件,然后采用Input或或Line Input语语句从文件中读出数据。通常,句从文件中读出数据。通常,Input用来读出用来读出Write写入的记写入的记录内容,而录内容,而Line Input用来读出用来读出Print写入的记录内容写入的记录内容 1.Input语句语句 一般格式:一般格式:Input#文件号,变量名表文件号,变量名表 功能:从指定文件中读出一个记录。变量个数和类型应功能:从指定文件中读出一个记录。变量个数和类型应该与要读取的记录所存储的数据一致。该与要读取的记录所存储的数据一致。打开文件时,
17、文件指针指向文件中的第打开文件时,文件指针指向文件中的第1个记录,以后每个记录,以后每读取一个记录,指针就向前推进一次。如果要重新从文件的读取一个记录,指针就向前推进一次。如果要重新从文件的开头读数据,则先关闭文件后打开开头读数据,则先关闭文件后打开8.2.28.2.2 顺序文件的读出操作顺序文件的读出操作 程序代码如下:程序代码如下:Private Sub Form_Load()Show Open data1.txt For Output As#1 a=123:b$=ABCD Write#1,a,b$存入存入 Close#1 Open data1.txt For Input As#1 Inp
18、ut#1,c,d$读出读出 Close#1 Print c,d$End Sub 程序运行后,输出结果如下:程序运行后,输出结果如下:123 ABCD例例8.4 一个存取数据的示例一个存取数据的示例 已知文件已知文件“num2.txt”中存放一批能被中存放一批能被7整除的数整除的数(见例见例8.1及例及例8.2),现要求把这些数显示出来。每行显示,现要求把这些数显示出来。每行显示4个数。个数。Private Sub Form_Load()Show k=0 Open num2.txt For Input As#1 Do While Not EOF(1)文件未结束时,循环文件未结束时,循环 Inpu
19、t#1,x Print x,k=k+1 If k Mod 4=0 Then Print 每显示每显示4个数后换行个数后换行 Loop Close#1 End Sub例例8.5 从文件从文件“num2.txt”num2.txt”中读取数据中读取数据 从文件从文件Cj2.txt(见例见例8.3)中读出中读出5个学生的资料,显示在列个学生的资料,显示在列表框中,并求出平均分表框中,并求出平均分 (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 例例8.6 从文件从文件Cj2.txt中读出中读出5个学生的资料个学生的资料 (2)编写程序代码编写程序代码 功能要求:功能要求
20、:单击单击“查询查询”按钮时,则打开文件后读取文件按钮时,则打开文件后读取文件中所有记录内容,并显示在列表框中所有记录内容,并显示在列表框List1中,计算得到的平均中,计算得到的平均分显示在文本框分显示在文本框Text1中中 Private Sub Command1_Click()Dim n As String,m As String,s As Integer Dim x As String,t As Integer Open C:my documentsCj2.txt For Input As#1 t=0 For i=1 To 5 Input#1,n,m,s x=n+Space(2)+m+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 教程 数据
限制150内