资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
【案例】 文件浏览器 【本章小结】,一、案例效果 程序运行后,用户可以在驱动器列表框中选择目标文件的路径,并且文件列表框能过滤出所有的文本文件。当用户在文件列表框中单击某文本的文件名后,在Text1中显示文件名(包括路径),在Text2中显示该文件的内容。当用户在文件列表框中双击某文件名后,调用记事本程序对文本文件进行编辑。本案例的界面设计如图11-1所示。,【案例】 文 件 浏 览 器,图11-1,二、技术分析 1驱动器列表框(DriveListBox) 驱动器列表框是一个下拉式列表框。当此列表框处于缺省状态时,显示用户系统当前驱动器名称。当用户单击列表框右侧的箭头时,列表框下拉列出系统所有的有效驱动器 名称。,1) 常用属性 (1) Name属性。Name属性通常采用“Drv”作为驱动器列表框控件名的前缀。缺省时,Name属性值为“Drive1”。 (2) Drive属性。Drive属性是在程序运行时所使用的属性,该属性用于返回用户在驱动器列表框中选中的驱动器。在程序运行时,可以通过赋值语句改变Drive属性值,从而指定出现在列表框顶端的驱动器。 如:Drive1.Drive=“D: “,2) 常用事件 常用事件为Change事件。当用户在驱动器列表框的下拉列表中选择一个驱动器,或输入一个合法的驱动器标识符,或在程序中给Drive属性赋一个新的值时就会触发Change 事件。,2目录列表框 目录列表框显示系统的当前驱动器目录结构,并突出显示当前目录。 1) 常用属性 (1) Name属性。目录列表框的Name属性通常以“Dir” 作为前缀。缺省时,Name属性为“Dir1”。 (2) Path属性。该属性用来设置和返回目录列表框中的当前目录。它只能在程序代码中设置,不能在属性窗口中设置。,其语句格式为: .Path=路径 如:Dir1.Path=”C:Program FileVisualStudio” 说明: 当用户单击目录列表框中的某一目录项时,该目录项被突出显示,但是此次操作并没有改变Path属性值。而双击目录列表框中某一项时,则该目录项的路径就赋给了Path属性,这个目录项就变成了当前目录。, 目录列表框中只能显示当前驱动器上的目录,所以当改变驱动器列表框中的当前驱动器时,目录列表框中显示的目录内容也应当随之改变。因此需要使用下面的语句将驱动器列表框的Drive属性值赋给目录列表框的Path属性: .Path=.Drive 例如: Private Sub Drive1_Change( ) Dir1.Path=Drive1.Drive End Sub,2) 常用事件 Change事件是目录列表框控件的最基本事件之一。当用户双击目录列表框中的目录项,或在程序中通过赋值语句改变Path属性值时,均会触发该事件。 3文件列表框 1) 常用属性 (1) Name属性。文件列表框的Name属性通常以“File”作为前缀。缺省时,Name属性为“File1”。 (2) Path属性。该属性用来设置和返回文件列表框中所显示文件的路径。它是一个运行时属性,在程序代码中可以通过如下语句来改变Path属性值。 如:File.Path=路径 或 File1.Path=Dir1.Path,(3) Pattern属性。该属性用来设置程序运行时文件列表框中需要显示的文件类型。它可以在设计阶段用属性窗口来设置,也可以通过程序代码设置。缺省时Pattern属性值为“*.*”(显示所有文件)。 用程序代码设置Pattern属性的语句格式为: 窗体.Pattern=属性值;属性值 例如: File1.Pattern=“*.txt” 此语句的功能是设置文件列表框中只显示扩展名为“.txt”的文件,即文本文件。,(4) FileName属性。该属性用来设置和返回文件列表框中将显示的文件名称,并且文件名称可以带有路径。FileName属性是运行时属性,只能在程序代码中设置。其语句格式为: 窗体名.FileName=文件名称 例如: File1.FileName=”E:*.txt” 执行此语句后,在文件列表框中显示E盘根目录下的所有扩展名为“.txt”的文件。,(5) ListCount属性。该属性返回控件内所列项目的总数。它是运行时属性,只能在程序代码中使用。 例如: Print File1.ListCount 此语句用来显示文件列表框中所列文件总数。,(6) ListIndex属性。该属性用来设置或返回当前控件上所选择的项目的“索引值”。它是运行时属性,只能在程序代码中使用。ListIndex属性值从0开始,即第一项的索引值为0。 例如: File1.ListIndex=2 此语句表示选中文件列表框中的第三项。 2) 常用事件 (1) PathChange事件。当文件列表框的Path属性改变时触发该事件。 (2) PatternChange事件。当文件列表框的Pattern属性在程序代码中被改变时触发该事件。,4打开文件的Open语句 在对文件进行任何操作之前,必须先打开文件,同时通知操作系统对文件进行读操作或写操作。打开文件的命令是 Open,其语句格式为: Open 文件名 For 模式 As #文件号 Len=记录长度,说明: (1) 文件名可以是字符串常量(需加引号),也可以是字符串变量。 (2) “模式”为下列3种形式之一: Output,对文件进行写操作。 Input,对文件进行读操作。 Append,在文件末尾追加记录。 (3) 文件号是一个介于1511之间的整数。当打开一个文件并给它指定一个文件号后,该文件号就代表这个文件,直到文件被关闭后,此文件号才可以在被其他文件使用。,例如: Open fname For Input As #1 其中,fname为文件名,是一个字符串变量。此语句的功能是打开一个文件,文件名由字符串变量fname 决定,文件号为1,打开文件后对文件进行读操作。,5关闭文件的Close语句 当对文件的读写操作结束之后,还必须将文件关闭,否则会造成数据丢失等现象。关闭文件所用的语句是Close,其语句格式为: Close #文件号 ,#文件号 例如: Close #1,#2,#3 此语句的功能是关闭1号、2号、3号文件。如果省略文件号,Close语句则关闭所有打开的文件。,6读文件的语句和函数 1) Input #文件号,变量列表 该语句的功能是从文件中读出数据,并将读出的数据分别赋给指定的变量。 2) Line Input #文件号,字符串变量 该语句的功能是从文件中读出一行数据,并将读出的数据赋给指定的字符串变量。读出的数据中不包含回车符及换行符。 3) Input $(读取的字符数,#文件号) 该语句的功能是可以读取指定数目的字符。,7其他函数 1) EOF()函数 该函数返回一个表示文件指针是否到达文件末尾的值。当到达文件末尾时,EOF()函数返回True, 否则返回False。 2) Right()函数 该函数的语句格式是: Right(C,N) 其功能是取出字符串C右边的N个字符。 例如: Right(fname, 1) 此语句的作用是取出字符串变量fname 中右边的一个字符。,3) Shell()函数 在Visual Basic中不仅可以调用系统提供的内部函数,还可以调用各种应用程序,这一功能是通过Shell()函数来实现的。 Shell()函数的格式为: Shell(命令字符串,窗口类型) 其中: (1) 命令字符串:要执行的应用程序名,包括路径,它必须是可执行文件(扩展名为.com、.ext、.bat)。,(2) 窗口类型:表示执行应用程序的窗口大小,可选择04或6的整型数值。一般取1,表示正常窗口状态。 (3) 当成功调用Shell()函数后返回一个任务标识ID,它是运行程序的唯一标识,用于程序调试时判断执行的应用程序正确与否。 例如: i = Shell(“c:WINNTsystem32notepad.exe” + “” + fname, 1) 此语句的功能是调用系统中的记事本程序,窗口类型为正常状态。,三、操作步骤 1创建程序界面 (1) 启动Visual Basic 6.0,新建一个“标准EXE”工程。 (2) 在窗体上添加1个标签控件、2个文本框控件、1个驱动器列表框控件、1个目录列表框控件和1个文件列表框控件。 2属性的设置与修改 对照表11-1设置对象的属性。,表11-1 设置对象属性,3程序代码设计 (1) 窗体加载事件的代码如下: Private Sub Form_Load() File1.Pattern = “*.txt” End Sub (2) 驱动器改变事件的代码如下: Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub,(3) 目录改变事件的代码如下: Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub,(4) 文件列表框中文件的单击事件的代码如下: Private Sub File1_Click() Dim fname$, st$ If Right(File1.Path, 1) = “” Then fname = File1.Path + File1.FileName Else fname = File1.Path + “” + File1.FileName End If,Text1.Text = fname Text2.Text = “ Open fname For Input As #1 Do While Not EOF(1) Line Input #1, st Text2.Text = Text2.Text & st & vbCrLf Loop Close #1 End Sub,(5) 文件列表框中文件的双击事件的代码如下: Private Sub File1_DblClick() Dim fname$, st$, i% If Right(File1.Path, 1) = “ Then fname = File1.Path + File1.FileName Else fname = File1.Path + “ + File1.FileName End If i = Shell(“c:WINNTsystem32notepad.exe“ + “ + fname, 1) End Sub,4程序代码调试 输入程序代码后,完成程序代码的调试和修改。 四、探索与思考 (1) 本案例中文件列表框只能显示文本文件,如果要显示所有文件,则应如何修改程序? (2) 如果要在Text2中只显示5个字符,则该如何修改程序?,五、学生自主设计文件管理系统 1设计要求 1) 基本部分模仿 设计一个文件管理系统,要求可以通过文本框来输入确定的文件名称和当前目录来改变驱动器列表框、目录列表框、文件列表框中显示的内容,也可以通过鼠标单击或双击列表框中的列表项来改变文本框中显示的文件名称和当前目录。其界面设计可参照图11-2。,图11-2,2) 拓展部分创意设计 利用Drive、Dir和File 3个控件的同步操作,选取图形文件,并将其显示在PictureBox中。其界面设计可参照图11-3。,图11-3,2知识准备 要完成自主设计内容,需掌握以下知识: (1) 命令按钮的运用。 (2) 标签与文本框的运用。 (3) 驱动器列表框的属性与事件。 (4) 目录列表框的属性与事件。 (5)
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号