《Visual Basic程序设计教程(第3版)》第6章文件系统_第1页
《Visual Basic程序设计教程(第3版)》第6章文件系统_第2页
《Visual Basic程序设计教程(第3版)》第6章文件系统_第3页
《Visual Basic程序设计教程(第3版)》第6章文件系统_第4页
《Visual Basic程序设计教程(第3版)》第6章文件系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第6章文件系统第6章文件系统26.1利用传统的文件操作方法访问文件6.2文件系统控件6.3文件系统对象6.4应用案例与设计—简单文件管理器的设计6.1利用传统的文件操作方法访问文件VisualBasic中提供了3种数据的访问方式——顺序访问、随机访问和二进制访问,相应的文件可分为顺序文件、随机文件和二进制文件。6.1利用传统的文件操作方法访问文件(续)无论是什么类型的文件,其操作步骤一般都要按下列3个步骤进行:(1)打开(或创建)文件一个文件必须打开或创建后才可以操作。如果文件已经存在,则打开该文件;如果不存在,则创建文件。(2)根据打开文件的模式对文件进行读写操作在打开(或创建)的文件上执行所要求的读写操作。(3)关闭文件对文件读写操作完成后,要关闭文件并释放内存。顺序文件访问经常用来存储有规律的,不经常修改的数据1.打开顺序文件打开顺序文件的Open语句的语法格式为:OpenFileNameFor[Input|Output|Append]As[#]FileNumber其中,(1)FileName参数代表文件名。(2)可选参数Input、Output和Append代表打开顺序文件方式。(3)FileNumber参数代表与该文件关联的文件号顺序文件访问(续)2.读顺序文件(1)LineInput#语句LineInput#FileNumber,Var其功能是从FileNumber参数所指定的文件中读取一行数据并赋值给String类型变量var。(2)Input()函数Input(Size,FileNumber)其功能是从文件号FileNumber指定的文件中读取Size个字节数据。顺序文件访问(续)(3)Input#语句Input#FileNumber,Varlist其功能是从文件号FileNumber指定的文件中读取数据并赋值给变量表Varlist中的变量。注意:

(1)Input#语句将逗号和换行符作为分隔符,顺序读出FileNumber参数指定文件中的数据。顺序文件访问(续)

(2)Varlist变量列表,变量可以是任意类型的数据,多个数据项之间可以用逗号分隔。Input#语句中变量表Varlist中各变量的类型及顺序必须与文件中各数据项的数据类型及顺序保持一致。

(3)当从打开的文件中读入数据时,遇到第一个不为空格的字符或数字表示数据项的开始,遇到空格、逗号或行尾标志则认为数据项结束。顺序文件访问(续)3.写顺序文件(1)Write#语句Write#FileNumber[,Outputlist](2)Print#语句Print#FileNumber[,Outputlist]例如,Print#1,'将空白行写入文件Print#1,"sun";tab;"moon"'数据写在两个输出区Print#1,"sun";"└┘";"moon"'以空格隔开两个字符串Print#1,spc(5);"sun"'字符串前写入5个空格Print#1,tab(10);"sun"'将字符串写在第10列上顺序文件访问(续)4.关闭顺序文件VisualBasic提供的Close语句用来关闭文件Close[#FileNumber[,#FileNumber…]]顺序文件访问(续)【例6.1】输入编号、姓名、年龄,将其值以追加方式存入文件d:\fileseq.dat文件中,并将文件内容显示出来。(1)在窗体上添加3个Label控件、4个Textbox控件、3个按钮控件,分别设置其Caption属性,而且用来显示文件信息的文本框TextBox4的MultiLine属性值为true,ScorllBar的值为3,运行界面如图6.1所示。顺序文件访问(续)图6.1例6.1运行界面图顺序文件访问(续)(2)主要代码如下。PrivateSubCommand1_Click()'单击写文件按钮保存数据

Open"d:\fileseq.dat"ForAppendAs#1'追加方式打开文件

Write#1,Text1.Text,Text2.Text,Text3.TextClose#1EndSub顺序文件访问(续)PrivateSubCommand2_Click()'显示文件内容DimonelineAsStringDimwholefileAsStringOpen"d:\fileseq.dat"ForInputAs#1'以读方式打开文件

DoWhileNotEOF(1)LineInput#1,oneline'读入一行数据

wholefile=wholefile+oneline+Chr$(13)+Chr$(10)'换行显示

LoopText4.Text=wholefileClose#1EndSub随机文件访问1.打开随机文件用来打开随机文件的Open语句语法格式如下:OpenFileNameForRandomAs#FileNumberLen=Reclength其中,(1)Random表示以随机方式打开文件。(2)Len=Reclength指定每个记录的长度。随机文件访问(续)2.读随机文件VisualBasic6.0中使用Get#语句读随机文件。Get#FileNumber,Recnum,Var其功能是从文件号FileNumber指定的文件中读取第Recnum条记录的内容,并赋值给变量Var,此时Var应为记录类型的变量。随机文件访问(续)3.写随机文件使用Put#语句写随机文件Put#FileNumber,Recnum,Var其功能是将变量Var中的数据写到FileNumber指定文件的第Recnum条记录上。4.关闭随机文件关闭随机文件用Close语句随机文件访问(续)【例6.2】利用随机文件操作方法重做例6.1PrivateTypesdata'定义记录类型

sAsString*8xAsString*6yAsIntegerEndTypeDimbAssdata'定义记录类型变量DimreclenAsInteger'定义记录长度变量随机文件访问(续)PrivateSubCommand1_Click()'单击写文件按钮保存数据

reclen=Len(b)'获得记录类型的长度

Open"d:\fileran.dat"ForRandomAs#1Len=reclen'打开随机文件

b.s=Text2.Text

b.x=Text1.Text

b.y=Text3.Text

lastrec=LOF(1)/reclen'计算文件中的记录数

lastrec=lastrec+1'获得下一条记录的记录号

Put#1,lastrec,b'从文件尾端写文件

Close#1EndSub随机文件访问(续)PrivateSubCommand2_Click()'显示文件内容

reclen=Len(b)Open"d:\fileran.dat"ForRandomAs#1Len=reclen'以打开随机文件

lastrec=LOF(1)/reclen'计算文件中的记录数

Fori=1TolastrecGet#1,i,b'读入数据

wholefile=wholefile+b.x+b.s+Str(b.y)+Chr$(13)+Chr$(10)NextText4.Text=wholefileClose#1EndSub二进制文件访问应用程序可以在二进制文件的任意位置执行读写操作,访问单位为字节1.打开二进制文件OpenFileNameForBinaryAs#FileNumber其中,Binary表示以二进制方式打开文件2.读二进制文件Get#FileNumber,Position,Var其功能是从FileNumber文件的Position位置开始读取数据到变量Var中,读取的字节数由字节类型变量Var的大小决定。二进制文件访问(续)3.写二进制文件VisualBasic6.0中使用Put#语句写二进制文件Put#FileNumber,Position,Var其功能是将变量Var中的数据写入FileNumber文件从Position位置开始的地方。4.关闭二进制文件使用Close语句可以关闭二进制文件二进制文件访问(续)【例6.3】利用二进制文件操作方法重做例6.1。常用的文件操作语句和函数语句或函数ChDrive语句ChDir语句Kill语句MkDir语句FileCopy语句Name语句CurDir函数FileLen函数EOF函数LOF函数FreeFile函数6.2文件系统控件1.驱动器列表框(DriveListBox)驱动器列表框的常用属性Drive属性驱动器列表框的常用事件Change事件2.目录列表框(DirListBox)目录列表框的常用属性Path属性ListCount属性ListIndex属性目录列表框的主要事件Change事件6.2文件系统控件(续)3.文件列表框(FileListBox)文件列表框的常用属性Pattern属性Path属性FileName属性List属性ListIndex属性Archive,Hidden,Normal,ReadOnly和System属性文件列表框的常用事件Click事件6.2文件系统控件(续)【例6.4】编写一个程序完成图片浏览器的功能,要求能选择磁盘上的图片(BMP)文件,如图6.5所示。图6.5例6.4运行界面6.2文件系统控件(续)(1)在窗体上添加1个DriveListBox、1个DirListBox、1个FileListBox、1个HScrollBar、1个VScrollBar、2个Picture控件,其中:①Picture1控件作为图片显示框,Picture2中显示图片,Picture2的AutoSize属性设置为True。②HScrollBar和VScrollBar的LargeChange和SmallChange分别为2000和200。③FileListBox的Pattern属性设置为*.bmp。控件外观设置如图6.5所示。6.2文件系统控件(续)(2)代码如下。PrivateSubDrive1_Change()'驱动器改变Dir1.Path=Drive1.DriveEndSubPrivateSubDir1_Change()'目录改变File1.Path=Dir1.PathEndSub6.2文件系统控件(续)PrivateSubFile1_Click()'单击文件

ChDriveDrive1.Drive'改变驱动器

ChDirDir1.Path'改变目录

Picture2.Left=0Picture2.Top=0Picture2.Picture=LoadPicture(File1.Path+"\"+File1.FileName)VScroll1.Max=Picture1.Height-2600HScroll1.Max=Picture1.Width-2600VScroll1.Value=0HScroll1.Value=0EndSub6.2文件系统控件

温馨提示

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

评论

0/150

提交评论