VB考试教程:文件处理之文件控件

VB考试教程:文件处理之文件控件,第1张

在计算系统中,文件管理一直是一个非常重要的概念。所谓的文件是指存放在外部存储介质上的数据和程序等。

在windows中编程时,下述这些功能是非常重要的:添加、移动、修改、创建、删除文件夹(目录)和文件,以及获得驱动器的信息和 *** 作驱动器。

VB允许用下述两种不同的方法来 *** 作驱动器、文件夹和文件。传统的方法是使用Open语句、Write#等,也可以用FileSystemObject(FSO)对象模型。从vb第一版直到如今,文件处理都是通过使用Open语句以及其它一些相关的语句和函数来实现并将逐步转向使用FSO对象模型。如果设计应用程序使用数据库文件,则在应用程序中不需要提供直接的文件访问。Date控件与绑定控件都可以向数据库读写数据,这比直接使用文件访问更容易。

下面介绍几个常用的文件控件。

一、文件控件  

在VB6.0中包括四个文件类型控件,它们分别是DriveListBox控件(驱动器列表框)、DirListBox控件(目录列表框)、FileListBox控件(文件列表框)和CommDialog控件,可以实现不同功能。

1、 DriveListBox控件

DriveListBox控件的功能是在程序的运行过程中,为用户提供一个选择有效的磁盘驱动器,该控件可以用来显示用户系统中所有有效磁盘驱动器的列表。

DriveListBox控件及后面介绍的DirListBox控件、FileListBox控件有许多标准属性,包括Enable、FontBold、FontItalic、FontName、FontSize、Height、Left、Name、Top、Visible、Width等等。此外,DriveListBox控件最重要的一个属性正厅辩就是Drive属性,用来改变DriveListBox控件的缺省驱动器,该Drive属性只能在程序的代码中设置,不能通过属性窗口设置。其格式为:

驱动器列表框名称.Drive[=驱动器名]

这里的“驱动器名”是指定的驱动器,如果省略,则指当前驱动器。如果所选择的驱动器在当前系统中不存在,则产生错误。

每次重新设置驱动器列表框的Drive属性时,都将引发Change事件。

下面就是一个利用DriveListBox控件来进行程序设计的示例。

(1)添加控伏春件

首先在空白的窗体上放置一个DriveListBox控件。

(2)添加代码

在窗体的Form_Load()事件中添加下列代码:

Private Sub Form_load()

Drive1.Drive="e:\" '设置控件的缺省驱动器为E。

End Sub

程序说明:Form_load()事件在程序运行时就会被激活。然后就会通过Drive1.Drive="e:\"这条语句来设置控件的缺省驱动器为E。

(3)存储文件,运行程序

由于在程序的Form_Load()事件中设置DriveListBox控件的缺省驱动器为E盘,所以程序的开始界面中DriveListBox控件显示的是E盘。

2、DirListBox 控件

DirListBox 控件的功能是在程序运行过程中,显示分层的列表。DirListBox 控件有几个比较重要的属性,如Path属性、List属性和ListCount属性。

(1)Path属性

Path属性用于目录列表框和文件列表框,用来设置或返回当前驱动器的路径,属举缺性的值是一个指示路径的字符串,例如"e:\user"或"c:\PWIN95\MEDIA"。其格式为:

[窗体.]目录列表框│文件列表框.Path[="路径"]

Path属性也只能在程序的代码中设置,不能通过属性窗口设置。

一般在应用程序的设计中,如果用到DirListBox 控件,则同时要用到DriveListBox控件与之相关联,如下:

添加一个DriveListBox控件,一个DirListBox 控件。

设置两者同步(当DriveListBox控件的改变驱动器时,DirListBox 控件中的内容与之同步):

Private Sub Drive1_Change()

Dir1.Path=Drive1.Drive '设置 DirListBox 控件的路径与DriveListBox控件同步

End Sub

设置DriveListBox控件的缺省驱动器,如为“C”盘:

Private Sub Form_load()

Drive1.Drive="c:\" '设置控件的缺省驱动器为C。

End Sub

(2)List 属性

list属性的功能是返回或设置控件的列表部分的工程。

语法如下:

[窗体.]控件.list(index)[=string]

list属性语法包含下面部分:

控件:可以是组合框、列表框、驱动器列表框、目录列表框、文件列表框等。

index:某种列表框中项目的下标。

string:字符串表达式

对于DirListBox 控件,索引号序列(index)基于在运行中创建该控件时的当前目录和子目录。当前展开的目录用索引值-1表示,当前展开目录的上一级目录用绝对值更大一些的负索引值来表示。如,-2是当前展开的目录的父目录,-3又是它的上一级的目录。当前展开的目录以下的目录的范围是从0到ListCount-1。

例:添加一个 DriveListBox控件,一个 DirListBox 控件,并设置如下代码:

Private Sub Form_load()

Drive1.Drive="c:\" '设置控件的缺省驱动器为C。

End Sub

Private Sub Drive1_Change()

Dir1.Path=Drive1.Drive '设置 DirListBox 控件的路径与DriveListBox控件同步

End Sub

Private Sub Dir1_Change()

MsgBox Dir1.List(-2) '通过对话框显示选中目录的上一级目录。

以下是实现在 VB 程序中加入三个文件系统控件并让它们同步的步骤:

1. 打开 Visual Basic 程序,并创建一个新项目。

2. 在窗体上添加三个文件系统控件,例如 `DriveListBox`、`DirListBox` 和姿锋扮 `FileListBox`。可以通过拖放的方式将这些控件添加到窗体上。

3. 设置每个控件的主要属性,如下所示:

- `DriveListBox` 控件:设置 `Drive` 属性为 `""`(空字符串);

- `DirListBox` 控件:设置 `Path` 属性为 `DriveListBox.Path`,以确保该控件始终显示当前驱动器的根目录;

- `FileListBox` 控件:设置 `Path` 属性为 `DirListBox.Path`,以确保该控件始终显示当前目录下的文件列表。

4. 编写代码来实现控件之间的同步。具体来说,需要为 `DriveListBox` 控件和 `DirListBox` 控件编写 `Change` 事件处理程序,为 `DirListBox` 控件和 `FileListBox` 控件编写 `Click` 事件处理程序。代码示例如下:

```vb

Private Sub DriveListBox_Change()

DirListBox.Path = DriveListBox.Drive

End Sub

Private Sub DirListBox_Change()

FileListBox.Path = DirListBox.Path

End Sub

Private Sub DirListBox_Click()

FileListBox.Refresh

End Sub

```

在这些事件处理程序中,我们使用控件的属性和方法来进行控件之间的同步。当用户选择不同的驱动器时,`DriveListBox_Change()` 事件处理迹灶程序会设置 `DirListBox` 控件的 `Path` 属性为当前驱动器的根目录;当用户选择不同的目录时,`DirListBox_Change()` 事件处理程序会设置 `FileListBox` 控件的 `Path` 属性为当前目录,以更新文件列表;当用户单击 `DirListBox` 控件时,`DirListBox_Click()` 事件处理程序会调基拿用 `FileListBox.Refresh` 方法来刷新文件列表,以确保它显示最新的文件列表。

5. 运行程序并测试控件之间的同步是否正常工作。您应该能够从 `DriveListBox` 控件中选择不同的驱动器,并从 `DirListBox` 控件中选择不同的目录,然后在 `FileListBox` 控件中看到当前目录下的文件列表。

需要注意的是,本示例代码仅提供了基本的控件同步功能,您可以根据自己的需求进行修改和扩展。同时,还应该考虑异常情况的处理,例如用户选择了不存在的驱动器或目录等情况。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12288161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存