收藏 分销(赏)

第八章数据文件.ppt

上传人:天**** 文档编号:2232229 上传时间:2024-05-23 格式:PPT 页数:27 大小:131KB
下载 相关 举报
第八章数据文件.ppt_第1页
第1页 / 共27页
第八章数据文件.ppt_第2页
第2页 / 共27页
第八章数据文件.ppt_第3页
第3页 / 共27页
第八章数据文件.ppt_第4页
第4页 / 共27页
第八章数据文件.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、Visual Basic程序设计5/22/2024第八章第八章 数据文件数据文件8.1 8.1 文件系文件系统统控件控件8.2 8.2 文件概述文件概述8.3 8.3 顺顺序文件序文件8.4 8.4 随机文件随机文件8.5 8.5 二二进进制文件制文件8.6 8.6 常用文件操作常用文件操作语语句和函数句和函数Visual Basic程序设计5/22/20241.驱动驱动器列表框器列表框Drive属性属性:包含当前:包含当前选选定的定的驱动驱动器名,只能在运行器名,只能在运行时设时设置。置。对对象象.Drive=driveChange事件事件:选择选择一个新的一个新的驱动驱动器或通器或通过过代

2、代码码重新重新设设置置Drive属性属性引引发发Change事件。事件。2.目目录录列表框列表框Path属性属性:包含当前路径,只能在运行:包含当前路径,只能在运行时设时设置。置。对对象象.Path=pathnameChange事件事件:双:双击击一个新的目一个新的目录录或通或通过过代代码码重新重新设设置置Path 属性引属性引发发Change 事件。事件。Click事件事件:单击单击目目录录列表框列表框时发时发生。生。8.1 驱动驱动器、目器、目录录和文件列表框和文件列表框Visual Basic程序设计5/22/20243.文件列表框文件列表框 Path属性属性:显显示当前示当前驱动驱动器

3、或指定器或指定驱动驱动器上的目器上的目录结录结构,构,即即显显示示该该路径下的所有文件。路径下的所有文件。重新重新设设置置Path属性引属性引发发PathChange事件。事件。Pattern属性属性:决定:决定显显示的文件示的文件类类型。型。对对象象.Pattern=value 重新重新设设置置Pattern属性引属性引发发PatternChange事件。事件。例如:例如:file1.Pattern=*.frm,显显示示*.frm文件。文件。多个文件多个文件类类型用分号分界。例如:型用分号分界。例如:*.frm;*.frx FileName属性属性:包含:包含选选定的文件名定的文件名 对对象

4、象.FileName=pathname 引用引用时时只返回文件名,相当于只返回文件名,相当于File1.List(File1.ListIndex),需,需用用Path属性得到其路径;属性得到其路径;设设置置时时可可带带路径。路径。Visual Basic程序设计5/22/2024Click、DblClick事件事件:例如,例如,单击输单击输出文件名。出文件名。Sub File1_Click()MsgBox File1.FileNameEnd Sub 例如,双例如,双击执击执行可行可执执行程序:行程序:Sub File1_DblClick()RetVal=Shell(File1.Path+”+F

5、ile1.FileName,1)执执行程序行程序 End Sub例例8.0示例程序示例程序文件管理系文件管理系统统。当用。当用户户在文件列表框中在文件列表框中单击单击文文件名件名时输时输出出该该文件名;双文件名;双击击某可某可执执行文件行文件时时,可以运行,可以运行该该程程序。序。Visual Basic程序设计5/22/20248.2 文件概述文件概述文件:存文件:存储储在外存在外存储储器上的用文件名器上的用文件名标识标识的数据的集合。的数据的集合。8.2.1文件分文件分类类1.按文件内容分按文件内容分类类程序文件:包括源程序和可程序文件:包括源程序和可执执行程序。行程序。数据文件:程序运行

