VB程序设计基础教程第7章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

魏豪明制作第7章文件处理文件访问类型类型顺序型二进制型随机型魏豪明制作顺序文件的常用语句和函数7.1.3顺序文件(1)Open语句表7-1文件访问方式访问方式说明Append从文件末尾添加Binary二进制Input顺序输入Output顺序输出Random随机(默认状态)魏豪明制作表7-2操作方式操作方式说明Read只读Write只写ReadWrite读写表7-3网络操作方式操作方式说明Shared共享LockRead防止读出LockWrite防止写入Lockreadwrite防止读出与写入魏豪明制作(2)Close语句当文件读写完后,用来关闭文件,其一般语法格式为:Close[[[#]文件号][,[#]文件号]…]若省略参数,则将关闭用Open语句打开的所有活动文件。关闭某文件时,不仅所有与该文件相关联的缓冲区空间都会被释放,而且文件与其文件号之间的关联将终结。魏豪明制作(3)Reset语句Reset用于关闭Open语句打开的所有活动文件,并将文件缓冲区的所有内容写入磁盘,其一般语法格式为:Reset(4)Lock和Unlock语句锁定(Lock)用于禁止其他进程对一个已打开的顺序文件进行存取。解锁(Uulock)用于释放由锁定语句设置的对一个文件的多重访问保护,其一般语法格式为:Lock[#]文件号[,记录范围]Unlock[#]文件号[,记录范围]顺序文件锁定和解锁的范围是整个文件,即使指明范围也不会起作用。魏豪明制作(5)FileAttr函数FileAttr函数用来返回Open语句所打开文件的方式,其一般语法格式为:FileAttr(文件号,返回类型)表7-4存取方式返回值文件访问方式返回值Input1Output2Random4Append8binary32魏豪明制作(6)FileLen函数FileLen函数用来返回一个文件的长度,单位为字节,其一般语法格式为:FileLen(文件名)文件名是字符串表达式,可以包含文件的目录或文件夹及驱动器。当调用FileLen函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。(7)FreeFile函数FreeFile函数用来返回下一个可供Open语句使用的文件号,并提供一个尚未使用的文件号(使用FreeFile函数获取可用的文件号是编程的良好习惯),其一般语法格式为:FreeFile[(文件号范围)]文件号范围是指定的一个范围,以便返回该范围内的下一个可用文件号。当为0(默认)时,返回一个在1~255之间的文件号;当为1时,则返回一个在256~511之间的文件号。魏豪明制作(8)Lof函数Lof函数用来返回Open语句打开的文件大小,单位为字节,其一般语法格式为:Lof(文件号)(9)Loc函数Loc函数是用来在已打开的文件中指定最近一次读写的位置。返回文件中当前字节位置除以128后的值,其一般语法格式为:Loc(文件号)魏豪明制作(10)Seek函数Seek函数用来在Open语句打开的文件中指定当前的读写位置,即文件的当前指针位置。因此,Seek函数=Loc函数+1,其一般语法格式为:Seek(文件号)(11)Seek语句在用Open语句打开的文件中,设置下一个读写操作的位置。魏豪明制作(12)EOF函数EOF函数表明是否到达顺序文件的结尾。使用EOF是为了避免在文件结尾处读出而产生错误,对于顺序文件EOF函数告诉用户是否到达文件的最后一个字符或数据项。其一般语法格式为:EOF(文件号)EOF函数当到达文件尾部时返回True,否则返回False。魏豪明制作顺序文件的写操作(1)Print语句Print语句用于将一个或多个格式化数据写到顺序文件中,其一般语法格式为:Print#文件号[,输出列表]其中,文件号是在Open语句中指定的文件号。输出列表是准备写入文件中的数据,可以是变量名也可以是常量数据,数据之间可以用逗号或分号隔开。魏豪明制作(2)Write语句Write语句用于将表达式写到顺序文件中,其一般语法格式为:Write#文件号[,输出列表]其中,文件号是在Open语句中指定的文件号。输出列表是要写入文件中的数据,可以是变量名也可以是常量数据,输出项之间可以用逗号、空格或分号隔开。魏豪明制作顺序文件的读操作(1)Input语句Input语句用于从已经打开的顺序文件中读出数据并赋给变量,其一般语法格式为:Input#文件号[,变量列表]其中,变量用来存放从顺序文件中读出的数据。变量列表中的变量用逗号分开,并且变量的个数和类型应该与从磁盘文件读取的记录中所存储的数据状况一致。魏豪明制作(2)LineInput语句LineInput语句是从打开的顺序文件中读取一个记录,即一行信息。其一般语法格式为:LineInput#文件号[,字符串变量]其中,变量用来接收从顺序文件中读出的一行数据。魏豪明制作7.1.4随机文件随机文件常用的语句和方法1.Open和Close、Reset语句2.Lock和Unlock语句3.FileAttr函数4.FileLen和Lof函数5.FreeFile函数6.Seek语句7.EOF函数8.Loc函数9.Seek函数魏豪明制作表7-5锁定或解锁的范围范围说明缺省所有记录从头到尾记录号该记录号开始记录To结束记录从开始记录到结束记录的范围To结束记录从1到结束记录魏豪明制作随机文件的写操作在VisualBasic中Put语句用于对随机文件进行写操作,其一般语法格式为:Put[#]文件号,[记录号],变量名其中,记录号指明了在此记录号开始写入,用变量中的数据来替换由记录号所指定的记录。记录号可以是整型、变体或长整型,取值范围是1~2147483647。如果省略记录号,则为最近一个Get或Put语句的(最近一个Seek语句指出的)下一个记录。变量名表示是要写入磁盘的数据的变量名,其数据类型应与记录类型一致。魏豪明制作随机文件的读操作在VisualBasic中可用Get#语句将一个已打开的磁盘文件读出到一个变量。读出数据时所用的数据类型必须与建立文件时所用的数据类型一致,通常用Put将Get读出的数据写入一个文件,其一般语法格式为:Get[#]文件号,[记录号],变量名例如:Get#1,10,S1表示将1号文件中的第10个记录读出,并存放到变量S1中去。魏豪明制作7.1.5二进制文件当使用文件时,二进制访问方式具有最大的灵活性。二进制存取可以获取任何一个文件的原始字节。任何类型的文件都可以用二进制访问的方式打开。二进制访问文件中的字节可以代表任何东西,通过使用二进制型访问可以使磁盘空间的使用降到最小。二进制存取方式与随机存取方式一样,使用Get#语句和Put#语句进行读写操作,使用Open语句打开文件。魏豪明制作7.2文件系统控件控件的常用属性7.2.1控件常用属性与事件属性DriveListBox控件的Drive属性Path属性FileListBox控件的Pattern属性魏豪明制作控件的常用事件表7-6文件系统控件的常用事件控件名事件触发时刻DriveListBoxChange选择新驱动器或修改Drive属性DirListBoxChange双击选择新目录或修改Path属性FileListBoxPathChangePatternChange设置文件名或修改Path属性设置文件名或修改Pattern属性改变文件的模式魏豪明制作7.2.2驱动器列表框设计一个驱动器选择框,当单击驱动器列表框中的某个驱动器名称时,用消息框显示所选中的驱动器。其操作步骤如下:图7-1各控件在窗体中的位置魏豪明制作图7-2运行程序图7-3演示程序魏豪明制作标识单个目录设置当前目录7.2.3目录列表框图7-4目录列表框图7-5目录列表框中显示的目录结构魏豪明制作单击目录项目查找目录的相对位置单击目录列表框中的某个项目时将突出显示该项目,而双击项目时则给它赋予Path属性并将其ListIndex属性设置为-1,然后重绘目录列表框以显示直接相邻的下级子目录。ListCount属性返回当前扩展目录下的目录数目,而不是目录列表框中的目录总数。因为当前扩展目录的ListIndex值为-1,所以可以编程来判断在目录层次结构中,当前扩展目录与根目录有多大距离。魏豪明制作7.2.4文件列表框图7-6创建文件列表框魏豪明制作保持文件列表与目录列表的同步例如,在程序运行时,当用户选中目录列表框中的一个子目录名时,要求文件列表框也同步工作,显示出新的目录下的文件,此时可通过以下程序来实现:PrivateSubDir1_Change()File1.Path=Dir1.PathEndSub将目录列表框的Path属性值赋给文件列表框的Path属性,这样就使得文件列表框得到目录列表框所指定的路径,从而显示出新目录下的文件名。虽然目录列表框和文件列表框都有Path属性,但两者之间含义不同,比如:Dir1.Path=D:\(目录列表框)File1.Path=D:\(文件列表框)魏豪明制作设置或返回文件名文件列表框的另一个属性FileName用来在运行时设置或返回所选中的文件名。例如,利用MsgBox函数来显示被选中的文件,其程序代码如下:PrivateSubFile1_Change()MsgBox选中的文件是:+File1.FileNameEndSub魏豪明制作限制显示文件的类型文件列表框中的Pattern属性,用来指定在文件列表框中显示文件的类型,其默认值为“*.*”,即显示所有文件的名字。如果将Pattern属性设置为“*.frm”,则显示扩展名为“.frm”的文件。Pattern属性值既可在设计阶段设计,也可在程序中实现,如:File.pattern=*.frm魏豪明制作7.2.5文件系统控件综合实例设计一个应用程序,在程序中可通过文件系统控件,查找每个磁盘上的任意一个文件。其操作步骤如下:图7-7各控件在窗体中的位置魏豪明制作表7-7对象属性设置对象属性设置窗体Caption文件系统控件实例(名称)Form1标签1Caption驱动器(名称)Label1标签2Caption目录(名称)Label2标签3Caption文件(名称)Label3标签4Caption置空(名称)Label4BorderStyle1标签5Caption文件名(名称)Label5文本框1(名称)Text1Text置空命令按钮1(名称)Command1Caption确定命令按钮2Caption退出(名称)Command2驱动器列表(名称)Drive1目录列表框(名称)Dir1文件列表框(名称)File1魏豪明制作图7-8演示程序魏豪明制作习题(1)在用Open语句打开文件时,如果省略“For方式”,则打开的文件的存取方式是()。A.顺序输入方式B.顺序输出方式C.随机存取方式D.二进制方式(2)要将记录型变量写入文件中的指定位置,使用的语句格式为()。A.Get文件号,记录号,变量名B.Get文件号,变量名,记录号C.Put文件号,记录号,变量名D.Put文件号,变量名,记录号更多习题见书133页魏豪明制作

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功