Visual Basic程序设计 龚为琨 第7章 文件系统控件、公共对话框

上传人:E**** 文档编号:89362282 上传时间:2019-05-24 格式:PPT 页数:113 大小:957KB
返回 下载 相关 举报
Visual Basic程序设计  龚为琨 第7章  文件系统控件、公共对话框_第1页
第1页 / 共113页
Visual Basic程序设计  龚为琨 第7章  文件系统控件、公共对话框_第2页
第2页 / 共113页
Visual Basic程序设计  龚为琨 第7章  文件系统控件、公共对话框_第3页
第3页 / 共113页
Visual Basic程序设计  龚为琨 第7章  文件系统控件、公共对话框_第4页
第4页 / 共113页
Visual Basic程序设计  龚为琨 第7章  文件系统控件、公共对话框_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《Visual Basic程序设计 龚为琨 第7章 文件系统控件、公共对话框》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 龚为琨 第7章 文件系统控件、公共对话框(113页珍藏版)》请在金锄头文库上搜索。

1、第7章 文件系统控件、公共对话框,7.1 文件系统控件应用举例 7.2 文件系统控件属性 7.3 传统的文件处理方法 7.4 新型FSO模型处理文件介绍 7.5 通用对话框 7.6 通用对话框的应用举例 7.7 小结 7.8 练习题 7.9 上机实习题,7.1 文件系统控件应用举例,VB 6.0对于文件的处理提供了文件系统控件。与文件系统有关的控件有三个,它们分别是驱动器列表框控件、目录列表框控件和文件列表框控件。它们是相互独立的,分别完成磁盘、目录和文件的控制。,每种文件控件与标准列表框控件类似地工作。文件列表框显示文件的列表,用户可以使用鼠标或键盘从列表中选择一个文件。目录列表框显示每个驱

2、动器上可用的目录。使用驱动器列表框,用户可以指定任何可用的驱动器。 文件控件提供了在许多Windows应用程序中常用的界面,图7-1是Word软件下的打开文件的对话框。使用文件控件,可以相对容易、灵活地建立这样的对话框。,图7-1 Word下提供的打开文件对话框,图7-2 没有设置关联的各个文件,系统控件的运行效果运行文件列表框控件后,每一个控件都会自动从操作系统取得与它相关的信息。驱动器列表框控件会取得目前系统上的所有磁盘驱动器的信息;目录列表框控件会取得当前状态的目录信息;文件列表框控件会取得当前目录下的所有文件。 由于这三个控件是相互独立的,因此,当用户改变了其中的一些项目时,相关内容不

3、会自动改变。比如图7-2显示的就是D磁盘的盘符,C磁盘的Windows文件夹,而文件名显示的却是C磁盘vb-7文件夹下的内容。要想获得Windows下对话框的“连动”效果,还得进行相关的属性设置。,7.2 文件系统控件属性,文件系统控件同其他标准控件一样,有很多共有的属性,包括位置、颜色等的设置。在这里,我们重点介绍文件系统控件特有的一些属性。,图7-3 驱动器列表框,7.2.1 驱动器列表框控件 驱动器列表框控件是一个下拉列表框,含有系统上可用的所有驱动器的名字和卷标。该控件首先只显示当前驱动器,当用户单击向下箭头时,驱动器列表框出现,如图7-3所示。 用户可以在运行阶段通过设置驱动器列表框

4、的“Drive”属性来改变当前的磁盘驱动器。 注意:该属性是无法在设计阶段改变的。,例如,Drive1.Drive=e就是将缺省名为Drive1的驱动器列表框的逻辑磁盘位置改为E盘。 也可以用命令ChDrive drive 完成。用语句 ChDrive e 同样能达到以上效果。 “drive”参数是一个字符串表达式,它指定一个存在的驱动器。如果使用零长度的字符串(“),则当前的驱动器将不会改变。如果“drive”参数中有多个字符,则ChDrive只会使用首字母。,图7-4 一个目录列表框,7.2.2 目录列表框控件 目录列表框控件用来显示当前驱动器上的目录和路径。图7-4就是一个简单的目录列表

