【VB开源代码栏目提醒】:网学会员为需要VB开源代码的朋友们搜集整理了VB-第10章-文件操作 - 计算机理论相关资料,希望对各位网友有所帮助!
VB程序设计第十章文件操作1主讲教师胡滨Hubin_xyxiyou.edu.cn西安邮电学院计算机系2010年6月
VB程序设计第十章文件操作2文件的概念文件是存储数据的基本单位任何对数据的访问都是通过文件进行的。
通常在
计算机的外存储设备如磁盘、磁带上存储着大量的文件比如文本文件位图文件、程序文件等常将具有相互关系的一组文件放在同一个文件夹中系统通过对文件、文件夹的管理达到管理数据信息的目的。
文件存储在外部介质上数据的集合。
VB程序设计第十章文件操作3文件的概念在操作系统中有两种文件字符流无结构文件和记录式有结构文件磁盘文件是由数据记录组成。
记录是计算机处理数据的基本单位它由一组具有共同属性相互关联的数据项组成。
学号姓名数学成绩语文成绩物理成绩总分数据项
VB程序设计第十章文件操作4文件的概念可以从不同的角度对文件进行分类例如按文件的存储介质不同可以分为磁盘文件、磁带文件、打印文件等按文件的存储内容不同可以分为程序文件和数据文件按文件的访问方式不同又可以将文件分为顺序文件、随机文件和二进制文件。
VB程序设计第十章文件操作5顺序文件顺序文件即普通的纯文本文件其数据是以字符ASCII码的形式存储的可以用任何字处理
软件进行访问。
对顺序文件中的数据的操作只能按一定的顺序执行建立时只能从第一个记录开始一个记录接一个记录地写入文件以“换行”字符为分隔符号。
读写文件时只能快速定位到文件头或文件尾但如果要查找位于中间的数据就必须从头开始一个一个地查找直到找到为止就好像在录音带上查找某首歌一样。
顺序文件:优点是结构简单、访问方式简单缺点是查找数据必须按顺序进行且不能同时对顺序文件进行读写操作。
适用于不经常修改的文件记录1记录2????记录N文件结束标志
VB程序设计第十章文件操作6随机文件随机文件是以固定长度的记录为单位进行存储的。
随机文件由若干条记录组成而每条记录又可以包含多个字段每个记录包含的字段数和数据类型都是相同的。
随机文件按记录号引用各个记录通过简单地指定记录号就可以很快地访问到该记录。
存取速度快易更新但占用空间大设计程序较复杂1记录12记录2????N记录NVB程序设计第十章文件操作7二进制文件二进制文件是字节的集合直接把二进制码存放在文件中。
除了没有数据类型或者记录长度的含义以外它与随机访问很相似。
二进制访问模式是以字节数来定位数据在程序中可以按任何方式组织和访问数据对文件中各字节数据直接进行存取。
灵活性很大 相对的 程序更复杂
VB程序设计第十章文件操作8文件的读写文件缓冲区在程序中对文件的操作通常按3个步骤进行打开文件读出或写入关闭文件
VB程序设计第十章文件操作91.打开顺序文件Open 文件名For 模式 As 文件号Len记录长度1 模式OUTPUT写操作INPUT读操作APPEND追加到文件末尾。
2 文件号?? 1511可以用FreeFile函数获得下一个可利用的文件号。
3 记录长度小于或等于32767的整数它指定数据缓冲区的大小。
例如打开C:VBSCORE供写入数据指定文件号为1。
OPEN C:VBSCORE FOR OUTPUT AS 1
VB程序设计第十章文件操作10说明Open 文件名For 模式 As 文件号Len记录长度一个字符串表达式可以包含驱动器符及文件夹。
Input以只读方式打开文件。
当要读的文件不存在时会出错。
Output表示以写方式打开文件。
如果文件不存在就创建一个新的文件如果文件已经存在则删除文件中的原有数据从头开始写入数据。
Append表示以添加的方式打开文件。
如果文件不存在就创建一个新的文件。
打开文件时保留原有的数据写数据时从文件尾开始进行添加。
表示打开文件的文件句柄是一个介于1-511之间的整数。
VB提供了函数FreeFile来为打开的文件分配系统中未被使用的文件号。
前的号可以省略。
表示可使用的缓冲区的字节数。
VB程序设计第十章文件操作11例要在C盘Data文件夹下建立一个名为Student.dat的顺序文件使用Open语句Open ”C:DataStudent.dat” For Output As l打开当前盘当前文件夹下名为Salary.dat的顺序文件以便从中读取数据Open ”Salary.dat” For input As 8打开C盘Data文件夹下名为Student.dat的文件以便在文件尾添加数据Open ”C:DataStudent.dat” For Append As 2
VB程序设计第十章文件操作12关闭文件关闭文件——Close 语句使用格式如下Close filenumberlist其中filenumberlist可选项为文件号列表如1 2 3例如Close 123如果省略则将关闭Open语句打开的所有活动文件。
Close
VB程序设计第十章文件操作13顺序文件的读写操作1. 顺序文件的写操作
VB提供了两个向文件写入数据的语句即Write 语句和Print 语句。
1Print 语句格式Print 功能将的内容写入指定的文件中。
中各项要用逗号或分号隔开。
当用逗号分隔时采用分区格式输出当用分号分隔时采用紧凑格式输出所有项将在一行内输出所有项输出后将自动换行。
每一项可以是常量、变量或表达式。
VB程序设计第十章文件操作14顺序文件的读写操作2Write 语句格式Write 功能将的内容写入指定的文件中。
其中中各项之间要用逗号分开每一项可以是常量、变量或表达式。
Write 语句将各输出项的值按列表顺序写入文件并在各值之间自动插入逗号并且将字符串加上双引号。
所有变量写完后将在最后加入一个回车换行符。
不含的Write 语句将在文件中写入一空行。
Print 语句与Write 语句不同用Print 语句输出后文件中的字符串没有被加上引号各项之间没有逗号分隔。
另外中可以使用Spc 函数和Tab 函数。
VB程序设计第十章文件操作15顺序文件的读写操作用Write 语句和Print 语句产生的两种不同格式的数据文件用Write 语句生成的数据”001””张三8792”002””李四”7689 ”003“”王五9386用Print 产生的数据001 张三87 92002 李四76 89003 王五93 86
VB程序设计第十章文件操作16顺序文件的读写操作保存文本框假定文本框的名称为Text1文件名为TEST.DAT。
方法1把整个文本框的内容一次性地写入文件。
Open c:TesT.txt For Output As 1Print 1 Text1 Close 1方法2把整个文本框的内容一个字符一个字符地写入文件。
Open c:TesT.txt For Output As 1 For i1 To lenText1Print 1MidText1 i 1Next i Close 1
VB程序设计第十章文件操作17顺序文件读操作从现存文件中读入数据应以顺序Input方式打开该文件。
然后使用Input 语句、Line Input 语句和Input 函数读入到
程序变量中。
使用格式如下INPUT 文件号变量列表把读出的每个数据项分别存放到所对应的变量。
LINE INPUT 文件号字符串变量读一行到变量中主要用来读取文本文件。
INPUT读取字符数 文件号读取指定的数量的字符作为函数的返回值。
VB程序设计第十章文件操作18与读文件操作有关的几个函数1Lof函数LOF函数将返回某文件的字节数。
例如LOF1返回1文件的长度如果返回0值则表示该文件是一个空文件。
2Loc函数Loc函数将返回在一个打开文件中读写的记录号对于二进制文件它将返回最近读写的一个字节的位置。
3Eof函数Eof 函数将返回一个表示文件指针是否到达文件末尾的标志。
如果到了文件末尾Eof 函数返回TRUE-1否则返回FALSE0。
VB程序
设计第十章文件操作19编程将一文本文件的内容读到文本框方法1一行一行读text1.Text Open c:test.TXT For Input As 1Do While Not EOF1Line Input 1 InputDatatext1.Text text1.Text InputDatavbCrLfLoopClose 1回车换行
VB程序设计第十章文件操作20编程将一文本文件的内容读到文本框方法2一次性读text1.Text Open c:test.TXT For Input As 1text1.Text Input LOF11Close 1
VB程序设计第十章文件操作21随机文件1. 打开Open 文件名For Random As 文件号Len记录长度2. 写操作Put 文件号记录号变量名将一个记录变量的内容写到指定的记录位置处。
忽略记录号则表示在当前记录后的位置插入一条记录。
3. 读操作Get 文件号记录号变量名忽略记录号则读出当前记录后的那一条记录。
VB程序设计第十章文件操作22常用的文件操作语句和函数1.FileCopy语句格式FileCopysourcedestination功能复制一个文件。
说明FileCopy语句不能复制一个已打开的文件。
2.Kill语句格式Killpathname功能删除文件。
说明pathname中可以使用统配符“”和“”。
例如Kill.TXT3.Name语句格式NameoldpathnameAsnewpathname功能重新命名一个文件或目录。
说明1Name具有移动文件的功能。
2不能使用统配符“”和“”不能对一个已打开的文件上使用Name语句。
VB程序设计第十章文件操作23常用的文件操作语句和函数4.ChDrive语句格式ChDrivedrive功能改变当前驱动器。
说明如果drive为“”则当前驱动器将不会改变如果drive中有多个字符则ChDrive只会使用首字母。
5.MkDir语句格式MkDirpath功能创建一个新的目录。
6.ChDir语句格式ChDirpath??功能改变当前目录。
例如ChDirD:TMPVB程序设计第十章文件操作24常用的文件操作语句和函数7.RmDir语句格式RmDirpath功能删除一个存在的目录。
说明只能删除空目录。
8.CurDir函数格式CurDirdrive功能利用CurDir函数可以确定任何一个驱动器的当前目录说明drive为则CurDir返回当前驱动器的当前目录。
VB程序设计第十章文件操作25例子添加数据学号姓名成绩读取数据计算总分和平均成绩。
VB程序设计第十章文件操作26例子PrivateSubCommand1_ClickOpenc:stud.txtForAppendAs1Write1Text1Text2ValText3Close1EndSubVB程序设计第十章文件操作27例子Openc:stud.txtForInputAs1DoWhileNotEOF1Input1nonamescoresumsumscorecountcount1Text4Text4noSpace2nameSpace2scorevbCrLfLoopText4Text4总分sumvbCrLfText4Text4平均成绩sum/countvbCrLfCloseVB程序设计第十章文件操作28文件系统控件
VB为用户提供了三个文件系统控件驱动器列表框DriveListBox目录列表框DirListBox文件列表框FileListbox它们都能自动从操作
系统获取信息让用户了解有关驱动器、目录和文件的当前状态。
这三个控件可以单独使用也可以组合起来使用。
组合使用时可在各控件的事件过程中编写
代码建立它们之间的联系产生联动的关系。
VB程序设计第十章文件操作29驱动器列表框DriveListBox驱动器列表框是一种能显示系统中所有有效磁盘驱动器的列表框。
用户可以单击列表框右侧的箭头从列出的驱动器列表中选择驱动器。
VB程序设计第十章文件操作30驱动器列表框DriveListBox1属性Drive属性返回或设置磁盘驱动器的名称。
可以是任何一个有效的字符串表达式该字符串的第一个字母必须是二个有效的磁盘驱动器符号。
如“C:”或“D”等。
Drive属性只能在运行时被设置当被设置后驱动器盘符出现在列表框的顶部。
改变Drive属性的设置值将激活Change事件。
从列表框中选择驱动器并不能自动地变更系统当前的工作驱动器要改变系统当前的工作驱动器需要使用ChDrive语句。
例如rDrive Drivel.Drive ??读取驱动器Drivel.Drive ”c:????设置驱动器ChDrive ”C:”??表示将驱动器c变成当前
工作驱动器
VB程序设计第十章文件操作31驱动器列表框DriveListBox2. 事件驱动器
列表框的
常用事件为Change事件。
当选择一个新的驱动器或通过
代码改变Drive属性的设置时触发该事件。
例如将在驱动器列表中选择的驱动器设置为当前驱动器可以在该事件过程中编写
代码Private Sub Drivel_ChangeChDrive Drivel.DriveEnd SubVB程序设计第十章文件操作32目录列表框DirListBox目录列表框通过显示一个树型的目录结构来列出当前驱动器下的分层目录其中每一行代表一级目录当用鼠标双击某一目录时将打开该目录并显示其子目录。
VB程序设计第十章文件操作33目录列表框DirListBox1属性Path属性返回或设置当前工作目录的完整路径包括驱动器盘符。
当改变Path属性时将激活一个Change事件。
在设计阶段该属性不可用。
设置Path属性相当于改变了目录列表框的当前目录。
在目录列表框中选择目录并不能改变系统的当前目录要想真正改变系统当前目录必须使用ChDir语句。
2事件目录列表框的常用事件为Change事件。
-当双击一个目录项或通过
代码改变Path属性的设置时触发该事件。
VB程序设计第十章文件操作34文件列表框FileListBox文件列表框是一个带滚动条的列表框用来显示特定目录下的文件。
编写程序时经常用到Path属性、FileName属性、Pattern属性和Click事件、DblClick事件。
VB程序设计第十章文件操作35文件列表框FileListBox1属性Path属性返回或设置当前目录的路径名。
其值为一个表示路径名的字符串表达式。
编写程序时文件列表框的Path属性值一般由目录列表框的Path属性获得。
当Path属性被设置后文件列表框将显示当前目录下的文件。
Path属性只能在运行阶段设置。
FileName属性设置或返回所选文件的路径和文件名。
当在程序中设置FileName属性时可以使用完整的文件名也可以使用不带路径的文件名当读取该属性时则返回当前从列表中选择的不含路径名的文件名或空值。
改变该属性值可能会激活一个或多个事件如PathChange、PatternChange或DblClick事件。
VB程序设计第十章文件操作36Private Sub Dir1_ChangeText2 Dir1.PathFile1.Path Dir1.PathEnd SubPrivate Sub Drive1_ChangeText1 Drive1.DriveDir1.Path Drive1.DriveEnd SubPrivate Sub File1_ClickText3 File1.FileNameEnd Sub