6、所需要的各种数据。数据文件:程序运行所需要的各种数据。2.按存按存储储信息的形式分信息的形式分类类ASCII文件:存放各种数据的文件:存放各种数据的ASCII代代码码,可用,可用记记事本打开。事本打开。二二进进制文件:存放的是数据的二制文件:存放的是数据的二进进制代制代码码,用,用专专用程序打开。用程序打开。3.按按访问访问模式分模式分类类顺顺序文件、随机文件和二序文件、随机文件和二进进制文件。制文件。Visual Basic程序设计5/22/2024(1)(1)顺顺序文件序文件 按按顺顺序依次把序依次把记录记录写入文件;按写入文件;按顺顺序依次把序依次把记录读记录读出来。出来。优优点:点:结

7、结构构简单简单、访问访问模式模式简单简单 缺点:必缺点:必须须按按顺顺序序访问访问 在在VBVB中,中,顺顺序文件就是文本文件序文件就是文本文件 文本文件:一行一条文本文件:一行一条记录记录,记录记录可可长长可短,以可短,以“换换行行”字符字符为为分隔符号。分隔符号。Visual Basic程序设计5/22/2024(2)随机文件随机文件随机文件可以直接随机文件可以直接访问访问文件中的任意一个文件中的任意一个记录记录。记录长记录长度相同;度相同;根据根据记录记录号号访问访问;存取速度快。;存取速度快。(3)二二进进制文件制文件直接把二直接把二进进制制码码存放在文件中。以字存放在文件中。以字节为

8、单节为单位位访问访问。Visual Basic程序设计5/22/20248.2.2 文件文件读读/写写1.打开文件打开文件文件文件缓缓冲区:冲区:打开文件打开文件时时,系,系统为统为文件开辟文件开辟专门专门的数据存的数据存储储区域。区域。文件号:文件号:每个文件每个文件缓缓冲区都有一个冲区都有一个编编号。文件号就代表文件,号。文件号就代表文件,对对文件的操作文件的操作都是通都是通过过文件号文件号进进行的。可以由程序行的。可以由程序员员指定,也可以由指定,也可以由FreeFile函数函数获获得。得。2.读读写操作写操作读读操作:操作:将数据从文件将数据从文件读读入到入到变变量(外存到内存)(量(

9、外存到内存)(输输入)。入)。写操作:写操作:将数据从将数据从变变量写入到文件(内存到外存)(量写入到文件(内存到外存)(输输出)。出)。读读写操作都要先写操作都要先经经文件文件缓缓冲区,然后再提交冲区,然后再提交给变给变量或文件。量或文件。3.关关闭闭文件文件避免数据避免数据丢丢失情况失情况发发生。生。Visual Basic程序设计5/22/20248.3 顺顺序文件序文件8.3.1 引例引例例例8.1 编编写程序,要求是:写程序,要求是:(1)将两个学生的学号、姓名和成将两个学生的学号、姓名和成绩绩写入文件写入文件C:Scores.dat。(2)按原有的数据按原有的数据类类型从文件型从文

10、件C:Scores.dat中中读读出数据,出数据,计计算算平均成平均成绩绩并并显显示在窗体上。示在窗体上。(3)根据文本文件的行根据文本文件的行结结构特性,按行从文件构特性,按行从文件C:Scores.dat中中读读出数据并出数据并显显示在窗体上。示在窗体上。分析:分析:(1)对对文件操作首先打开文件,用文件操作首先打开文件,用Open语语句;句;(2)对对文件文件进进行行读读写操作可以使用写操作可以使用VB提供的提供的读读写写语语句。句。Visual Basic程序设计5/22/20248.3.2 常用常用语语句和函数句和函数1.打开文件打开文件Open 文件名文件名 For 模式模式 As

11、#文件号文件号 (1)文件名文件名 字符串常量或字符型字符串常量或字符型变变量量 (2)模式模式OUTPUT:写操作;:写操作;INPUT:读读操作;操作;APPEND:追加到文件末尾。:追加到文件末尾。(3)文件号文件号 1511,可以用,可以用FreeFile函数函数获获得下一个可利用的文件号。得下一个可利用的文件号。例例 如,打开如,打开C:VBSCORE,供写入数据,指定文件号,供写入数据,指定文件号为为#1。OPEN C:VBSCORE FOR OUTPUT AS#1Visual Basic程序设计5/22/20242.写入命令写入命令(1)Print#文件号,文件号,输输出列表出列

