第八章数据文件.ppt

上传人:wj 文档编号:18701948 上传时间:2023-10-06 格式:PPT 页数:27 大小:154.50KB
下载 相关 举报
第八章数据文件.ppt_第1页
第1页 / 共27页
第八章数据文件.ppt_第2页
第2页 / 共27页
第八章数据文件.ppt_第3页
第3页 / 共27页
第八章数据文件.ppt_第4页
第4页 / 共27页
第八章数据文件.ppt_第5页
第5页 / 共27页
第八章数据文件.ppt_第6页
第6页 / 共27页
第八章数据文件.ppt_第7页
第7页 / 共27页
第八章数据文件.ppt_第8页
第8页 / 共27页
第八章数据文件.ppt_第9页
第9页 / 共27页
第八章数据文件.ppt_第10页
第10页 / 共27页
第八章数据文件.ppt_第11页
第11页 / 共27页
第八章数据文件.ppt_第12页
第12页 / 共27页
第八章数据文件.ppt_第13页
第13页 / 共27页
第八章数据文件.ppt_第14页
第14页 / 共27页
第八章数据文件.ppt_第15页
第15页 / 共27页
第八章数据文件.ppt_第16页
第16页 / 共27页
第八章数据文件.ppt_第17页
第17页 / 共27页
第八章数据文件.ppt_第18页
第18页 / 共27页
第八章数据文件.ppt_第19页
第19页 / 共27页
第八章数据文件.ppt_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第八章数据文件.ppt

《第八章数据文件.ppt》由会员分享,可在线阅读,更多相关《第八章数据文件.ppt(27页珍藏版)》请在冰点文库上搜索。

第八章数据文件.ppt

第八章数据文件,8.1文件系统控件8.2文件概述8.3顺序文件8.4随机文件8.5二进制文件8.6常用文件操作语句和函数,1.驱动器列表框Drive属性:

包含当前选定的驱动器名,只能在运行时设置。

对象.Drive=driveChange事件:

选择一个新的驱动器或通过代码重新设置Drive属性引发Change事件。

2.目录列表框Path属性:

包含当前路径,只能在运行时设置。

对象.Path=pathnameChange事件:

双击一个新的目录或通过代码重新设置Path属性引发Change事件。

Click事件:

单击目录列表框时发生。

8.1驱动器、目录和文件列表框,3.文件列表框Path属性:

显示当前驱动器或指定驱动器上的目录结构,即显示该路径下的所有文件。

重新设置Path属性引发PathChange事件。

Pattern属性:

决定显示的文件类型。

对象.Pattern=value重新设置Pattern属性引发PatternChange事件。

例如:

file1.Pattern=*.frm,显示*.frm文件。

多个文件类型用分号分界。

例如:

*.frm;*.frxFileName属性:

包含选定的文件名对象.FileName=pathname引用时只返回文件名,相当于File1.List(File1.ListIndex),需用Path属性得到其路径;设置时可带路径。

Click、DblClick事件:

例如,单击输出文件名。

SubFile1_Click()MsgBoxFile1.FileNameEndSub例如,双击执行可执行程序:

SubFile1_DblClick()RetVal=Shell(File1.Path+”+File1.FileName,1)执行程序EndSub,例8.0示例程序文件管理系统。

当用户在文件列表框中单击文件名时输出该文件名;双击某可执行文件时,可以运行该程序。

8.2文件概述,文件:

存储在外存储器上的用文件名标识的数据的集合。

8.2.1文件分类1.按文件内容分类程序文件:

包括源程序和可执行程序。

数据文件:

程序运行所需要的各种数据。

2.按存储信息的形式分类ASCII文件:

存放各种数据的ASCII代码,可用记事本打开。

二进制文件:

存放的是数据的二进制代码,用专用程序打开。

3.按访问模式分类顺序文件、随机文件和二进制文件。

(1)顺序文件按顺序依次把记录写入文件;按顺序依次把记录读出来。

优点:

结构简单、访问模式简单缺点:

必须按顺序访问在VB中,顺序文件就是文本文件文本文件:

一行一条记录,记录可长可短,以“换行”字符为分隔符号。

(2)随机文件随机文件可以直接访问文件中的任意一个记录。

记录长度相同;根据记录号访问;存取速度快。

(3)二进制文件直接把二进制码存放在文件中。

以字节为单位访问。

