第九章 文件系统1_第1页
第九章 文件系统1_第2页
第九章 文件系统1_第3页
第九章 文件系统1_第4页
第九章 文件系统1_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章文件第9章文件本章要点:掌握文件系统控件;掌握VB中文件的概念、种类及其结构;掌握顺序文件的操作:打开、读/写、关闭;了解文件操作的常用函数。29.1文件系统的概念文件:存储在外部介质上数据的集合。按名存取磁盘文件是由数据记录组成。记录是计算机处理数据的基本单位数据项学号

姓名

数学成绩

语文成绩

物理成绩

总分

39.1文件系统的概念文件分类根据文件的存取方式及其组成结构,将文件分成3种类型:(1)顺序文件(2)随机文件(3)二进制文件4文件分类顺序文件顺序文件(SequentialFile)是普通的文本文件。顺序文件中的记录按顺序一个接一个地排列。读写文件存取记录时,都必须按记录顺序逐个进行。一行一条记录(一项数据),记录可长可短,以“换行”字符为分隔符号。5文件分类随机文件(RandomAccessFile)是可以按任意次序读写的文件,其中每个记录的长度必须相同。在这种文件结构中,每个记录都有其唯一的一个记录号,读取数据时,只要知道记录号,便可以直接读取记录。记录1记录2记录3……记录N6文件分类二进制文件 直接把二进制码存放在文件中 在程序中可以按任何方式组织和访问数据,对文件中各字节数据直接进行存取。任何文件都可以用二进制模式访问。79.2文件系统控件驱动器列表框目录列表框文件列表框。89.2.1驱动器列表(DriveListBox)Drive属性:在运行时返回或设置所选定的驱动器。该属性在设计时不可用,只能在程序中被引用或设置。[驱动器列表框名.]Drive[=驱动器名]例:Drive1.drive=“D:”99.2.1驱动器列表(DriveListBox)Change事件:程序运行时,当选择一个新的驱动器或通过代码改变Drive属性的设置时触发。例9-1109.2.2目录列表框(DirListBox)显示当前驱动器目录结构及当前目录下的所有子文件夹(子目录),供用户选择其中一个目录作为当前目录,如图119.2.2目录列表框(DirListBox)Path属性:返回或设置当前路径。格式:目录列表框名.Path=路径名字符串例:Dir1.Path="C:\Mydir"129.2.2目录列表框(DirListBox)当前目录紧邻其上的目录再上一个139.2.2目录列表框(DirListBox)Change事件在程序运行时,每当改变当前目录,即目录列表框的Path属性发生变化时触发。例9-2149.2.3文件列表框(FilelistBox)Path属性显示该路径下的文件。重新设置Path属性引发PathChange事件。例:File1.path=“C:\Windows”159.2.3文件列表框(FilelistBox)Pattern属性返回或设置文件列表框所显示的文件类型。缺省时表示所有文件。例:File1.Pattern="*.txt"File1.Pattern="???.txt"File1.Pattern="*.txt

;*.doc"169.2.3文件列表框(FilelistBox)FileName属性:返回或设置被选定文件的文件名。该属性设计时不可用。Filename属性不包括路径名。179.2.3文件列表框(FilelistBox)FileName属性:例:从文件列表框(File1)中获得全路径的文件名Fs,代码如下:

IfRight(file1.path,1)="\"Then

Fs=file1.path&

file1.filename

Else

Fs=file1.path&"\"&

file1.filename

EndIf189.2.3文件列表框(FilelistBox)Click、DblClick事件例:单击输出文件名。SubFile1_Click()

MsgBoxFile1.FileNameEndSub199.2.3文件列表框(FilelistBox)例:双击执行可执行程序(记事本notepad.exe)SubFile1_DblClick() DimnameAsString IfRight(file1.path,1)="\"Then name=file1.path&file1.filename Else name=file1.path&"\"&file1.filename EndIfn=Shell(name,1)'执行程序EndSub20三种文件系统控件组合应用例:显示计算机中的文件系统。21例:显示计算机中的文件系统。PrivateSubDrive1_Change() Dir1.Path=Drive1.DriveEndSub