12、表 其中,其中,输输出列表的格式与出列表的格式与Print方法完全一方法完全一样样。例如:保存文本框的内容例如:保存文本框的内容假定文本框的名称假定文本框的名称为为Text1,文件名,文件名为为TEST.Doc。方法方法1:把整个文本框的内容一次性地写入文件。:把整个文本框的内容一次性地写入文件。Open“c:TEST.doc For Output As#1 Print#1,Text1Close#1方法方法2:把整个文本框的内容一个字符一个字符地写入文件。:把整个文本框的内容一个字符一个字符地写入文件。Open“c:TEST.doc For Output As#1For i=1 To len(

13、Text1)Print#1,Mid(Text1,i,1);Next iClose#1Visual Basic程序设计5/22/2024(2)Write#文件号,文件号,输输出列表出列表紧紧凑格式,数据凑格式,数据项项之之间间插入插入“,”,字符数据加上双引号。,字符数据加上双引号。例如,命令:例如,命令:Write#1,One,Two,123内容:内容:One,Two,123 若是若是print#1,“One”,“Two”,123 则结则结果:果:One Two 123例例8.2 利用利用Print 和和Write 语语句把数据写入文件句把数据写入文件3.关关闭闭文件文件Close#文件号文件

14、号,#文件号文件号.例如:例如:Close#1,#2,#3 CloseVisual Basic程序设计5/22/20244.4.读顺读顺序文件序文件INPUT INPUT#文件号文件号,变变量列表量列表把把读读出的每个数据出的每个数据项项分分别别存放到所存放到所对应对应的的变变量。量。LINE INPUTLINE INPUT#文件号文件号,字符串字符串变变量量读读一行到一行到变变量中,但量中,但读读出的数据不包含回出的数据不包含回车换车换行符,主要行符,主要用来用来读读取文本文件。取文本文件。INPUT$INPUT$(读读取字符数取字符数,#,#文件号文件号)随意随意读读取指定数目字符。取指定

15、数目字符。5.5.函数函数LOFLOF(文件号文件号):返回文件的:返回文件的长度度(总字字节数数)。EOFEOF(文件号文件号):返回文件指:返回文件指针是否到末尾的是否到末尾的值。指。指针在文在文件尾件尾时,EOFEOF函数函数为TrueTrue,否,否则为FalseFalse。Visual Basic程序设计5/22/2024例如:例如:读读文本文件的内容到文本框文本文件的内容到文本框假定文本框名称假定文本框名称为为Text1,文件名,文件名为为MYFILE.TXT。方法方法 一:一行一行地一:一行一行地读读Text1.Text=Open MYFILE.TXT For Input As#

16、1Do While Not EOF(1)Line Input#1,InputDataText1=Text1+InputData+vbCrLfLoopClose#1Visual Basic程序设计5/22/2024方法方法2:一个字符一个字符地:一个字符一个字符地读读Dim InputData as String*1Text1.Text=Open MYFILE.TXT For Input As#1Do While Not EOF(1)InputData=Input$(1,#1)Text1.Text=Text1.Text+InputDataLoopClose#1Visual Basic程序设计5/

17、22/2024例例8.4 编编写写顺顺序文件序文件读读写程序。写程序。u单击单击“添加数据添加数据”,则则将一个学生的学号、姓名和成将一个学生的学号、姓名和成绩绩添加到添加到Score.txt文件中文件中u单击单击“读读取数据取数据”,则则从文件从文件读读取数据并取数据并计计算算总总分和平均成分和平均成绩绩,最后送入文本框。最后送入文本框。8.3.3 应应用用举举例例例例8.3 设计设计一个文件加密程序。一个文件加密程序。Visual Basic程序设计5/22/2024v由由长长度相同的一条条度相同的一条条记录记录所所组组成的集合。成的集合。每个每个记录记录都有一个都有一个记录记录号。号。可