5、框。使用目录列表框,用户可以浏览目录和选择目录。如果处于某个目录中,则文件夹图标为打开,而对于当前目录下的子目录,文件夹图标是关闭的。 缺省情况下,目录列表框只能显示当前磁盘的文件夹。要显示其他磁盘驱动器上的目录,可以通过设置Path属性来完成。如果没有指定驱动器,则ChDir在当前的驱动器上改变缺省目录或文件夹。当然,也可以用命令ChDir来执行。设置如下:,Dir1.Path=C:Windows 将当前目录设为C:Windows ChDir “D:Tmp“ 将当前目录设为 D:Tmp ChDir Dir1.Path 将用户选取的目录设为当前目录 目录列表框的Path属性同样无法在设计阶段改

6、变。如果要让目录列表的内容与磁盘驱动器列表同步的话,可以在磁盘驱动器列表的Change事件过程中,将磁盘驱动器列表的Drive属性指定给目录列表的Path属性,写成“Dir1.Path=Drive1.Drive“。,7.2.3 文件列表框控件 文件列表框控件可以显示当前目录下的所有文件,常用来选择一个或一组文件。图7-5显示了一个单独的文件列表。文件列表的当前目录记录在Path属性中。可以看出,单独的文件列表应用很不方便,在通常情况下,文件列表的内容应随着目录列表的改变而改变。 当文件列表的Path属性被重新设置后,会引发Dir1_Change事件,因此我们常将Path属性设置成语句“File

7、1.Path=Dir1.Path“。,图7-5 一个单独的文件列表,表7-1 文件列表框控件的部分属性,图7-6 实用的文件控件使用例题,设置List、ListCount和ListIndex属性,就可以访问列表中的项目。用户可以查阅有关它们的属性设置。如果需要显示DirListBox和FileListBox控件,那么可以编写代码,使它们彼此之间同步。 下面这个程序把这几个属性和控件结合使用,图7-6就完成了这样效果。在设置了窗口控件后,它的程序代码如下:,Private Sub Drive1_Change() Dir1.Path = Drive1.Drive 设置目录选项 End Sub Pr

8、ivate Sub Dir1_Change() File1.Path = Dir1.Path 设置文件选项 End Sub Private Sub File1_DblClick() 双击文件,判断是否有“”,如果Dir1.Path是根目录,那么路径字符串的最后会包含一个“”;否则,路径字符串的尾部需加“” If Right$(Dir1.Path, 1) = “ Then fname$ = Dir1.Path + File1.FileName Else fname$ = Dir1.Path + “ + File1.FileName End If,rv = Shell(fname$, 1) 鼠标选

9、定文件,双击确定,用Shell调用所选的文件 End Sub Private Sub File1_KeyPress(KeyAscii As Integer) fname$ = Dir1.Path + “ + File1.FileName 所选的文件名 If KeyAscii = 13 Then rv = Shell(fname$, 1) 用键盘选择文件,回车符确定 End Sub,7.3 传统的文件处理方法,在VB的早期版本中,文件处理都是通过使用Open语句以及其他相关的语句和函数来实现的。这些机制将逐步被淘汰,新版VB提供了新工具:File System Object(FSO)对象模型。

10、但是VB新版中仍然支持传统的文件处理方式。,传统的文件处理按数据的存取方式,可分为顺序文件、随机文件和二进制文件。 顺序文件就是将文件记录按顺序存放。要读写文件的内容,就必须按照顺序依次读写。就像使用录音机的磁带一样,要想听后面的内容,必须先绕过前面的一段。一般适用于连续的文本文件。,随机文件将文件记录按照链接的方法进行存放,通过指针连接各条记录。读写文件可以像激光唱片一样直接指到记录位置,进行快速选取。一般适用于记录大小相同的文件。 二进制文件是“二进制字节”的集合,数据以二进制格式保存,适用于读写任意有结构的文件。这类文件的灵活性较大,但是程序的编制比较复杂。,7.3.1 顺序文件的操作

