已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章文件系统,顺序、随机文件创建、存取及应用。随机文件创建、存取及应用文件系统对象(FSO)及应用,本章要点,11.1文件概述,11.2顺序文件,11.3随机文件,11.4常用的文件操作语句和函数,11.5文件系统对象,退出,11.6应用举例,返回,文件是存储在外部介质(如磁盘)上的以文件名标识的数据的集合。存储在磁盘上的文件称为磁盘文件,与计算机相连的设备称为设备文件。这些文件都不在计算机内,统称为外部文件。为访问存放在外部介质上的数据,应先按文件名找到所指定的文件,然后再从该文件中读取数据。文件是数据的集合,VB的文件由记录组成,记录由字段组成,一组相关的字段就组成一条记录。,11.1文件概述,文件的基本概念:,11.1.1文件的分类,根据数据的存储方式和结构,可以将文件分为顺序存取文件、随机存取文件和二进制文件。,1顺序文件:顺序存取方式是将要保存的数据,依序逐个转换成ASCII字符,然后存入磁盘。以顺序存取的方式保存数据的文件叫作顺序存取文件,简称顺序文件。顺序文件的结构比较简单,文件中的记录一个接一个地存放,记录与记录之间有分界字符。,记录n-1,记录n,记录n+1,在顺序文件中,只知道第一个记录的存放位置,其他记录的位置无从知道。当要在顺序文件中查找某个记录时,只能从文件头开始,一个记录一个记录地顺序读取,逐个比较,直到找到要查找的记录。顺序文件的优点是操作简单,占用空间少;缺点是无法任意取出某个记录来修改,一定要把全部数据读入,在数据量很大或只想修改某一条记录时,显得非常不方便。,顺序文件的特点:,2随机文件:以随机存取方式存取数据的文件称为随机存取文件,也称直接存取文件,简称随机文件。随机文件由大小相同的数据记录组成。,字段1,字段2,字段1,字段2,在随机文件中,每个记录的长度是固定的,每个记录前都有一个记录号表示这个记录的开始。与顺序文件不同,在访问随机文件中的数据时,不必考虑各个记录的排列顺序或位置,可以根据需要访问文件中的任何一个记录。在读取数据时,只要给定记录号,就能迅速找到该记录,并将该记录读出;若对记录做了修改,需要写入文件时,也只要指出记录号,新记录将自动覆盖原有记录,直接存入指定位置。在随机文件中,也可以同时进行读写操作,因而能快速地查找和修改某个记录,不必对整个文件进行读写操作。随机文件的优点是访问速度快,读、写、修改灵活方便;但由于在每个记录前增加了记录号,从而使文件占用的存储空间增大,数据组织较复杂。,随机文件的特点:,3二进制文件:这种文件中的数据均以二进制的方式存储,存储单位是字节(随机文件按记录存取,顺序文件按行存取)。在二进制文件中,能够存取任意所需要的字节,可以把文件指针移动到文件中的任何地方,因此,这种存取方式最为灵活。,11.1.2文件操作(读写)的步骤,在VB中,对数据文件的操作一般按下述步骤进行:1打开文件在创建新文件或使用旧文件之前,必须先打开文件。打开文件的操作,会为这个文件在内存中准备一个读写时使用的缓冲区,并且声明文件在什么地方,叫什么名字,文件处理方式如何。2访问文件所谓访问文件,即对文件进行读/写操作。从磁盘将数据送到内存称为“读”,从内存将数据存到磁盘称为“写”。这些都是通过相应的读写函数完成。3关闭文件打开的文件使用(读/写)完后,必须关闭,否则会造成数据丢失。关闭文件会把文件缓冲区中的数据全部写入磁盘,释放掉该文件缓冲区占用的内存。,返回,11.2顺序文件,11.2.1创建新的顺序文件,11.2.2向顺序文件中添加数据,11.2.3从已存在的顺序文件中读取数据,返回,11.2.1创建新的顺序文件,格式:Open文件名ForOutputAs#文件号write#文件号,数据列表close#文件号说明:(1)文件名:指要打开的文件的名字。(2)文件号:是一个1511之间的整数。它用来代表所打开的文件,文件号可以是整数或数值型变量。(3)forOutput:打开方式。如果该文件存在,则原来已有的数据被抹去,即新写上的数据将原有的数据覆盖。如果该文件不存在,则创建一个新的顺序文件。(4)write#文件号“数据列表”:是准备写入到文件中的数据,可以是变量名也可以是常数,数据之间用“,”或“;”隔开。(5)Close#文件号:关闭已打开的文件。,【例11.1】:创建一个新的顺序文为c:cj.datPrivateSubCommand1_Click()Openc:cj.datForOutputAs#1Write#1,xh,vb,vc,vfp“Write#1,1,80,70,90Close#1Endsub想一下,文件的内容为什么?,11.2.2向顺序文件添加数据,格式:Open文件名ForAppendAs#文件号write#文件号,数据列表close#文件号说明:ForAppend:对文件执行写操作时写入的数据将追加到文件尾部。,例如:将数据追加到c:cj.dat文件的尾部。PrivateSubCommand1_Click()Openc:cj.datForAppendAs#1Write#1,2,60,70,80Close#1Endsub想一想,现在文件的内容又是什么?,11.2.3从已存在的顺序文件中读取数据,格式:Open文件名ForInputAs#文件号Input#文件号,变量名列表close#文件号说明:ForInput以读取方式打开文件。Input#文件号,该语句将从文件中读出数据,并将读出的数据分别赋给指定的变量。,【例11.2】从文件c:cj.dat中读出数据。PrivateSubCommand1_Click()Openc:cj.datForInputAs#1Fori=1To3Input#1,a,b,c,dPrinta,b,c,dNextIClose#1EndSub,在实际应用中,可以直接用windows的写字板或记事本建立和修改顺序文件(cj.txt),然后用Openc:cj.txtForInputAs#1打开读出数据。,11.3随机文件,11.3.1随机文件的打开与关闭,在对一个随机文件操作之前,也必须用Open语句打开文件,随机文件的打开方式必须是Random方式,同时要指明记录的长度。与顺序文件不同的是,随机文件打开后,可同时进行写入与读出操作。Open语句的一般格式:Open文件名ForRandomAs#文件号Len=记录长度随机文件的关闭同顺序文件一样,用Close语句。,11.3.2随机文件的读/写操作,1用Get语句进行随机文件的读操作。Get语句格式一般为:Get#文件号,记录号,变量Get语句把文件中由记录号指定的记录内容读入到指定的变量中。例如,Get#2,3,u表示将2号文件中的第三条记录读出后存放到变量u中。2用Put语句进行随机文件的写操作。Put#文件号,记录号,变量例如,Put#1,11,t表示将变量t的内容送到1号文件中的第11号记录去。,11.4与文件操作有关的函数,1.LOF()函数以字节方式返回被打开文件的大小,结果为一Long型数据。其语法如下:LOF(文件号)2.LOC()函数返回被打开的文件中读写指针的当前位置。语法如下:LOC(文件号)该函数对不同文件访问方式的文件产生的返回值不同(见下表)。,3.EOF()函数返回读文件过程中是否到了文件尾部。当读指针到达文件的尾部时,返回布尔值True,否则返回False。语法如下:EOF(文件号)在对文件进行读写操作时,经常使用EOF函数来判断是否到达文件的尾部,避免试图在文件结尾处进行输入/出而产生错误。,Loc函数的返回值,【例11.3】把一个文本文件的内容读到内存并在文本框中显示出来,然后把该文本文件的内容存入另一个文本文件。假设存在一个名为“samtext.txt”的文本文件,内容如下:锄禾锄禾日当午,汗滴禾下土。谁知盘中餐,粒粒皆辛苦。该文件有三行文字,输入时每行均以回车键结束。建立如图11-4所示的程序界面,当点击“显示”按钮时在文本框中显示该文件的内容,并在当前目录下建立一个同样内容的文件target.txt。,事件过程如下:PrivateSubCommand1_Click()Opensamtext.txtForInputAs#1以读方式打开数据源文件Opentarget.txtForOutputAs#2创建目标文件DoWhileNotEOF(1)LineInput#1,tempstrText1.Text=Text1.Text+Chr(13)+Chr(10)行末加入换行符Text1.Text=Text1.Text+tempstr在文本框中显示读出的字符行Print#2,tempstr将读出的字符行写入目标文件LoopClose#1Close#2EndSub执行上述过程以后,在文本框中将显示出文件里面的文本内容,并且在当前目录下生成了一个与源文件相同的目标文件target.txt,实现了文本文件的复制。,【例11.4】向Stu.dat文件中输入3条学生记录并保存起来。编写如下过程:PrivateSubForm_Load()DimstuAsstudentOpenc:stu.datForRandomAs#1Len=Len(stu)Title$=输入学生记录Fori=1T=InputBox(请输入第+Str(i)+个学生的姓名,Title)stu.age=Val(InputBox(请输入第+Str(i)+个学生的年龄,Title)stu.address=InputBox(请输入第+Str(i)+个学生的地址,Title)Put#1,i,stuNextiClose#1EndSub,11.5文件系统对象,11.5.1文件系统对象模型概述,文件系统对象模型是VisualBasic6.0的新增功能,用于对文件系统进行管理。它通过一种基于对象的方式,使用户在编写程序时可以通过这些对象提供的丰富的属性和方法来操纵和管理计算机的文件系统。文件系统对象模型提供了一组对文件的驱动器,文件夹和文件进行管理的对象,其中主要包含了下列对象:(1)FileSystermObject(FSO)对象:文件系统对象模型的核心对象。它提供了一整套用于收集相关信息以及操纵驱动器、文件夹和文件的方法。可以通过FileSystermObject对相对驱动器、目录和文件进行创建、删除、获取信息,以及其他的一些操作。,(2)Drive对象:用来收集系统所用的驱动器信息,通过Drive对象可以获得系统中有关驱动器的一些信息,例如磁盘空间和共享名称等。需要注意的是,在文件系统对象模型中,驱动器并不仅仅是硬盘,也可以是CD-ROM驱动器或RAM盘;驱动器也不一定仅仅是与系统直接相连的设备,也可以是通过网络与系统相连的设备。(3)Folder对象:通过Folder对象可以创建、删除和移动目录,也可以获得目录的名字、路径以及其他一些信息。(4)File对象:提供对文件所有属性的访问(查询文件的名称、路径等),也可以使用适当的方法创建、删除或移动文件。(5)TextStream对象:通过TextStream对象可以读写文本文件。在以上对象中,FSO对象处于核心地位,它的很多方法重复了其他对象中的方法,所有应用FSO对象模型的编程都围绕它展开,其他对象依附于该对象完成一些特定的功能。如File对象用于文件管理,Folder对象用于文件夹管理等。,11.5.2文件系统对象的应用,文件系统对象的引用,管理驱动器,管理文件夹,管理文件,退出,返回,FSO对象模型包含在一个称为Scripting的类型库中,此类型库位于Scrrun.Dll文件中。所以如果还没有引用此文件,在使用它之前要在工程中添加对它的引用,具体做法是:选择“工程”菜单的“引用”命令,弹出对话框。,文件系统对象的引用,在出现的列表框中的“MicrosoftScriptingRuntime”项前加上复选标记然后确定即可。,使用文件系统对象编程的主要步骤:根据使用的对象不同,文件系统对象编程的步骤也略有不同。(1)创建FileSystemObject对象。使用CreateObject函数创建一个FileSystemObject对象。例如:SetFso=CreateObject(“Scripting.FileSystemObject”)(2)根据编程需要有两种选择:一对FileSystemObject对象使用适当的方法生成用于管理驱动器、文件夹和文件的对象(如Drive对象、Folder对象、File对象),用新创建的对象进行文件和文件夹的复制、移动、删除;二是使用FileSystemObject对象的方法,进行文件或文件夹的创建、复制、移动、删除。再生成用于管理驱动器、文件夹和文件的对象(如Drive对象、Folder对象、File对象)来实现其他功能。(3)访问步骤:生成的新对象的属性,以获取文件系统的信息(如文件名称、大小等)。FileSystemObject对象提供了许多与其他对象相同的功能,如FileSystemObject对象的CopyFile方法与File对象的Copy方法功能一样,编程时可以任选一种方法使用。,2管理驱动器,Drive对象主要用于管理驱动器。通过调用Drive对象的属性不仅能读取系统本地驱动器的信息,还能获得网络驱动器的信息。在编程时,通过对FileSystemObject对象使用GetDrive方法,建立一个Drive对象的实例,再调用Drive对象的属性获取驱动器的信息。,Drive对象的主要属性,【例11.5】调用Drive对象获得驱动器C:的信息并在窗体中显示出来,如图11-6所示。程序代码如下:PrivateSubCommand1_Click()DimfsoAsNewFileSystemObjectDimdrvAsDriveDimstrAsStringSetdrv=fso.GetDrive(“C:”)Label4.Caption=FormatNumber(drv.TotalSize/1024,0)Label7.Caption=FormatNumber(drv.FreeSpace/1024,0)EndSub该例首先创建了一个FileSystemObject对象,对其使用GetDrive方法生成一个Drive对象,调用该对象的有关属性获得驱动器的信息显示在相应的标签中。,管理文件夹,使用FSO对象模型对文件夹的管理包括文件夹的创建、复制、移动、删除以及获取与文件夹有关的信息。FileSystenObject对象和Folder对象都能完成对文件夹的管理工作,但使用Folder对象的属性还可以获取文件夹的有关信息。,Folder对象的主要属性,管理文件夹的部分方法,(1)文件夹的创建使用FileSystemObject对象的CreatFolder方法可以创建文件夹。【例11.6】在C盘上建立两个文件夹“Apple”和“Orange”,可以通过下列程序段来实现:DimfsoSetfso=CreateObject(“Scripting.FileSystemObject”)Fso.CreatFolder(“C:Apple”)Fso.CreatFolder(“C:Orange”)注意,如果要创建的文件夹已经存在,则此语句会出错,所以编写程序时应先判断要创建的文件夹是否已经存在,然后再操作。,(2)文件夹的复制、移动和删除文件夹的复制、移动和删除分别可以用两种方法实现。【例11.7】将上例中创建的文件夹Orange复制到文件夹Apple下,用两种方法实现。方法一:使用FileSystemObject对象的方法DimfsoSetfso=CreateObject(“Scripting.FileSystemObject”)fso.CopyFolder“C:Orange”,“C:Apple”方法二:使用Folder对象的方法Dimfso,fldSetfso=CreateObject(“Scripting.FileSystemObject”)Setfld=fso.GetFolder(“C:orange”)fld.copy“C:apple”,(3)获取与文件夹有关的信息FileSystemObject对象和folder对象配合使用可以获取关于文件夹的全部信息。编写程序时,通过对FileSystemObject对象使用适当的方法(GetFolder方法、CreatFolder方法),建立一个Folder对象的实例,再调用Folder对象的属性获取文件夹的信息。,【例11.8】查看文件夹Apple的部分属性。(如右图)代码如下:PrivateSubForm_click()Dimfso,fldDimstrAsStringSetfso=CreateObject(scripting.filesystemobject)Setfld=fso.GetFolder(C:apple)str=文件夹&fld.Namestr=str+在&Ucase(ld.Drive)&驱动器上str=str+Chr(13)+Chr(10)str=str&创建时间是:&fld.DateCreatedMsgBoxstrEndSub,4管理文件使用FSO对象模型管理文件包括文件的创建(打开)、复制、移动、删除和获取与文件有关的信息。FileSystemObject对象和File对象都能完成文件的创建(打开)、复制、移动、删除,但对File对象还可以调用其属性获取文件的信息。,File对象的主要属性,管理文件的部分方法,(1)文件的创建与打开FSO对象模型提供了三种创建和打开文件的方法。方法一:使用FileSystemObject对象的CreateTextFile方法创建文件。格式:.CreateTextFile(,Unicode)功能:创建一个指定文件名的文件,并且返回一个用于对该文件进行读写的TextStream对象。其中,当设置为False时,表示如果文件已存在,新创建的文件不覆盖原文件,否则覆盖原文件。缺省值为False。当参数为False时,如果创建的文件已经存在,则会发生错误,所以使用之前要先用FileExists方法判断文件是否存在。Unicode:当设置为False时,表示创建ASCII文件;否则创建Unicode文件。缺省值为False。,【例11.9】创建一个名为“test.txt”的文件,并向其中写入内容“Thisisatest”。PrivateSubCommand1_Click()DimfsoasObjectDimtsoastextstremSetfso=CreateObject(Scripting.FileSystemObject)Iffso.FileExists(c:test.txt)Then判断文件是否存在MsgBox文件已经存在EndElseSettso=fso.CreateTextFile(c:test.txt,True)tso.WriteLine(Thisisatest)向文件中写数据tso.CloseEndIfEndSub,方法二:使用FileSystemObject对象的OpenTextFile方法OpenTextFile方法通常用来打开文件,但当其加上参数“”时,可以用来创建一个新文件。格式:.OpenTextFile(,)功能:打开一个指定的文件并返回一个TextStream对象,该对象可用于对文件进行读操作或追加操作。其中,为可选项,表示输入/输出方式,可为常量ForReading(读)或ForAppending(追加数据)。:当设置为False时,表示如果指定的文件不存在将不创建文件,设置为True时创建一个新文件。缺省值为False。:可选项,用于指示打开文件的格式。如果缺省,则文件以ASCII格式打开。,【例11.10】使用方法二完成例11.9。PrivateSubCommand1_Click()Dimfso,fTextStreamSetfso=CreateObject(Scripting.FileSystemObject)SetfTextStream=fso.OpenTextFile(c:test.txt,2,True)创建TextStream对象fTextStream.WriteThisisatest向文件中写数据fTextStream.Close关闭文件EndSub,方法三:使用File对象的OpenAsTextStream方法使用File对象的OpenAsTextStream方法与使用FileSystemObject对象的OpenTextFile方法可实现相同的功能。格式:.OpenAsTextStream(,)功能:打开一个指定的文件并返回一个TextStream对象,该对象可用来对文件进行读、写、追加操作。其中,方式可为常量ForReading、ForWriting或ForAppending。,【例11.11】使用方法三完成例11.9。PrivateSubCommand1_Click()Dimfso,fo,tsoSetfso=CreateObject(Scripting.FileSystemObject)fso.CreateTextFilec:test.txt创建文件Setfo=fso.GetFile(c:test.txt)获得一个File对象的文件句柄Settso=fo.OpenAsTextStream(2)创建TextStream对象用于写tso.WriteThisisatesttso.CloseEndSub,(2)文件的复制、移动、删除在编写程序时,可以使用两种方法完成文件的复制、移动、删除工作。方法一:使用FileSystemObject对象的CopyFile、MoveFile、DeleteFile方法例如:DimfsoSetfso=CreateObject(“Scripting.FileSystemObject”)fso.CopyFile“c:test.txt”,”c:destination”将文件“c:test.txt”复制到“c:destination”下,运行本例前,应在C盘建立test.txt文件和destination文件夹。方法二:使用File对象的Copy、Move、Delete方法例如:Dimfso,foSetfso=CreateObjiect(“Scripting.FileSystemObject”)Setfo=fso.GetFile(”c:testfile.txt”)获得File对象句柄fo.Copy”c:destination”,(3)获取与文件有关的信息FileSystemObject对象和File对象必须配合使用才能获取文件的有关信息。【例11.12】获取文件“C:test.txt”的建立时间、文件大小等信息显示出来。PrivateSubCommand1_Click()Dimfso,fo,strSetfso=CreateObject(Scripting.FileSystemObject)Setfo=fso.GetFile(c:test.txt)str=文件+Ucase(fo.Name)+Chr(13)+Chr(10)str=str+创建时间:&fo.datecreated&Chr(13)+Chr(10)MsgBoxstrEndSub,(4)文件读/写在文件被打开或创建后,才能使用TextStream对象进行文件的读/写操作。,TextStream对象与读/写文件有关的方法,【例11.13】创建一个文件并写入一些信息,然后再将写入的信息读出并显示在消息框中。程序代码如下:PrivateSubCommand1_Click()Dimfso,fo,tso,strSetfso=CreateObject(Scripting.FileSystemObject)fso.CreateTextFilec:test.txt创建文件Setfo=fso.GetFile(c:test.txt)获得一个File对象的文件句柄Settso=fo.OpenAsTextStream(2)创建TextStream对象用于写tso.WriteThisisatesttso.CloseSettso=fo.OpenAsTextStream()str=tso.readline读一行tso.CloseMsgBoxstrEndSub,(5)关闭文件关闭由TextStream对象打开的文件用Close方法。例如,tso.Close。,应用举例,【例11.14】如图11-8和11-9,通过图11-8所示的界面,可以向文件中添加学生的记录,能将刚才文件中的记录读出并计算每个学生的平均成绩,将结果显示在文本框内。,功能介绍:程序执行后首先出现图11-10所示的打开文件对话框,要求用户选择用于存放学生记录的文件,成功打开文件后,出现图11-8所示的窗口,用户可在相应的文本框中输入学生的记录,点击“添加”按钮将该记录添加至文件。点击“查看”按钮时,出现图11-9所示的窗口,在该窗口中,点击“装入数据”,则在第一个文本框中显示出文件中所有的学生记录;点击“计算平均”则在第二个文本框中显示每个学生的课程的成绩和平均成绩以及所有学生每门课程的平均成绩。分析:这个程序分成3个功能模块:(1)向顺序文件中添加数据;(2)读出顺序文件中的数据记录并且在文本框中显示出来;(3)读出数据记录到变量并对其进行处理。实现这3个功能主要使用了本章介绍的文件的打开、读写函数,下面简单介绍各个功能的实现方法。,程序设计:(1)添加数据到文件i.打开文件在窗体中引入一个通用对话框控件CommonDialog1,使用ShowOpen方式打开,用户选择打开文件,然后通过Open语句采用append方式将其打开(因为是向文件中追加数据,所以采用append方式打开该文件)。在Form_Load事件中编写如下代码:PrivateSubForm_Load()MsgBox操作之前请务必先打开一个文件CommonDialog1.ShowOpen通过CommonDialog1的FileName获取要打开的文件名称并打开文件OpenCommonDialog1.FileNameForAppendAs#1MsgBox文件已打开EndSub,ii.向文件中追加数据先从界面的文本框中获取要添加的数据字段值,然后使用Write语句写入到文件中。“添加”按钮的代码:PrivateSubCommand1_Click()Dimno,naAsStringDimg1,g2AsInteger先判断文本框中是否输入了数据IfText1.Text=ThenMsgBox请先在文本框中输入要添加的数据Text1.SetFocusElseno=Text1.Textna=Text2.Text,g1=Val(Text3.Text)g2=Val(Text4.Text)Write#1,no,na,g1,g2MsgBox添加成功将文本框清空Text1.Text=Text2.Text=Text3.Text=Text4.Text=EndIfEndSubiii.关闭文件访问文件完毕使用Close语句将其关闭即可。,(2)从文件中读出数据并显示在文本框中i.打开文件方法同上,因为要从文件中读数据,所以采用Input方式打开文件。ii.从文件中读出数据并显示在文本框中程序中引入数组来保存从文件中读出的数据,数组num用于保存学号,第i个学生的学号保存在数组元素num(i)中;数组nam用于保存姓名,第i个学生的姓名保存在数组元素nam(i)中;数组G用于保存两门课的成绩,第i个学生的语文和数学成绩分别保存在数组元素G(i,1)和G(i,2)中。窗体通用过程中变量定义代码:OptionExplicitDimG(100,2)AsInteger,nAsIntegerDimnum(100)AsString,nam(100)AsString,“装入数据”按钮代码:PrivateSubCommand1_Click()以Input方式打开文件OpenForm1.CommonDialog1.FileNameForInputAs#2n=0DoWhileNotEOF(2)n=n+1读取数据赋给相应变量Input#2,num(n),nam(n),G(n,1),G(n,2)在文本框中显示读出的数据,为了显示的格式,中间加入若干空格Text1.Text=Text1.Text+num(n)+nam(n)+Str(G(n,1)+_Str(G(n,2)+Chr(13)+Chr(10)LoopClose#2EndSub,(3)对读出的数据进行加工处理并显示在文本框中读出数据的方法同上,读出的数据暂存于变量,对变量进行处理后再显示。程序中引入了几个变量sum1、sum2和ave,分别表示语文总成绩、数学总成绩和每个学生的平均成绩。“计算平均”按钮代码:PrivateSubCommand2_Click()Dimsum1,sum2,iAsIntegerDimaveAsSingleOpenForm1.CommonDialog1.FileNameForInputAs#3给sum1和um2赋初始值0sum1=0sum2=0使用循环分别对每个学生的情况进行处理,Fori=1Tonave=(G(i,1)+G(i,2)/2Text2.Text=Text2.Text+num(i)+nam(i)+Str(G(i,1)+_Str(G(i,2)+Str(ave)+Chr(13)+Chr(10)sum1=sum1+G(i,1)sum2=sum2+G(i,2)NextiText2.Text=Text2.Text+总平均+Str(sum1/n)+Str(sum2/n)Close#3EndSub,【例11.15】:文件系统控件的综合使用实训题目:建立如下图所示的界面,实现从源地址到目标地址文件的复制和移动,并能查看文件的有关信息。,分析:该程序的功能可以归结为以下几个模块:(1)利用文件系统列表控件改变当前驱动器和目录;(2)使用FSO控件实现源文件到目标文件的复制和移动;(3)使用FSO控件查看文件的信息。l改变系统当前驱动器和目录。采用VB中提供的驱动器列表控件、目录列表控件和文件列表控件实现,通过合理的设置它们的相关属性使各控件联动,实现文件系统结构的快速浏览。l文件的复制和移动。1)如果在源文件列表框中选择了文件,选中的文件将被复制到目标目录当前目录下。如果没有在目录文件名称文本框中输入目标文件名称,则同名复制。2)对文件进行复制或移动前必须使用FSO对象的FileExists方法判断文件是否在目标文件路径下已存在,然后根据不同的情况选择不同的操作。3)使用FSO对象的CopyFile方法和MoveFile方法来完成文件的复制和移动,使用File对象的属性获得文件的信息并以对话框的形式显示。,程序代码如下:实现文件系统列表框控件联动代码:PrivateSubDi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中思政科各种工作制度
- 高校人民武装部工作制度
- 高校毕业生就业工作制度
- 高速公路稽核部工作制度
- 黄冈市五天四夜工作制度
- 历史人教部编版 (五四制)第三单元 秦汉时期:统一多民族国家的建立和巩固第13课 东汉的兴衰教学设计
- 部编版语文二上第三单元 任务一:说说谁的办法好(教案+导读单)
- 市场推广计划调整确认函(5篇范文)
- 人教部编版三年级下册语文园地第2课时教学设计
- 会议组织与活动策划流程指南
- 城市运行管理服务平台 管理监督指标及评价标准
- AQ3062-2025精细化工企业安全管理规范解读
- 2025广西林业集团有限公司招聘51人(第一批)笔试参考题库附带答案详解
- 私厨上门定制餐饮服务合同
- 2024版2026春新人教版数学二年级下册教学课件:第三单元 万以内数的认识(9课时合并)
- 内蒙古2025年内蒙古林草执法人员专场招收1605人笔试历年参考题库附带答案详解
- 2026江西盐业集团招聘试题及答案
- 机器人关节培训课件模板
- 2025至2030中国苜蓿行业产业运行态势及投资规划深度研究报告
- 鼻出血的健康宣教
- 食品企业过敏原管理程序
评论
0/150
提交评论