18、根据可根据记录记录号号计计算出算出记录记录在文件中的存在文件中的存储储位置,按位置,按记录记录号直号直接接读读写。写。v记录记录:是:是计计算机算机处处理数据的基本理数据的基本单单位,通常由若干个相互关位,通常由若干个相互关联联的数据的数据项组项组成。成。8.4 随机文件随机文件Visual Basic程序设计5/22/2024 对对随机文件的操作是按随机文件的操作是按记录进记录进行的,而一个行的,而一个记录记录是是由多个数据由多个数据项组项组成,因此成,因此须须在程序的在程序的变变量量说说明部分明部分先定先定义记录义记录的的类类型型结结构,再将构,再将变变量量说说明明为记录类为记录类型。型。

19、访问访问随机文件的程序框架由四个部分随机文件的程序框架由四个部分组组成:成:1 1)定)定义记录类义记录类型及其型及其变变量量 2 2)打开随机文件)打开随机文件 3 3)将)将记录记录写入随机文件或从随机文件中写入随机文件或从随机文件中读读出出记录记录 4 4)关)关闭闭随机文件随机文件 Visual Basic程序设计5/22/2024 1.打开打开 Open 文件名文件名 For Random As#文件号文件号 Len=记录长记录长度度2.写操作写操作Put#文件号,文件号,记录记录号号,变变量名量名将一个将一个记录变记录变量的内容写到指定的量的内容写到指定的记录记录位置位置处处。忽略

20、忽略记录记录号,号,则则表示在当前表示在当前记录记录后的位置插入一条后的位置插入一条记录记录。3.读读操作操作Get#文件号,文件号,记录记录号号,变变量名量名忽略忽略记录记录号,号,则读则读出当前出当前记录记录后的那一条后的那一条记录记录。4.关关闭闭文件文件Close#文件号文件号,#文件号文件号.例如,例如,Close#1,#2,#3 CloseVisual Basic程序设计5/22/2024例例8.5 编编写一个随机文件写一个随机文件应应用程序。要求将两个学生的用程序。要求将两个学生的记录记录(由(由学号、姓名和成学号、姓名和成绩组绩组成)写入随机文件成)写入随机文件C:Score.

21、dat,记录记录号分号分别为别为1和和4,然后从中,然后从中读读出第出第4条条记录记录并并显显示在窗体上。示在窗体上。分析:分析:访问访问随机文件前要定随机文件前要定义记录类义记录类型及其型及其变变量,然后打开文量,然后打开文件,件,进进行行读读写操作,最后关写操作,最后关闭闭文件。文件。例例8.6 编编写学生信息管理程序写学生信息管理程序 追加追加记录记录(Command1):将一个:将一个学生的信息作学生的信息作为为一条一条记录记录添加到随机添加到随机文件末尾。文件末尾。显显示示记录记录(Command2):显显示在示在右右边边文本框文本框(text4)中指定的中指定的记录记录。Visua

22、l Basic程序设计5/22/2024 二二进进制文件的制文件的访问访问方法与随机文件方法与随机文件类类似,也用似,也用PUT和和GET语语句。不同的是二句。不同的是二进进制文件制文件访问单访问单位是字位是字节节,随即文件,随即文件访问单访问单位是位是记录记录。1.打开打开Open 文件名文件名 For Binary As#文件号文件号 2.写操作写操作Put#文件号,文件号,位置位置,变变量名量名写入写入长长度等于度等于变变量量长长度的数据。度的数据。3.读读操作操作GET#文件号,文件号,位置位置,变变量名量名 从指定位置开始从指定位置开始读读出出长长度等于度等于变变量量长长度的数据存入

23、度的数据存入变变量中,量中,数据数据读读出后移出后移动变动变量量长长度位置,如果忽略位置,度位置,如果忽略位置,则则表示从文件表示从文件指指针针所指的位置开始所指的位置开始读读出数据,数据出数据,数据读读出后移出后移动变动变量量长长度位置。度位置。8.5 二二进进制文件制文件Visual Basic程序设计5/22/2024例例8.7 文件复制文件复制Dim char As ByteDim FileNum1 as integer,FileNum2 as IntegerFileNum1=FreeFile 打开源文件打开源文件Open C:STUDENT.doc For Binary As#Fil