11、顺序文件主要适用于文本文件的运行。主要的操作有文件打开、文件读取、文件写入和文件关闭等。要编辑一个文件,须首先把文件按照一定的方式打开(或建立),将记录内容读入到内存变量中,对数据进行处理后,再将其回写到文件中,最后关闭文件。,1) 顺序文件的打开 文件的打开使用Open语句,它的语法是: Open文件名For模式As 文件号Len =缓存区长度,当打开顺序文件作为 Input 时,该文件必须已经存在,否则,会产生一个错误。然而,当打开一个不存在的文件作为 Output 或 Append 时,Open语句会首先创建该文件,然后再打开它。当在文件与程序之间拷贝数据时,选项Len参数指定缓冲区的字

12、符数。在打开一个文件进行Input、Output 或 Append操作以后,为其他类型的操作重新打开它之前必须先使用Close语句关闭它。 比如,我们输入数据,用顺序文件方式打开一个C盘根目录下的文件Lx.txt,可以写成: Open C:lx.txt For Input As #1,2) 顺序文件的读取 要读取顺序文件,首先须用Input方式打开文件,然后用读取语句将文件读入到内存变量中。读取语句的格式: Input#文件号,变量名表,3) 顺序文件的写入和关闭 要将数据写入文件,应用OutPut或Append方式打开文件,然后用写入语句写入内容。在使用完文件后,应关闭对应的文件。格式分别如

13、下: Print#文件号,表达式列表 将格式化显示的数据顺序写入文件 Write#文件号,表达式列表 将用逗号“,”分开的数据顺序写入文件 Close 关闭对应的文件,【例7.1】 顺序文件的基本应用。设计一个程序,要求类似一个简易的文本编辑器。 (1) 按照图7-7所示样式设计窗体。加入命令按钮Command1(打开文件)、Command2(保存文件)、Command3(结束)和文本框Text1。 (2) 参照表7-2设置各个控件的属性。,图7-7 顺序文件的基本操作,表7-2 图7-7所示控件的属性设置,(3) 编写事件代码。 Private Sub Command1_Click() Di

14、m f_name, t_out, t_line As String 定义变量类型 f_name = “c:frunlog.txt“ 打开的文件位置、名称 Open f_name For Input As #1 以Input方式打开1号文件 Do While Not EOF(1) 循环直到文件尾,Line Input #1, t_line 读入一行数据至变量 t_out = t_out + t_line + Chr(13) + Chr(10) 句尾加空格和回车符 Loop Close #1 关闭文件 Text1.Text = t_out End Sub,Private Sub Command2_

15、Click() Dim f_name As String f_name = “c:sclx.txt“ Open f_name For Output As #1 以Output方式打开文件 Print #1, Text1.Text 将字符写入文件 Close #1 End Sub,Private Sub Command3_Click() Unload Me 关闭 End Sub 这个程序将完成把指定的文件读出,然后重新写入到另一文件中的操作。可以看出,这个程序还有很多可以改良的地方。比如,我们加入命令“Form1.Caption=Form1.Caption+?+f_name”就可以把文本编辑器编辑的文件名显示在窗体上。,一般地,文本编辑器的窗体工作区随着整个主窗体的变化而变化,而本例的窗体工作区大小不变。如何做到这一点呢?可以在代码中加入如下一段程序: Private Sub Form_Resize() 使文本框占据整个窗体的客户区 Text1.Top = 0 Text1.Left = 0 Text1.Width = ScaleWidth 使文本框宽度适应窗体宽度 Text1.Height = ScaleHeight End Sub,可以看出,在有关文件的操作过程中,使用到很多语句和函数,表7-3和表7-4分别列出了常用的语句和函数。有关的具体语法和格式,请

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号