8.2.2文件读/写1.打开文件文件缓冲区:

打开文件时,系统为文件开辟专门的数据存储区域。

文件号:

每个文件缓冲区都有一个编号。

文件号就代表文件,对文件的操作都是通过文件号进行的。

可以由程序员指定,也可以由FreeFile函数获得。

2.读写操作读操作:

将数据从文件读入到变量(外存到内存)(输入)。

写操作:

将数据从变量写入到文件(内存到外存)(输出)。

读写操作都要先经文件缓冲区,然后再提交给变量或文件。

3.关闭文件避免数据丢失情况发生。

8.3顺序文件,8.3.1引例例8.1编写程序,要求是:

(1)将两个学生的学号、姓名和成绩写入文件C:

Scores.dat。

(2)按原有的数据类型从文件C:

Scores.dat中读出数据,计算平均成绩并显示在窗体上。

(3)根据文本文件的行结构特性,按行从文件C:

Scores.dat中读出数据并显示在窗体上。

分析:

(1)对文件操作首先打开文件,用Open语句;

(2)对文件进行读写操作可以使用VB提供的读写语句。

8.3.2常用语句和函数1.打开文件Open文件名For模式As#文件号

(1)文件名字符串常量或字符型变量

(2)模式OUTPUT:

写操作;INPUT:

读操作;APPEND:

追加到文件末尾。

(3)文件号1511,可以用FreeFile函数获得下一个可利用的文件号。

例如,打开C:

VBSCORE,供写入数据,指定文件号为#1。

OPENC:

VBSCOREFOROUTPUTAS#1,2.写入命令

(1)Print#文件号,输出列表其中,输出列表的格式与Print方法完全一样。

例如:

保存文本框的内容假定文本框的名称为Text1,文件名为TEST.Doc。

方法1:

把整个文本框的内容一次性地写入文件。

Open“c:

TEST.docForOutputAs#1Print#1,Text1Close#1方法2:

把整个文本框的内容一个字符一个字符地写入文件。

Open“c:

TEST.docForOutputAs#1Fori=1Tolen(Text1)Print#1,Mid(Text1,i,1);NextiClose#1,

(2)Write#文件号,输出列表紧凑格式,数据项之间插入“,”,字符数据加上双引号。

例如,命令:

Write#1,One,Two,123内容:

One,Two,123若是print#1,“One”,“Two”,123则结果:

OneTwo123例8.2利用Print和Write语句把数据写入文件3.关闭文件Close#文件号,#文件号.例如:

Close#1,#2,#3Close,4.读顺序文件INPUT#文件号,变量列表把读出的每个数据项分别存放到所对应的变量。

LINEINPUT#文件号,字符串变量读一行到变量中,但读出的数据不包含回车换行符,主要用来读取文本文件。

INPUT$(读取字符数,#文件号)随意读取指定数目字符。

5.函数LOF(文件号):

返回文件的长度(总字节数)。

EOF(文件号):

返回文件指针是否到末尾的值。

指针在文件尾时,EOF函数为True,否则为False。

例如:

读文本文件的内容到文本框假定文本框名称为Text1,文件名为MYFILE.TXT。

方法一:

一行一行地读Text1.Text=OpenMYFILE.TXTForInputAs#1DoWhileNotEOF

(1)LineInput#1,InputDataText1=Text1+InputData+vbCrLfLoopClose#1,方法2:

一个字符一个字符地读DimInputDataasString*1Text1.Text=OpenMYFILE.TXTForInputAs#1DoWhileNotEOF

(1)InputData=Input$(1,#1)Text1.Text=Text1.Text+InputDataLoopClose#1,例8.4编写顺序文件读写程序。

单击“添加数据”,则将一个学生的学号、姓名和成绩添加到Score.txt文件中单击“读取数据”,则从文件读取数据并计算总分和平均成绩,最后送入文本框。

8.3.3应用举例例8.3设计一个文件加密程序。

由长度相同的一条条记录所组成的集合。

每个记录都有一个记录号。

可根据记录号计算出记录在文件中的存储位置,按记录号直接读写。

记录:

是计算机处理数据的基本单位,通常由若干个相互关联的数据项组成。

8.4随机文件,对随机文件的操作是按记录进行的,而一个记录是由多个数据项组成,因此须在程序的变量说明部分先定义记录的类型结构,再将变量说明为记录类型。

访问随机文件的程序框架由四个部分组成:

1)定义记录类型及其变量2)打开随机文件3)将记录写入随机文件或从随机文件中读出记录4)关闭随机文件,1.打开Open文件名ForRandomAs#文件号Len=记录长度2.写操作Put#文件号,记录号,变量名将一个记录变量的内容写到指定的记录位置处。

