|
在该程序中,使用文件控件设计一个文件管理对话框,通过该对话框可以浏览系统中的文件,还可以进行文件的查找和删除操作。
在窗体上放置1个驱动器列表框、1个目录列表框、1个文件列表框、1个标签、1个文本框和3个按钮控件。程序运行的界面如下图所示。

各对象属性设置:
| 对象 |
属性 |
值 |
| 窗体 |
Caption |
文件控件使用 |
| 驱动器列表框 |
名称 |
Drive1 |
| 目录列表框 |
名称 |
Dir1 |
| 文件列表框 |
名称 |
File1 |
| 标签框 |
Caption |
请输入所要查找的文件名称 |
| 文本框 |
名称 |
TexFind |
| |
Text |
置空 |
| 按钮1 |
名称 |
ComFind |
| |
Caption |
查找 |
| 按钮2 |
名称 |
ComDel |
| |
Caption |
删除 |
| 按钮3 |
名称 |
ComClose |
| |
Caption |
关闭 |
程序代码如下:
Private Sub ComClose_Click()
End
End Sub
Private Sub ComDel_Click()
'确定所选文件的路径及文件名
If Right(Dir1.Path, 1) = "\" Then
Delfile = Dir1.Path + File1.FileName
Else
Delfile = Dir1.Path + "\" + File1.FileName
'非根目录时,路径中的最后加上一个反斜杠"\"
End If
On Error GoTo ww2
Msg = MsgBox("是否真的删除文件?", 36, "警告")
If Msg = 6 Then '判断用户做出的选择
Kill Delfile '删除文件
File1.Refresh '刷新文件列表框
End If
Exit Sub
ww2:
If Err.Number = 75 Then
MsgBox "文件不能被删除!", 64, "提示"
Else
MsgBox "出现未知错误", 64, "提示"
End If
Resume Next
End Sub
Private Sub ComFind_Click()
On Error GoTo ww1
File1.FileName = TexFind.Text '查找文件
Exit Sub
ww1: '错误代码处理
If Err.Number = 53 Then
MsgBox "文件未找到!", 64, "提示"
Else
MsgBox "出现未知错误", 64, "提示"
End If
Resume Next
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path '关联目录列表框和文件列表框
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive '关联驱动器列表框和目录列表框
End Sub
Private Sub Form_Load()
'设置应用程序所在驱动器和目录为当前驱动器和目录
'App 是当前的应用程序对象
Drive1.Drive = App.Path
Dir1.Path = App.Path
End Sub
程序说明如下:
在查找文件时,如果用户输入的文件不存在,则会产生错误号为53。在删除文件时,也可能会出现错误,例如,要删除的文件是只读的或者文件已经打开,会产生75号错误。这些错误在查找和删除按钮的Click事件过程中都设置了错误陷阱及错误处理方法。
在删除文件时,首先要获得用户所选文件的路径及文件名。可以使用目录列表框的Path属性所返回的路径和文件框属性返回的文件名来“拼接”出Kill语句所需的参数,。需要注意的是,Path属性返回根目录时,已经带有冒号(:)和反斜杠(\),在代码中使用了IF语句,来判断是否有必要在文件名和路径之间添加一个反斜杠。
运行程序在文本框中输入要查找的文件,按[查找]则文件列表框中就会显示出该文件。如果查找不到,则弹出消息框,提示文件未找到。
在文件列表框中选中某个文件,按[删除]则弹出消息框,提示用户是否真的要删除文件。单击[是]或[否]进行确定。
如果所要删除的文件是只读或文件已经打开,则执行文件的删除操作会弹出消息框,提示用户此文件不能被删除。
  
|