《可视化程序设计第9章 管理.ppt》由会员分享,可在线阅读,更多相关《可视化程序设计第9章 管理.ppt(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第9章 文 件 管 理9.19.1 公共对话框公共对话框公共对话框公共对话框9.1.19.1.1添加添加添加添加“公共对话框公共对话框公共对话框公共对话框”控件控件控件控件9.1.29.1.2使用使用使用使用“公共对话框公共对话框公共对话框公共对话框”9.29.29.29.2 数据文件数据文件数据文件数据文件 9.2.1 9.2.1 9.2.1 9.2.1 访问顺序文件访问顺序文件访问顺序文件访问顺序文件 9.2.29.2.2访问随机文件访问随机文件访问随机文件访问随机文件9.2.39.2.3访问二进制文件访问二进制文件访问二进制文件访问二进制文件 9.39.39.39.3 文件系统控件文件系
2、统控件文件系统控件文件系统控件 9.3.19.3.1驱动器列表框驱动器列表框驱动器列表框驱动器列表框 9.3.29.3.2目录列表框目录列表框目录列表框目录列表框 9.3.39.3.3文件列表框文件列表框文件列表框文件列表框9.4文件系统对象文件系统对象9.4.1文件系统对象的概念文件系统对象的概念9.4.2使用文件系统对象编程使用文件系统对象编程9.4.3管理驱动器管理驱动器9.4.4管理文件夹管理文件夹9.4.5管理文件管理文件9.1公共对话框公共对话框一些应用程序中常常需要打开和保存文件、选择颜色和字体、一些应用程序中常常需要打开和保存文件、选择颜色和字体、打印等操作,这就需要应用程序提
3、供相应的对话框以方便使用。打印等操作,这就需要应用程序提供相应的对话框以方便使用。这些对话框作为这些对话框作为WINDOWS的资源,在的资源,在VB中已被做成中已被做成“公共公共对话框对话框”控件。控件。9.1.1添加添加“公共对话框公共对话框”控件控件工程工程/部部件件选定部选定部件标签件标签选定选定MicrosoftCommDialogControl6.0确定确定通用对话框图标9.1.2使用公共对话框使用公共对话框公共对话框可以提供公共对话框可以提供6种形式的对话框,通过设置种形式的对话框,通过设置Action属性值或调用属性值或调用Show方法来建立不同类型的对话框。如下表:方法来建立不
4、同类型的对话框。如下表:类型类型Action属性方法无对话框0“打开”对话框1ShowOpen“另存为”对话框2ShowSave“颜色”对话框3ShowColor“字体”对话框4ShowFont“打印”对话框5ShowPrinter“帮助”对话框6ShowHelp 打开公共对话框的方法与Action属性设置DialogTiltleFileNameInitDirFilterFilterIndexDefaultExt9.1.3公共对话框的属性页公共对话框的属性页 在设计时,可通过属性窗口设置公共对话框的属性设置控在设计时,可通过属性窗口设置公共对话框的属性设置控件属性,通常使用公共对话框的属性页设
5、置相关属性。件属性,通常使用公共对话框的属性页设置相关属性。属性属性1.FileName(文件名称)属性:在程序中可用该属性值设文件名称)属性:在程序中可用该属性值设置或返回用户所选定的文件名(包含路径)置或返回用户所选定的文件名(包含路径)2.FileTitle(文件标题)属性:在程序中可用该属性值设文件标题)属性:在程序中可用该属性值设置或返回用户所选定的文件名(不包含路径)置或返回用户所选定的文件名(不包含路径)使使用用公公共共对对话话框框控控件件的的ShowOpen方方法法,或或将将Action属属性性赋值为赋值为1,可以在运行时显示,可以在运行时显示“打开打开”对话框。对话框。使用公
6、共对话框控件的使用公共对话框控件的ShowSave方法,或将方法,或将Action属性属性赋值为赋值为2,可以在运行时显示,可以在运行时显示“另存为另存为”对话框。对话框。1“打开打开”/“另存为另存为”对话框对话框3.Filter(过滤器)属性:确定文件列表框中所显示文件的过滤器)属性:确定文件列表框中所显示文件的类型,该属性的值显示在类型,该属性的值显示在“文件类型文件类型”列表框中。如设置其值列表框中。如设置其值为:为:Documents(*.DOC)|*.DOC|TextFiles(*.TXT)|*.txt|AllFiles(*.*)|(*.*)则在则在“文件类型文件类型”列表框显示下
7、列三种文件类型以供用户列表框显示下列三种文件类型以供用户选择选择Documents(*.DOC)扩展名为扩展名为DOC的的Word文件文件TextFiles(*.TXT)扩展名为扩展名为TXT的文本的文本文件文件AllFiles|(*.*)所有所有文件文件4.FilterIndex(过滤器索引)属性:为整型值,表示过滤器索引)属性:为整型值,表示用户在文件类型列表框选定了第几组文件类型。用户在文件类型列表框选定了第几组文件类型。5.InitDir(初始化路径)属性:该属性用来指定打开初始化路径)属性:该属性用来指定打开对话框中的初始目录,若不设置,系统则默认为对话框中的初始目录,若不设置,系统
8、则默认为“C:MyDocuments”。6DefaultExt属属性性:字字符符型型,用用于于确确定定保保存存文文件件的的缺缺省扩展名。省扩展名。7CancelError属属性性:逻逻辑辑型型值值,表表示示用用户户在在与与对对话话框框进进行行信信息息交交换换时时,按按下下“取取消消”按按钮钮时时是是否否产产生生出出错错信信息息。(True,出现错误警告出现错误警告.False(默认默认),不出现警告不出现警告)3“颜色颜色”对话框对话框颜色对话框是当颜色对话框是当Action值为值为3时的公共时的公共对话框,如右图。对话框,如右图。重要属性重要属性:Color:用来返回或设置选定的颜色。用来返
9、回或设置选定的颜色。4“字体字体”对话框对话框字体对话框是字体对话框是Action为为4时的公共对话框,如下时的公共对话框,如下图所示,提供用户选择字体、字号及字体样式等。图所示,提供用户选择字体、字号及字体样式等。字体对话框重要的属性有:字体对话框重要的属性有:Color,FontName,FontSize,FontBoldFontItalic,FontStrikethru,FontUnderline,Max,Min等等.FontNameFontBold、FontItalicFontSizeFontStrikethruFontUnderlineColorMin、MaxFlags属性:设置所显
10、示的字体类型,属性:设置所显示的字体类型,数据类型为数据类型为Long。注意注意 在显示在显示“字体字体”对话框前,必须先将对话框前,必须先将 Flags 属性属性设置为设置为 cdlCFScreenFonts,cdlCFPrinterFonts,或,或cdcdlCFBoth。否则,会发生字体不存在的错误。否则,会发生字体不存在的错误。Flages属性应取下列值:属性应取下列值:系统常数系统常数值值说明说明cdlCFScreenFonts&H1只列出系统支持的屏幕字体只列出系统支持的屏幕字体cdlCFPrinterFonts&H2只列出打印机支持的字体只列出打印机支持的字体cdlCFBoth&
11、H3列出可用的打印机字体和屏列出可用的打印机字体和屏幕字体。幕字体。cdlCFEffects&H100显示删除线和下划线检显示删除线和下划线检查框以及颜色组合框查框以及颜色组合框9.1.3“公共对话框公共对话框”的应用举例的应用举例【例例9-1】使用公共对话框控件的例子使用公共对话框控件的例子设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性。建立应用程序用户界面与设置对象属性。(2)编写命令按钮数组编写命令按钮数组Command()的的Click事件代码:事件代码:PrivateSubCommand1_Click(IndexAsInteger)n=IndexSelectCa
12、senCase0CommonDialog1.Filter=所有文件所有文件(*.*)|*.*|文本文件文本文件(*.TXT)|*.tetCommonDialog1.FilterIndex=1 CommonDialog1.ShowOpen Text1.Text=CommonDialog1.FileName Frame1.Caption=从打开对话框返回 Case 1 CommonDialog1.ShowSave Text1.Text=CommonDialog1.FileName Frame1.Caption=从另存为对话框返回 Case 2 CommonDialog1.ShowColor Tex
13、t1.Text=从颜色对话框返回 Text1.ForeColor=CommonDialog1.ColorFrame1.Caption=从颜色对话框返回 Case 3 CommonDialog1.Flags=3 Or 256 CommonDialog1.ShowFont With Text1 .FontName=CommonDialog1.FontName .FontSize=CommonDialog1.FontSize .FontStrikethru=CommonDialog1.FontStrikethru .FontBold=CommonDialog1.FontBold .FontItali
14、c=CommonDialog1.FontItalic.FontUnderline=CommonDialog1.FontUnderline .ForeColor=CommonDialog1.Color End With Text1.Text=从字体对话框返回 Frame1.Caption=从字体对话框返回 End SelectEndSub根据访问文件的方式将文件分成根据访问文件的方式将文件分成3类:类:顺序文件顺序文件随机文件随机文件二进制文件二进制文件1顺序文件顺序文件 顺序文件(顺序文件(SequentialFile)是普通的文本文件。顺序文是普通的文本文件。顺序文件中的记录按顺序一个接一个
15、地排列。读写文件存取记录时,件中的记录按顺序一个接一个地排列。读写文件存取记录时,都必须按记录顺序逐个进行。一行一条记录(一项数据),都必须按记录顺序逐个进行。一行一条记录(一项数据),记录可长可短,以记录可长可短,以“换行换行”字符为分隔符号。字符为分隔符号。2随机文件随机文件随机文件(随机文件(RandomAccessFile)是可以按任意次序读写是可以按任意次序读写的文件,其中每个记录的长度必须相同。在这种文件结构中,的文件,其中每个记录的长度必须相同。在这种文件结构中,每个记录都有其唯一的一个记录号,所以在读取数据时,只要每个记录都有其唯一的一个记录号,所以在读取数据时,只要知道记录号
16、,便可以直接读取记录。知道记录号,便可以直接读取记录。9.2数据文件数据文件 3二进制文件二进制文件二进制文件(二进制文件(Binaryfile)是字节的集合、它直接把二进是字节的集合、它直接把二进制码存放在文件中。制码存放在文件中。除了没有数据类型或者记录长度的含义以外,它与随机除了没有数据类型或者记录长度的含义以外,它与随机访问很相似。访问很相似。二进制访问模式是以字节数来定位数据,在程序中可以二进制访问模式是以字节数来定位数据,在程序中可以按任何方式组织和访问数据,对文件中各字节数据直接进行按任何方式组织和访问数据,对文件中各字节数据直接进行存取。存取。在程序中对文件的操作,通常按在程序
17、中对文件的操作,通常按3个步骤进行:个步骤进行:打开文件打开文件读出或写入读出或写入关闭文件关闭文件9.2.1访问顺序文件访问顺序文件 1.顺序文件的打开与关闭顺序文件的打开与关闭Open文件名文件名ForInput|Output|AppendAs文件号文件号Len=buffersizeClose文件号文件号1,文件号文件号22.顺序文件的读取操作顺序文件的读取操作从现存文件中读入数据,应以顺序从现存文件中读入数据,应以顺序Input方式打开该文件。然方式打开该文件。然后使用后使用Input#语句、语句、LineInput#语句和语句和Input()函数读入到函数读入到程序变量中。程序变量中。
18、使用格式如下:使用格式如下:INPUT#文件号文件号,变量列表变量列表把读出的每个数据项分别存放到所对应的变量。把读出的每个数据项分别存放到所对应的变量。LINEINPUT#文件号文件号,字符串变量字符串变量读一行到变量中,主要用来读取文本文件。读一行到变量中,主要用来读取文本文件。INPUT(读取字符数读取字符数,#文件号文件号)读取指定的数量的字符,作为函数的返回值。读取指定的数量的字符,作为函数的返回值。与读文件操作有关的几个函数与读文件操作有关的几个函数(1)Lof函数函数LOF函数将返回某文件的字节数。例如,函数将返回某文件的字节数。例如,LOF(1)返回返回#1文件的长度,如果返回
19、文件的长度,如果返回0值,则表示该文件是一个空文件。值,则表示该文件是一个空文件。(2)Loc函数函数Loc函数将返回在一个打开文件中读写的记录号;对于函数将返回在一个打开文件中读写的记录号;对于二进制文件,它将返回最近读写的一个字节的位置。二进制文件,它将返回最近读写的一个字节的位置。(3)Eof函数函数Eof函数将返回一个表示文件指针是否到达文件末尾的函数将返回一个表示文件指针是否到达文件末尾的标志。如果到了文件末尾,标志。如果到了文件末尾,Eof函数返回函数返回TRUE(-1),否则返,否则返回回FALSE(0)。例例:编程将一文本文件的内容读到文本框编程将一文本文件的内容读到文本框假定
20、文本框名称为假定文本框名称为txtTest,文件名为文件名为MYFILE.TXT。可可以通过下面三种方法来实现。以通过下面三种方法来实现。方法方法1:一行一行读:一行一行读txtTest.Text Open MYFILE.TXT For Input As#1Do While Not EOF(1)Line Input#1,InputDatatxtTest.Text txtTest.Text+InputData+vbCrLfLoopClose#1回车换行 方法方法2:一次性读:一次性读txtTest.TextOpenMYFILE.TXTForInputAs#1txtTest.Text=Input(
21、LOF(1),1)Close#1方法方法3:一个个字符读:一个个字符读DimInputDataasString*1txtTest.TextOpenMYFILE.TXTForInputAs#1DoWhileNotEOF(1)Input#1,InputDatatxtTest.TexttxtTest.Text+InputDataLoopClose#13.顺序文件的写入操作顺序文件的写入操作向向文文件件写写入入内内容容,应应以以Output或或Append方方式式打打开开它它,然然后后使使用用Print#语句或语句或Write#语句。语句。Print语句语句使用格式:使用格式:PRINT#,说明:文件
22、号为以写方式打开文件的文件号;说明:文件号为以写方式打开文件的文件号;输输出出列列表表为为用用分分号号或或逗逗号号分分隔隔的的变变量量、常常量量、空空格格和定位函数序列。和定位函数序列。Write命令命令使用格式:使用格式:Write#,Write语语句句采采用用紧紧凑凑格格式式。数数据据项项之之间间插插入入“,”,并并给给字字符符数据加上双引号。数据加上双引号。例例:Print与与Write语句输出数据结果比较。语句输出数据结果比较。PrivateSubForm_Click()DimStrAsString,AnumAsIntegerOpenD:Myfile.datForOutputAs1St
23、r=ABCDEFGAnum=12345Print#1,Str,AnumWrite#1,Str,AnumClose#1EndSub【例例9-2】设计一个简易文本编辑器,具有创建、编辑、设计一个简易文本编辑器,具有创建、编辑、保存普通文本文件的功能,如图保存普通文本文件的功能,如图9-8所示。所示。设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性建立应用程序用户界面与设置对象属性(2)编写代码编写代码 图9-8 简易的文本编辑器PrivateSubForm_Resize()With Text1 .Left=0 .Top=0 .Height=Form1.ScaleHeight .
24、Width=Form1.ScaleWidth Picture1.Width End WithEndSub 然后编写命令按钮组的Click事件代码:PrivateSubCommand1_Click(IndexAsInteger)n=Index Select Case n Case 0 新建 Text1.Text=Form1.Caption=未命名 Case 1 打开 CommonDialog1.ShowOpen 显示打开公共对话框 fname=CommonDialog1.FileName If fname Then Text1.Text=Open fname For Input As#1 b=D
25、o Until EOF(1)Line Input#1,nextline b=b&nextline&Chr(13)&Chr(10)Loop Close#1 Text1.Text=b End If Form1.Caption=fname Case 2 保存 If Form1.Caption=未命名 Or Form1.Caption=Then CommonDialog1.ShowSave 显示另存为公共对话框 fname=CommonDialog1.FileName Else fname=Form1.Caption End If If fname Then Open fname For Output
26、 As#1 Print#1,Text1.Text Close#1 End If Case 3 另存 CommonDialog1.ShowSave 显示“另存为”公共对话框 fname=CommonDialog1.FileName If fname Then Open fname For Output As#1 Print#1,Text1.Text Close#1 End If Case 4 关闭 Text1.Text=End End Select Text1.SetFocusEndSub9.2.2访问随机文件访问随机文件1.随机文件的打开与关闭随机文件的打开与关闭随机文件的打开仍用随机文件的打
27、开仍用Open语句,但其语法不同:语句,但其语法不同:Open文件名文件名ForRandomAs文件号文件号Len=记录长度记录长度2.随机文件的读写操作随机文件的读写操作(1)把记录读入变量,使用把记录读入变量,使用Get#语句:语句:Get#文件号文件号,记录号记录号,变量名变量名(2)使用使用Put#语句可以把数据写入或替换随机文件中的记录:语句可以把数据写入或替换随机文件中的记录:Put#文件号文件号,记录号记录号,变量名变量名【例例9-3】利利用用随随机机文文件件保保存存学学生生的的成成绩绩,可可以以输输入入学学生生的的学学号号、姓名以及姓名以及3门功课的成绩,浏览或删除数据,如图门
28、功课的成绩,浏览或删除数据,如图9-9所示。所示。设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性。建立应用程序用户界面与设置对象属性。(2)编写代码。编写代码。首先在窗体的通用过程段创建用户定义类型并声明变量:首先在窗体的通用过程段创建用户定义类型并声明变量:PrivateTypecjxmAsString*6xhAsString*6sxAsIntegerywAsIntegerwyAsIntegerEndTypePrivatedaAscj 编写窗体的编写窗体的Load事件代码,使之具有显示数据的功能:事件代码,使之具有显示数据的功能:PrivateSubForm_Load(
29、)Dim lastrec As Integer,sx As Single Dim yw As Single Open xsda2.dat For Random As#1 Len=Len(da)打开随机文件 lastrec=LOF(1)/Len(da)List1.Clear For n=1 To lastrec Get#1,n,da With da xh=Format(.xh,)xm=Format(RTrim(.xm),)yw=Format(.yw,#)wy=Format(.wy,#)sx=Format(.sx,#)msg=xh&xm&yw&wy&sx End With List1.AddIte
30、m msg Next Close#1 关闭随机文件 If List1.ListIndex -1 Then Command2.Enabled=True Else Command2.Enabled=False End IfEndSub 编写“新记录”命令按钮Command1的Click事件代码:PrivateSubCommand1_Click()For i=0 To 4 Text1(i).Text=Next Text1(0).SetFocusEndSub编写编写“添加添加”命令按钮命令按钮Command2的的Click事件代码:事件代码:PrivateSubCommand2_Click()Diml
31、astrecAsIntegerWithda.xh=Text1(0).Text.xm=Text1(1).Text.yw=Val(Text1(2).Text).wy=Val(Text1(3).Text).sx=Val(Text1(4).Text)EndWithOpenxsda2.datForRandomAs#1Len=Len(da)打开随机数据文件打开随机数据文件lastrec=LOF(1)/Len(da)Put#1,lastrec+1,daClose#1CallForm_LoadText1(0).SetFocusEndSub编写编写“删除删除”命令按钮命令按钮Command3的的Click事件代
32、码:事件代码:PrivateSubCommand3_Click()DimlastrecAsIntegerrecnum=List1.ListIndex+1Openrec.temForRandomAs#1Len=Len(da)打开临时随机文件打开临时随机文件Openxsda2.datForRandomAs#2Len=Len(da)打开随机数据文件打开随机数据文件lastrec=LOF(2)/Len(da)Forn=1TolastrecIfnrecnumThenGet#2,n,daPut#1,daElseGet#2,n,daWithdaText1(0).Text=.xhText1(1).Text=.
33、xmText1(2).Text=.ywText1(3).Text=.wyText1(4).Text=.sxEndWithEndIfNextClose#1Close#2Killxsda2.datNamerec.temAsxsda2.datCallForm_LoadText1(0).SetFocusEndSub编写列表框编写列表框List1的的Click事件代码:事件代码:PrivateSubList1_Click()If List1.ListIndex 1 Then Command3.Enabled=True Else Command3.Enabled=False End IfEndSub9.2
34、.3访问二进制文件访问二进制文件1.创建和打开二进制文件创建和打开二进制文件 打开和创建一个二进制文件都是用同一个打开和创建一个二进制文件都是用同一个Open语句来实现,其格式如下:语句来实现,其格式如下:Open文件名文件名ForBinaryAs文件号文件号2.读写二进制文件读写二进制文件Get#文件号文件号,字节数字节数,变量名变量名忽略记录号,则读出当前记录后的那一条记录忽略记录号,则读出当前记录后的那一条记录Put#文件号文件号,字节数字节数,变量名变量名将将一一个个记记录录变变量量的的内内容容写写到到指指定定的的记记录录位位置置处处。忽忽略略记记录录号号,则则表表示示在在当当前前记录
35、后的位置插入一条记录。记录后的位置插入一条记录。3.关闭二进制文件关闭二进制文件Close#文件号文件号9.3文件系统控件文件系统控件VB提供了提供了3种可直接浏览系统目录结构和文件的控件:种可直接浏览系统目录结构和文件的控件:驱动器列表框、目录列表框、文件列表框。驱动器列表框、目录列表框、文件列表框。驱动器列表框文件列表框目录列表框9.3.1驱动器列表框(驱动器列表框(DriveListBox)驱动器列表框(驱动器列表框(DriveListBox)控件,通常只显示当前驱控件,通常只显示当前驱动器名称,单击向下箭头,就会下拉出计算机拥有的所有动器名称,单击向下箭头,就会下拉出计算机拥有的所有磁
36、盘驱动器,供用户选择磁盘驱动器,供用户选择1重要属性重要属性Drive属属性性是是驱驱动动器器列列表表框框控控件件最最重重要要和和常常用用的的属属性性,该该属属性性在在设设计计时时不不可可用用。返返回回或或设设置置运运行行时时选选择择的的驱驱动动器器,默默认认值值为当前驱动器为当前驱动器.使用格式:使用格式:object.Drive=例如:例如:Drive1.drive=“D:”2重要事件重要事件Change事件事件在程序运行时,当选择一个新的驱动器或通过代码改变在程序运行时,当选择一个新的驱动器或通过代码改变Drive属性的设置时都会触发驱动器列表框的属性的设置时都会触发驱动器列表框的cha
37、nge事件发事件发生。生。9.3.2目录列表框(目录列表框(DirListBox)目录列表框(目录列表框(DirListBox)控件用来当前驱动器目录结构及控件用来当前驱动器目录结构及当前目录下的所有子文件夹(子目录)。供用户选择其中一当前目录下的所有子文件夹(子目录)。供用户选择其中一个目录为当前目录。个目录为当前目录。1常用属性常用属性Path属性是目录列表框控件的最常用的属性,用于返回或设属性是目录列表框控件的最常用的属性,用于返回或设置当前路径。该属性在设计时是不可用的。置当前路径。该属性在设计时是不可用的。使用格式:使用格式:Object.Path=其中:其中:Object:对象表达
38、式,其值是目录列表框的对象名。:对象表达式,其值是目录列表框的对象名。:用来表示路径名的字符串表达式。:用来表示路径名的字符串表达式。例如,例如,Dir1.Path=C:Mydir。缺省值是当前路径。缺省值是当前路径。List、ListCount和和ListIndex等属性,这些属性与列表框等属性,这些属性与列表框(ListBox)控件基本相同。目录列表框中的当前目录的)控件基本相同。目录列表框中的当前目录的ListIndex值为值为-1。紧邻其上的目录具有。紧邻其上的目录具有ListIndex值为值为-2,再上一个的再上一个的ListIndex值为值为-3,如图,如图2重要事件重要事件Cha
39、nge事件事件与驱动器列表框一样,在程序运行时,每当改变当前目录,与驱动器列表框一样,在程序运行时,每当改变当前目录,即目录列表框的即目录列表框的Path属性发生变化时,都要触发其属性发生变化时,都要触发其Change事事件发生。件发生。9.3.3文件列表框(文件列表框(FilelistBox)文件列表框(文件列表框(FileListBox)控件用来显示)控件用来显示Path属性指定属性指定的目录中的文件定位并列举出来。该控件用来显示所的目录中的文件定位并列举出来。该控件用来显示所选择文件类型的文件列表。选择文件类型的文件列表。1常用属性常用属性(1)Path属性属性用于返回和设置文件列表框当
40、前目录,设计时不可用。用于返回和设置文件列表框当前目录,设计时不可用。说明:当说明:当Path值的改变时,会引发一个值的改变时,会引发一个PathChange事事件。件。(2)Filename属性属性用于返回或设置被选定文件的文件名,设计时不可用。用于返回或设置被选定文件的文件名,设计时不可用。说明:说明:Filename属性不包括路径名。属性不包括路径名。(3)Pattern属性属性用于返回或设置文件列表框所显示的文件类型。可在设计用于返回或设置文件列表框所显示的文件类型。可在设计状态设置或在程序运行时设置。缺省时表示所有文件。状态设置或在程序运行时设置。缺省时表示所有文件。设置形式为:设置
41、形式为:Object.Pattern=value其中其中value是一个用来指定文件类型的字符串表达式,并可是一个用来指定文件类型的字符串表达式,并可使用包含通配符(使用包含通配符(“*”和和“?”)例如:例如:File1.Pattern=*.txtFile1.Pattern=*.txt;*.Doc“File1.Pattern=?.txt“注意:要指定显示多个文件类型,使用注意:要指定显示多个文件类型,使用“;”为分隔符为分隔符重新设置重新设置Pattern属性引发属性引发“PatternChange”事件。事件。(4)文件属性:)文件属性:Archive:True,只显示文档文件;,只显示文
42、档文件;Normal:True,只显示正常标准文件;,只显示正常标准文件;Hidden:True,只显示隐含文件;,只显示隐含文件;System:True,只显示系统文件。,只显示系统文件。ReadOnly:True,只显示只读文件。,只显示只读文件。(5)MultiSelect属性属性文件列表框文件列表框MultiSelect属性与属性与ListBox控件中控件中MultiSelect属性属性使用完全相同。默认情况是使用完全相同。默认情况是0,即不允许选取多项。,即不允许选取多项。(6)List、ListCount和和ListIndex属性属性与与列列表表框框(ListBox)控控件件的的L
43、ist、ListCount和和ListIndex属属性性的含义和使用方法相同。的含义和使用方法相同。例例如如,下下段段程程序序是是将将文文件件列列表表框框(File1)中中的的所所有有文文件件名名显显示在窗体上。示在窗体上。For i=0 To File1.ListCount-1 Print File1.List(i)Next i2.主要事件主要事件(1)PathChange事件事件当当路路径径被被代代码码中中FileName或或Path属属性性的的设设置置所所改改变变时时,此事件发生。此事件发生。说说明明:可可使使用用PathChange事事件件过过程程来来响响应应FileListBox控控
44、件件中中路路径径的的改改变变。当当将将包包含含新新路路径径的的字字符符串串给给FileName属属性性赋值时,赋值时,FileListBox控件就调用控件就调用PathChange事件过程。事件过程。(2)PatternChange事件事件当当文文件件的的列列表表样样式式,如如:*.*,被被代代码码中中对对FileName或或Path属性的设置所改变时,此事件发生。属性的设置所改变时,此事件发生。说明:可使用说明:可使用PatternChange事件过程来响应在事件过程来响应在FileListBox控件中样式的改变。控件中样式的改变。(3)Click、DblClick事件事件说明:说明:要使驱
45、动器、目录和文件列表框同步显示,那么要使驱动器、目录和文件列表框同步显示,那么就需要编写代码才能使它们之间彼此同步。就需要编写代码才能使它们之间彼此同步。SubDrive1_Change()Dir1.Path=Drive1.DriveEndSubSubDir1_Change()filFile.Path=Dir1.PathEndSub【例例9-4】使用文件系统控件制作简易的文本浏览器。使用文件系统控件制作简易的文本浏览器。设计步骤如下:设计步骤如下:(1)建立应用程序用户界面与设置对象属性。建立应用程序用户界面与设置对象属性。(2)编写代码。编写代码。编写驱动器列表框编写驱动器列表框Drive1
46、的的Change事件代码:事件代码:PrivateSubDrive1_Change()Dir1.Path=Drive1.DriveEndSub编写目录列表框编写目录列表框Dir1的的Change()事件代码事件代码:Private Sub Dir1_Change()File1.Path=Dir1.PathEnd Sub 编写文件表框编写文件表框File1的的Click事件代码:事件代码:PrivateSubFile1_Click()ChDrive Drive1.Drive ChDir Dir1.Path Text1.Text=Open File1.FileName For Input As#1
47、 b=Do Until EOF(1)Line Input#1,nextline b=b&nextline&Chr(13)&Chr(10)Loop Close#1 Text1.Text=bEndSub 在在VB6.0中中新新增增了了文文件件系系统统对对象象(FileSystemObject缩缩写写为为FSO)模模型型,它它提提供供了了一一整整套套对对文文件件系系统统进进行行管管理理和和操作的方法和属性,包括:操作的方法和属性,包括:获得驱动器的信息,如驱动器列表、盘符、磁盘空间等。获得驱动器的信息,如驱动器列表、盘符、磁盘空间等。获得文件夹的或文件的信息,如名称、创建、修改日期等。获得文件夹的或
48、文件的信息,如名称、创建、修改日期等。检查指定的文件夹或文件是否存在及在什么位置。检查指定的文件夹或文件是否存在及在什么位置。文件夹或文件的删除、移动、复制等通常操作。文件夹或文件的删除、移动、复制等通常操作。对文本文件的读写操作。对文本文件的读写操作。9.4文件系统对象文件系统对象FileSystemObject对象是对象是FSO模型中的核心对象,在应模型中的核心对象,在应用程序中使用用程序中使用FSO的编程主要步骤是:的编程主要步骤是:创建一个创建一个FileSystemObject对象。对象。根据应用程序的需要,通过调用根据应用程序的需要,通过调用FileSystemObject对象中对
49、象中的方法来创建一个新的对象,如的方法来创建一个新的对象,如Drive对象、对象、Folder对象等。对象等。通过读取新对象的属性值获得用户所需的信息或利用对通过读取新对象的属性值获得用户所需的信息或利用对象的方法进行所需的操作。象的方法进行所需的操作。1创建创建FileSystemObject对象对象有两种方法创建有两种方法创建FileSystemObject对象:对象:9.4.1FileSystemObject对象对象方法一、方法一、使用使用New关键字声明一个变量为关键字声明一个变量为FileSystemObject对象类型。其语法格式:对象类型。其语法格式:DimAsNewFileSy
50、stemObject例如:例如:Dim fsox As New FileSystemObject方法二、使用方法二、使用CreateObject方法创建一个方法创建一个FileSystemObject对对象,其语法格式:象,其语法格式:Set=CreateObject(Scripting.FileSystenObject)例如:例如:Dim Dim fsoxfsox As Object As Object Set Set fsoxfsox=CreateObject(Scripting.FileSystenObjectCreateObject(Scripting.FileSystenObject