忽略记录号,则表示在当前记录后的位置插入一条记录。

3.读操作Get#文件号,记录号,变量名忽略记录号,则读出当前记录后的那一条记录。

4.关闭文件Close#文件号,#文件号.例如,Close#1,#2,#3Close,例8.5编写一个随机文件应用程序。

要求将两个学生的记录(由学号、姓名和成绩组成)写入随机文件C:

Score.dat,记录号分别为1和4,然后从中读出第4条记录并显示在窗体上。

分析:

访问随机文件前要定义记录类型及其变量,然后打开文件,进行读写操作,最后关闭文件。

例8.6编写学生信息管理程序追加记录(Command1):

将一个学生的信息作为一条记录添加到随机文件末尾。

显示记录(Command2):

显示在右边文本框(text4)中指定的记录。

二进制文件的访问方法与随机文件类似,也用PUT和GET语句。

不同的是二进制文件访问单位是字节,随即文件访问单位是记录。

1.打开Open文件名ForBinaryAs#文件号2.写操作Put#文件号,位置,变量名写入长度等于变量长度的数据。

3.读操作GET#文件号,位置,变量名从指定位置开始读出长度等于变量长度的数据存入变量中,数据读出后移动变量长度位置,如果忽略位置,则表示从文件指针所指的位置开始读出数据,数据读出后移动变量长度位置。

8.5二进制文件,例8.7文件复制DimcharAsByteDimFileNum1asinteger,FileNum2asIntegerFileNum1=FreeFile打开源文件OpenC:

STUDENT.docForBinaryAs#FileNum1FileNum2=FreeFile打开目标文件OpenC:

STUDENT.txtForBinaryAs#FileNum2DoWhileNotEOF(FileNum1)Get#1,char从源文件读出一个字节Put#2,char将一个字节写入目标文件LoopClose#FileNum1Close#FileNum2,8.6常用的文件操作语句和函数,1.FileCopy语句格式:

FileCopysource,destination功能:

复制一个文件。

说明:

FileCopy语句不能复制一个已打开的文件。

2.Kill语句格式:

Killpathname功能:

删除文件。

说明:

pathname中可以使用统配符“*”和“?

”。

例如:

Kill*.TXT3.Name语句格式:

NameoldpathnameAsnewpathname功能:

重新命名一个文件或目录。

说明:

(1)Name具有移动文件的功能。

(2)不能使用统配符“*”和“?

”,不能对一个已打开的文件上使用Name语句。

4.ChDrive语句格式:

ChDrivedrive功能:

改变当前驱动器。

说明:

如果drive为“”,则当前驱动器将不会改变;如果drive中有多个字符,则ChDrive只会使用首字母。

5.MkDir语句格式:

MkDirpath功能:

创建一个新的目录。

6.ChDir语句格式:

ChDirpath功能:

改变当前目录。

例如:

ChDirD:

TMP7.RmDir语句格式:

RmDirpath功能:

删除一个存在的目录。

说明:

只能删除空目录。

8.CurDir函数格式:

CurDir(drive)功能:

利用CurDir函数可以确定任何一个驱动器的当前目录。

说明:

drive为,则CurDir返回当前驱动器的当前目录。

例8.8利用ChDrive和ChDir语句改写例8.0中的File1_DblClick()事件过程。

SubFile1_DblClick()ChDriveDrive1.Drive设置缺省驱动器ChDirFile1.Path设置缺省目录RetVal=Shell(File1.FileName,1)EndSub,例8.9为例8.0添加事件过程File1_KeyDown(),使之支持Del键,即按下Del键删除选定的文件。

SubFile1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyDeleteThenChDriveDrive1.DriveChDirFile1.PathKillFile1.FileNameFile1.Refresh文件删除后更新文件列表框EndIfEndSub,本章小节,文件文件是记录的集合,三种访问模式顺序访问打开Open文件名,模式,文件号写Print、Write读Input#文件号,变量LineInput#文件号随机访问Open文件名ForRandomAs#文件号Len=长度读Get写Put二进制访问与随机访问模式类似,本章目录,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2