PrivateSubDir1_Change() File1.Path=Dir1.PathEndSub22例:显示计算机中的文件系统。编写组合框的相关代码。PrivateSubForm_Load() Combo1.AddItem"*.*" Combo1.AddItem"*.frm" Combo1.AddItem"*.bmp" Combo1.AddItem"*.txt" Combo1.ListIndex=0EndSubPrivateSubCombo1_Click() File1.Pattern=Trim(Combo1.Text)EndSub239.3顺序文件的打开打开文件:Open文件名For模式As[#]文件号模式:指定文件的打开方式

INPUT:只读操作OUTPUT:只写操作

APPEND:追加到文件未尾249.3顺序文件的打开文件号介于1~511之间的整数打开文件时指定文件号,文件关闭后释放文件号。可用FreeFile函数来取得一个当前可供使用的文件号。Open文件名For模式As[#]文件号OPEN"C:\S.txt

"FOROUTPUTAS#1DimnFileAsIntegerNFile=FreeFileOpen"

c:\myfile.txt

"forInputAsnFile259.3顺序文件的关闭Close[[#]文件号][,[#]文件号]...例:

关闭指定的文件信道Close#1,#2,#3关闭所有已打开的文件信道Close269.3顺序文件的写入Print#或Write#创建新的顺序文件Open文件名[ForOutput]As[#]文件号Print/Write#文件号[,数据列表]Close#文件号变量名,常数。数据之间用“,”或“;”隔开279.3顺序文件的写(p195)例:创建一个新的顺序文件名为c:\cj.datPrivateSubCommand1_Click()Open"c:\cj.dat"ForOutputAs#1Write#1,"vb","vc","vfp"Write#1,1,80,70,90Close#1EndSub将数据追加到c:\cj.dat文件的尾部。289.3顺序文件的写保存文本框内容方法1:把文本框的内容一次性地写入文件。

Open"TEST.DAT"ForOutputAs#1 Print#1,Text1 Close#1

方法2:把文本框的内容一个字符一个字符地写入文件。

Open"TEST.DAT"ForOutputAs#1 Fori=1Tolen(Text1) Print#1,Mid(Text1,i,1); Nexti Close#1299.3顺序文件的读(p196)INPUT#文件号,变量列表 把读出的每个数据项分别存放到所对应的变量。LINEINPUT#文件号,字符串变量 读一行到变量中,主要用来读取文本文件。INPUT$(读取字符数,#文件号) 随意读取字符30与读文件操作有关的几个函数LOF(文件号)返回文件的长度(总字节数)。EOF(文件号)返回读写位置。 指针在文件尾时,EOF函数为True,否则为False。319.3顺序文件的读(p196)Open文件名[ForInput]As[#]文件号Input#文件号[,变量名列表]Close#文件号说明:ForInput以读取方式打开文件。Input#文件号,该语句将从文件中读出数据,并将读出的数据分别赋给指定的变量。329.3顺序文件的读(p196)例:从文件c:\cj.dat中读出数据。Private

Sub

Command1_Click() Open"c:\cj.dat"ForInputAs#1 Fori=1To3 Input#1,a,b,c,d Printa,b,c,d Nexti Close#1EndSub33读文本文件到文本框方法1:按行为单位读Text1.Text=""Open"MYFILE.TXT"ForInputAs#1DoWhileNotEOF(1)

LineInput#1,InputData

Text1=Text1+InputData+vbCrLfLoopClose#1 34读文本文件到文本框方法2:一次性读Text1.Text=""Open"MYFILE.TXT"ForInputAs#1Text1.Text=Input$(LOF(1),1)

Close#1 35读文本文件到文本框方法3:按字符为单位读

DimInputDataasString*1 Text1.Text="" Open"MYFILE.TXT"ForInputAs#1 DoWhileNotEOF(1)

InputData=Input$(1,#1) Text1.Text=Text1.Text+ InputData Loop Close#136例:在窗体上建立一个文本框,(MultiLine属性为True,ScrollBars属性为2)和三个命令按钮。单击“读入文件”按钮,则读入d:\001.txt文件中的10个整数,放入一个数组中(数组下界为1),并在文本框中显示出来;如果单击“排序”按钮则把10个数从大到小排序并在文本框中显示,如果单击“保存数据”按钮,则把排序好的数据存入保存对话框中选定的文件。37Dima(1To10)AsIntegerPrivateSubCommand1_Click()nm="d:\001.txt"OpennmForInputAs#1Fori=1To10Input#1,a(i)Text1=Text1+Trim(Str(a(i)))+""NextClose#1EndSub38PrivateSubCommand2_Click()Dimi%,j%Text1.Text=""Fori=1To10Forj=1ToiIfa(i)>a(j)Thent=a(i):a(i)=a(j):a(j)=tNextjNextiFori=1To10Text1=Text1+Trim(Str(a(i)))+""NextEndSub39PrivateSubCommand3_Click()’保存文件CommonDialog1.ShowSavefn=CommonDialog1.FileNameOpenfnForOutputAs#1Print#1,Text1.TextClose#1EndSub40

PrivateSubForm_Click()Dimf1AsInteger,f2AsInteger,f3 AsIntegerOpen"c:\a1.dat"ForOutputAs#1f1=2:f2=3Print#1,"NO.";3,f1Print#1,"NO.";4,f2Fori=5To7f3=f1+f2Print#1,"NO.";i,f3f1=f2f2=f3NextI:Close#1EndSubNO.32NO.43NO.55NO.68NO.713程序1写出a1.dat文件的最终结果41P202编程题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论