Visual Basic 程序设计 第12章文件处理
主要内容 文件系统控件 文件处理语句 文件系统对象 FileSystemObject (FSO) 传统的文件I/O语句 驱动器列表框 DriveListBox 目录列表框 DirListBox 文件列表框 FileListBox 文件处理语句 文件系统对象 FileSystemObject (FSO) 传统的文件I/O语句 Open、Close Input、Write Line Input、 Print Get、Put
文件系统控件 DriveListBox(驱动器列表框)主要属性: DirListBox-目录列表框 FileListBox-文件列表框 Path 选中的目录(路径) FileListBox-文件列表框 Path 显示的目录 Filename 最后选中的文件名 Pattern 样式(类似于过滤器 Filter) 都有类似listbox的属性如List ,listcount等
三种列表框的同步 '选择驱动器时,目录列表框跟着改变 Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub '选择目录时,文件列表框跟着改变 Private Sub Dir1_Change() File1.Path = Dir1.Path
常用的文件处理语句 ChDrive <驱动器名> 改变当前驱动器 ChDir <路径> 改变当前路径 MkDir <路径> 创建新目录 RmDir <路径> 删除目录 Kill <文件名> 删除文件 SetAttr <文件名> ,<属性> 设置文件属性 FileCopy <源文件> <目的> 拷贝文件 Name <原文件名> As <新文件名> 更名
文件系统对象 把驱动器、文件夹、文件等都看作对象: FileSystemObject (FSO) 文件系统 Drive/Drives 驱动器/驱动器集合 Folder/Folders 文件夹/文件夹集合 File/Files 文件/文件集合 TextStream 文本流
文件系统对象操作 引用 Microsoft Scripting Runtime 创建FSO对象。两种方法: Dim <变量名> as New FileSystemObject Dim fs as New FileSystemObject Set <变量名> =CreateObject(“ Scripting.FileSystemObject”) Set fs =CreateObject(“ Scripting.FileSystemObject”) 使用FSO访问驱动器、文件夹和文件。例如 Dim fil as File set fil=fs.getfile(“c:\config.sys”)
传统的文件读写 文件操作: 数据文件访问类型 传统的文件I/O语句 对不同类型文件用不同的语句 有关函数 打开文件 读写文件 关闭文件 顺序型 随机型 二进制型 传统的文件I/O语句 Open、Close Input、Write Line Input、 Print Get、Put 对不同类型文件用不同的语句 有关函数
顺序文件的打开 语句格式: Open <文件名> For {Input | Output | Append} As <文件号> [Len=buffersize] 说明: Input -为读取文件而打开,文件应存在 Output-为写入数据而打开,新建 Append-为追加数据而打开,也可新建 文件号:读写和关闭时用。同时打开多个文件时要指定不同的文件号。 例:Open “c:\a.txt” for Input as #1
顺序文件的读取 语句格式: 读1行到一个变量: Line Input #<文件号>,<变量名> 用下列函数读指定长度: Input (<字符数>,<文件号>) InputB(<字节数>,<文件号>) 读一列数据到一列变量: Input # <文件号>,<变量名1> ,<变量名2>,…
与文件有关的函数 EOF(<文件号>) — End Of File 测试文件末函数(Boolean型) LOF(<文件号>) — Length of File 返回已打开文件的长度(字节数) FileLen (<文件名>) 返回未打开文件长度(字节数) FreeFile 返回下一个可供 Open 语句使用的文件号 StrConv(<字符串>,<类型>) 字符串转为指定类型。 CurDir [(<驱动器名>)] 返回当前目录 又: App.Path (属性) — 应用程序文件所在路径
顺序文件的写入 语句格式: Print # <文件号>,<数据> [ , | ;] Write # <文件号>,<数据> 与Input语句对应:用Write写入的数据,用Input读出。 Input
关闭文件 语句格式 Close [<文件号1>] [,<文件号2>] 不带参数的Close语句将关闭所有打开的文件。
访问随机存取文件 打开文件: 读文件 写文件: Open <文件名> [For Random] as <文件号> Len=<记录长> 读文件 Get #<文件号>, <记录号>,<变量名> 写文件: Put #<文件号>, <记录号>,<变量名>
用户定义数据类型 语法: [Public |Private] Type 类型名 <Field1> as type1 … [<Fieldn> as typen] End Type 先定义,后声明 例:定义学生记录格式 Public Type Stu xm as String*6 ‘姓名 xh as String*8 ‘学号 xb as String*1 ‘性别 cj(3) as Integer ‘成绩 yw as Integer ‘语文成绩 wy as Integer ‘外语成绩 End Type