第九章文件 9.1文件系统控件 9.2文件的读写 9.3常用的文件操作语句和函数
第九章 文件 9.1 文件系统控件 9.2 文件的读写 9.3 常用的文件操作语句和函数
9.1驱动器、目录和文件列表框 。爽动器目录和文件列表框示例 回☒ Sub drvDrive_Change() dirDirectory.Path drvDrive.Drive ,□c:[Dos] 256COLOR.BMP ACCSTAT.EXE End Sub ctive Setup Lo C: ARCADE.BMP ARCHES.BMP 色WID0WS ARGYLE.BMP 宣COMMAND ARP.EXE Sub dirDirectory_Change() CONFIG ARTGALRY.INI filFile.Path dirDirectory.Path aCO0灯ES ASPI2HLP.SYS C向CURSORS AUDDRIVE HLP End Sub Desktop AUDDRIVE.INI ☐Favorites AUDDRV.WAV AU 所有文件体*】■ AWARE35.MCH Sub Form_Load() Sub filFile_Click()) Item=“所有文件(**” cboType.Addltem Item+Space(20-Len(Item))+"*.*" Item="窗体文件(*.FRM)" End Sub cboType.Addltem Item+Space(20-Len(Item))+"*.FRM" Item="位图文件(*.BMP)" Sub filFile_DblClick() cboType.Addltem Item+Space(20-Len(Item))+"*.BMP" cboType.Listlndex=2 End Sub End Sub Sub cboType_Click() filFile.Pattern=Mid(cboType.Text,21) End Sub 例9.1示例程序
9.1 驱动器、目录和文件列表框 Sub drvDrive_Change() dirDirectory.Path = drvDrive.Drive End Sub Sub dirDirectory_Change() filFile.Path = dirDirectory.Path End Sub Sub Form_Load() Item = “所有文件(*.*)” cboType.AddItem Item + Space(20 - Len(Item)) + "*.*" Item = "窗体文件(*.FRM)" cboType.AddItem Item + Space(20 - Len(Item)) + "*.FRM" Item = "位图文件(*.BMP)" cboType.AddItem Item + Space(20 - Len(Item)) + "*.BMP" cboType.ListIndex = 2 End Sub Sub cboType_Click() filFile.Pattern = Mid(cboType.Text, 21) End Sub Sub filFile_Click( ) ┆ End Sub Sub filFile_DblClick( ) ┆ End Sub 例9.1示例程序
1.驱动器列表框 Drive)属性: [对象.]Drive[=drive] Change?事件: 重新设置Drive)属性引发Change事件 2.目录列表框 Path属性: [对象.]Path[=pathname] Change事件: 重新设置Path属性引发Change事件
1. 驱动器列表框 Drive属性: [对象.]Drive [= drive] Change事件: 重新设置Drive属性引发Change事件 2. 目录列表框 Path属性 : [对象.]Path [= pathname] Change事件: 重新设置Path 属性引发Change事件
3.文件列表框 Path属性: 显示该路径下的文件。 重新设置Path属性引发PathChange事件。 Pattern属性: 显示的文件类型。 [对象.]Pattern[=value] 重新设置Pattern属性引发PatternChange事件。 例如:filFile.Pattern=“*.frm”,显示*frm文件。 FileName属性: [对象.]FileName[=pathname] 引用时只返回文件名,相当于filFile.List(filFile.ListIndex), 需用Path属性得到其路径;设置时可带路径
3. 文件列表框 Path属性: 显示该路径下的文件。 重新设置Path属性引发PathChange事件。 Pattern属性: 显示的文件类型。 [对象.]Pattern [= value] 重新设置Pattern属性引发PatternChange事件。 例如:filFile.Pattern = “*.frm”,显示*.frm文件。 FileName属性: [对象.]FileName [= pathname] 引用时只返回文件名,相当于filFile.List(filFile .ListIndex), 需用Path属性得到其路径;设置时可带路径
Click、DbIClick事件: 例如,单击输出文件名。 Sub filFile Click() MsgBox filFile.FileName End Sub 例如,双击执行可执行程序 Sub filFile DblClick() ChDir(dirDirectory.Path)'改变当前目录 RetVal=Shell(filFile.FileName,l)'执行程序 End Sub
Click、DblClick事件: 例如,单击输出文件名。 Sub filFile_Click( ) MsgBox filFile.FileName End Sub 例如,双击执行可执行程序 Sub filFile_DblClick( ) ChDir (dirDirectory.Path) ’ 改变当前目录 RetVal = Shell(filFile.FileName, 1) ’ 执行程序 End Sub
9.2文件的读写 文件:存储在外部介质上数据的集合。 按名存取 1.记录 由若干个相互关联的数据项组成。 例如,由学生的学习成绩信息组成的记录: 学号 姓名 数学成绩 语文成绩 物理成绩 总分 数据项 2.文件及其种类 文件是记录的集合 顺序访问模式:顺序文件,记录可长可短 随机访问模式:随机文件,记录的长度相同 二进制访问模式:二进制文件(可认为记录长度为1)
9.2 文件的读写 文件:存储在外部介质上数据的集合。 按名存取 1. 记录 由若干个相互关联的数据项组成。 例如,由学生的学习成绩信息组成的记录: 学号 姓名 数学成绩 语文成绩 物理成绩 总分 数据项 2. 文件及其种类 文件是记录的集合 顺序访问模式:顺序文件,记录可长可短 随机访问模式:随机文件,记录的长度相同 二进制访问模式:二进制文件(可认为记录长度为1)
(1)顺序文件 按顺序依次把记录写入文件: 按顺序依次把记录读出来。 记录1 记录2 记录N 文件结束标志 文本文件:一行一条记录,记录可长可短,以“换行” 字符为分隔符号。 (2)随机文件 随机文件可以直接访问文件中的任意一个记录。 记录长度相同 根据记录号访问 #1记录1 #2记录2 #N记录N (3)二进制文件 直接把二进制码存放在文件中
(1) 顺序文件 按顺序依次把记录写入文件; 按顺序依次把记录读出来。 记录 1 记录 2 . 记录 N 文件结束标志 文本文件:一行一条记录,记录可长可短,以“换行” 字符为分隔符号。 (2) 随机文件 随机文件可以直接访问文件中的任意一个记录。 记录长度相同 根据记录号访问 #1 记录 1 #2 记录 2 . #N 记录 N (3) 二进制文件 直接把二进制码存放在文件中
一、 顺序访问模式 打开文件 读出或写入 关闭文件 1.打开文件 Open“文件名”[For模式]As[]文件号Len=记录长度] (1)模式 OUTPUT:写操作 INPUT:读操作 APPEND:追加到文件未尾 (2)文件号 1~511,可以用FreeFile函数获得下一个可利用的文件号。 (3)记录长度 小于或等于32767的整数,它指定数据缓冲区的大小。 例如,打开C:\VB\SCORE,供写入数据,指定文件号为#1。 OPEN "C:\VB\SCORE"FOR OUTPUT AS #1
1. 打开文件 Open “文件名” [For 模式] As [#]文件号 [Len=记录长度] (1) 模式 OUTPUT:写操作 INPUT:读操作 APPEND:追加到文件未尾 (2) 文件号 1~511,可以用FreeFile函数获得下一个可利用的文件号。 (3) 记录长度 小于或等于32767的整数,它指定数据缓冲区的大小。 例如,打开C:\VB\SCORE,供写入数据,指定文件号为#1。 OPEN "C:\VB\SCORE" FOR OUTPUT AS #1 一、 顺序访问模式 打开文件 读出或写入 关闭文件
2.写入命令 Print#文件号,[输出列表] 保存文本框 假定文本框的名称txtTest,文件名为TEST.DAT。 方法1:把整个文本框的内容一次性地写入文件。 Open "TEST.DAT"For Output As #1 Print #1,txtTest.Text Close #1 方法2:把整个文本框的内容一个字符一个字符地写入文件。 Open "TEST.DAT"For Output As #1 For i=1 To len(txtTest.Text) Print #1,Mid(txtTest.Text,i,1); Next i Close #1
2. 写入命令 Print #文件号,[输出列表] 保存文本框 假定文本框的名称为txtTest,文件名为TEST.DAT。 方法1:把整个文本框的内容一次性地写入文件。 Open "TEST.DAT" For Output As #1 Print #1, txtTest.Text Close #1 方法2:把整个文本框的内容一个字符一个字符地写入文件。 Open "TEST.DAT" For Output As #1 For i=1 To len(txtTest.Text) Print #1,Mid(txtTest.Text,i,1); Next i Close #1
Write#文件号,[输出列表] 紧凑格式。数据项之间插入“,”,并加上双引号。 例如,命令:Write#1,"one","Two",123 内容:"0ne","Two",123 3.关闭文件 Close[文件号][[文件号]. 例如,Close#1,#2,#3
Write #文件号,[输出列表] 紧凑格式。数据项之间插入“,”,并加上双引号。 例如,命令:Write #1,"One","Two",123 内容:"One","Two",123 3. 关闭文件 Close [[#]文件号][, [#]文件号]. 例如,Close #1, #2, #3