24、eNum1FileNum2=FreeFile 打开目打开目标标文件文件Open C:STUDENT.txt For Binary As#FileNum2Do While Not EOF(FileNum1)Get#1,char 从源文件从源文件读读出一个字出一个字节节Put#2,char 将一个字将一个字节节写入目写入目标标文件文件LoopClose#FileNum1Close#FileNum2Visual Basic程序设计5/22/20248.6 常用的文件操作常用的文件操作语语句和函数句和函数1.FileCopy语语句句 格式:格式:FileCopy source,destination

25、功能:复制一个文件。功能:复制一个文件。说说明:明:FileCopy语语句不能复制一个已打开的文件。句不能复制一个已打开的文件。2.Kill语语句句 格式:格式:Kill pathname 功能:功能:删删除文件。除文件。说说明:明:pathname中可以使用中可以使用统统配符配符“*”和和“?”。例如:例如:Kill*.TXT3.Name 语语句句 格式:格式:Name oldpathname As newpathname 功能:重新命名一个文件或目功能:重新命名一个文件或目录录。说说明:明:(1)Name具有移具有移动动文件的功能。文件的功能。(2)不能使用不能使用统统配符配符“*”和和“

26、?”,不能,不能对对一个已打开的文件上使用一个已打开的文件上使用Name语语句。句。Visual Basic程序设计5/22/20244.ChDrive 语语句句格式:格式:ChDrive drive功能:改功能:改变变当前当前驱动驱动器。器。说说明:如果明:如果drive为为“”,则则当前当前驱动驱动器将不会改器将不会改变变;如果;如果drive中有中有多个字符,多个字符,则则ChDrive只会使用首字母。只会使用首字母。5.MkDir 语语句句格式:格式:MkDir path功能:功能:创创建一个新的目建一个新的目录录。6.ChDir 语语句句格式:格式:ChDir path功能:改功能:

27、改变变当前目当前目录录。例如:例如:ChDir D:TMP 7.RmDir 语语句句格式:格式:RmDir path功能:功能:删删除一个存在的目除一个存在的目录录。说说明:只能明:只能删删除空目除空目录录。Visual Basic程序设计5/22/20248.CurDir函数函数 格式:格式:CurDir(drive)功能:利用功能:利用CurDir函数可以确定任何一个函数可以确定任何一个驱动驱动器的当前目器的当前目录录。说说明:明:drive为为 ,则则CurDir返回当前返回当前驱动驱动器的当前目器的当前目录录。例例8.8 利用利用ChDrive和和ChDir语语句改写例句改写例8.0中

28、的中的File1_DblClick()事件事件过过程。程。Sub File1_DblClick()ChDrive Drive1.Drive 设设置缺省置缺省驱动驱动器器ChDir File1.Path 设设置缺省目置缺省目录录RetVal=Shell(File1.FileName,1)End SubVisual Basic程序设计5/22/2024例例8.9 为为例例8.0添加事件添加事件过过程程File1_KeyDown(),使之支持,使之支持Del键键,即按下,即按下Del键删键删除除选选定的文件。定的文件。Sub File1_KeyDown(KeyCode As Integer,Shif

29、t As Integer)If KeyCode=vbKeyDelete ThenChDrive Drive1.DriveChDir File1.PathKill File1.FileNameFile1.Refresh 文件文件删删除后更新文件列表框除后更新文件列表框End IfEnd SubVisual Basic程序设计5/22/2024本章小本章小节节文件文件 文件是文件是记录记录的集合,的集合,三种三种访问访问模式模式 顺顺序序访问访问 打开打开 Open 文件名文件名,模式模式,文件号文件号 写写 Print、Write 读读 Input#文件号,文件号,变变量量 Line Input#文件号文件号随机随机访问访问Open 文件名文件名 For Random As#文件号文件号 Len=Len=长长度度 读读Get 写写 Put二二进进制制访问访问 与随机与随机访问访问模式模式类类似似本章目本章目录录

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服