退出
第 11章 文件
退出
第 2页
11.1 文件系统控件
11.2 文件的访问
11.3 综合应用
退出
第 3页
11.1 文件系统控件
Visual Basic 提供了一组文件系统控件来帮助用户管理文件系
统。
主要包括:驱动器列表框( Drive ListBox),目录列表框( Dir
ListBox),文件列表框( File ListBox)
目录列表框 文件列表框
驱动器列表框
退出
第 4页
驱动器列表框
Drive属性
格式,驱动器列表框名称, Drive=驱动器名
在程序运行时, 若用户改变驱动器列表框中的驱动器, 将触发驱动器列表框的
Change事件 。
退出
第 5页
目录列表框
Path属性
为目录列表框中所选目录的路径,该属性同样不能在属性窗口中设置,
Path属性设置方法如下:
格式,目录列表框名称,Path=路径字符串
在程序运行时,若用户改变目录列表框中的路径,将触发 Change事件。
退出
第 6页
文件列表框
1.主要属性,
Path属性:指定和返回当前目录 。
Pattern属性:设置文件列表框中显示文件的类型, 默认值为所有
文件 ( *.*) 。
FileName属性:用来返回某个选定的文件名 ( 不包括路径 ) 。 当
用户双击文件列表框中的某个文件时, 即将该文件名赋给该属
性 。
ListCount属性:文件列表框中显示的文件的个数 。
ListIndex属性:文件列表框中所选项的索引值 。
List属性:保存文件列表框中所有项的数组 。
2.常用的事件,DblClick事件和 Click事件
退出
第 7页
【例 11.1】 驱动器列表框、目录列表框和文件列表框常常配
合使用。
退出
第 8页
11.2 文件的访问
? 文件的结构和分类
? 文件的打开与关闭
? 顺序文件的访问
? 随机文件的访问
? 二进制文件的访问
退出
第 9页
文件的结构和分类
1.文件说明
文件是指存放在外部介质上的以文件名标识的数据集合。
2.文件结构
⑴ 文件是由相关记录组成的数据集合, 是操作系统对数据进行管理的
基本单位, 其特点是按名存取 。
⑵ 记录是由相关的字段组成 。 字段是构成记录的一组数据项 。
⑶ 字段由字符组成。字符是构成文件的最基本的单位,可以是 ASCII
码字符或汉字。
3.文件的类型
根据文件存储数据的性质,文件可分为程序文件和数据文件。
根据数据的编码方式,文件可分为 ASCII码文件和二进制文件
根据数据存取方式和结构,文件可分顺序文件和随机文件
退出
第 10页
文件的打开与关闭
在 Visual Basic 中, 文件的操作分三个步骤进行:
·打开文件 。 Open语句
·进行读, 写操作 。·关闭文件。
退出
第 11页
1,文件的打开
格式,Open <文件名 > [For打开方式 ] As [#]文件号 [Len=记
录长度 ]
说明,打开方式是指打开文件的输入、输出方式,有如下形
式:
Output 打开顺序文件, 并只能写 。 若无此文件, 则自
动建立 。
Input 打开顺序文件, 并只能读 。
Append 打开顺序文件,并只能写。
Random 打开随机文件, 可以读也可以写 。
Binary 以二进制文件的方式打开文件,可以读也可以写。
文件的打开与关闭
退出
第 12页
Open语句 用法示例:
① 打开 C盘 VB文件夹下的文件 A.dat,并进行写操作, 指定文件号为 1。
文件打开语句为:
Open,C:\VB\A.DAT”For Output As #1
② 将 ① 中的文件打开, 并进行写操作, 但保留原记录 。
Open“C:\VB\A.DAT”For Append As #1
③ 将 ② 中的文件打开, 指定文件号为 2,并准备读文件 。
Ch$=“C:\VB\A.DAT”
Open ch For Input As #2
此例将文件名赋值给字符串变量 Ch。
④ 打开 D盘上的随机文件 B.TXT,它的记录长度为 30个字符 。
Open,D:\B.TXT” For Random As #1 Len=30
文件的打开与关闭
退出
第 13页
2.文件的关闭
格式,Close [文件号列表 ]
例:
Close 1,2 关闭 1号和 2号文件
Close 3# 关闭 3号文件
Close 关闭所有文件
3.文件指针
若件以 Append方式打开,指针指向文件尾。
若文件以其他方式打开, 则指针指向文件头 。
当文件经过一次读或写, 文件指针会自动移到下一个位置 。
文件的打开与关闭
退出
第 14页
4,文件读写操作函数
⑴ EOF函数
格式,EOF(文件号 )
功能,用来测试文件是否结束 。 返回值为逻辑值 。
⑵ Loc函数
格式,Loc(文件号 )
功能,对于随机文件,Loc函返回文件读或写的最后一个记录。
对于顺序文件,Loc函数返回读或写的记录个数。
⑶ LOF函数
格式,LOF(文件号 )
功能,该函数的返回值为文件所包含的字节数 。
⑷ FreeFile函数
格式,FreeFile()
功能,返回空闲的文件号 。
文件的打开与关闭
退出
第 15页
顺序文件的访问
顺序文件的操作有读和写,
写数据的语句,Print语句和 Write语句
读数据包括,Input语句和 LineInput语句和 Input$函数
1,Print语句
格式,Print #文件号, [表达式列表 ]
功能,将数据写入顺序文件中。
例如:
Open "d:\vb\x.txt" For Output As #1
a = 5,b = 5
Print "a+b=",a + b
Print #1,"a+b=",a + b
Close
程序运行后,在文件 x.txt的内容和窗体上的显示均为,a+b=10。
退出
第 16页
2,Write语句
格式,Write #文件号, [表达式列表 ]
功能,将数据写入顺序文件中。
例如:
c1$ = "A1",c2$ = "A2",c3$ = "A3",c4$ = "A4"
Open "c:\vb\y.txt" For Output As #1
Write #1,c1,c2,c3,c4
程序运行后, 向文件 y.dat中写入,"A1","A2","A3","A4"
顺序文件的访问
退出
第 17页
3,Input 语句
格式,Input #文件号, [变量列表 ]
功能,从顺序文件中读取数据, 遇到逗号, 便认为是数据项的
结束 。
例如:
Open "d:\vb\x.txt" For Output As #1
a = 5,b = 5
Print "a+b=",a + b
Print #1,"a+b=",a + b
Close
程序运行后,在文件 x.txt的内容和窗体上的显示均为,a+b=10。
顺序文件的访问
退出
第 18页
4.Line Input语句
格式,Line Input #文件号, [变量列表 ]
功能,从顺序文件中读取一行数据, 遇到回车, 便认为是数据行的结束 。
例:数据文件 a.dat中有如下 3条记录,Visual
Basic
6.0有如下程序段:
Open "c:\vb\a.dat" For Input As #3
Line Input #3,c1$
Line Input #3,c2$
Line Input #3,c3$
s$ = c1 + c2 + c3 + c4
Close
Print s
程序运行后,窗体上显示,Visual Basic 6.0
顺序文件的访问
退出
第 19页
5,Input$函数
格式,Input$( n,#文件号 )
功能,返回从指定文件中读取的 n个字符 。 n为整型表达式 。
例:若有数据文件 c:\vb\b.dat,内容为字符串 1234567890。
程序代码为:
Open "c:\vb\b.dat" For Input As #5
x$ = Input$(6,5)
Print x
Close
程序运行后,在窗体上显示,123456
顺序文件的访问
退出
第 20页
随机文件的访问
1,Put语句
格式,Put #文件号, [记录号 ],变量
功能,将变量的内容写入随机文件的指定记录中 。
例如:
put #1,,s
表示将变量 S的值写入 1号文件的当前记录中 。
2,Get语句
格式,Get #文件, [记录号 ],变量
功能,将随机文件中指定记录的内容读出到变量中 。
例如:
Get #1,5,s
表示将 1号文件的 5号记录的内容读出到变量 S中。
退出
第 21页
二进制文件的访问
二进制文件的访问以字节数来定位数据,允许程序按
所需要的方式组织和访问数据。
退出
第 22页
11.3综合应用
【例 11.2】 将学生成绩存入顺序文件中。设顺序文件名为
xsda1.dat,以追加方式建立并打开它,用 Write语句将数
据内容写入此顺序文件中。
【例 11.3】 将学生成绩存入随机文件,随机文件名为 xsda2.dat。