背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-39.html    注册17xie 一起来写书 实现您的出书梦想!

Private Sub cmdSearch_Click()

filList.Pattern = txtSearchSpec.Text

'设置过滤器

filList.Path = dirList.Path

'显示查找结果

End Sub

 

Private Sub DirList_Change()

filList.Path = dirList.Path

'设置文件显示路径

End Sub

 

Private Sub DrvList_Change()

On Error GoTo DriveErrs

dirList.Path = drvList.Drive

'设置目录显示路径

Exit Sub

DriveErrs:

    Select Case Err

        Case 68

            MsgBox prompt:="驱动器未准备好。请在驱动器内插入磁盘。", _

            buttons:=vbExclamation

            ' 将路径重置为先前使用的驱动器。

            drvList.Drive = dirList.Path

            Exit Sub

        Case Else

            MsgBox prompt:="应用程序错误。", buttons:=vbExclamation

    End Select

End Sub

 

Private Sub Form_Load()

drvList.Drive = "c:"

'设置缺省驱动器

dirList.Path = "c:\windows"

'设置缺省工作路径

txtSearchSpec.Text = "*.*"

'设置文本框中显示文本

filList.Pattern = "*.*"

'设置过滤器

Check1(0).Value = 0

Check1(1).Value = 0

Check1(2).Value = 0

Check1(3).Value = 0

'初始化Check1控件数组状态

End Sub

 

Private Sub Form_Unload(Cancel As Integer)

End

'结束程序的运行

End Sub

5.3  利用文件函数

前面的两个示例程序大多是依靠着三个文件类控件来完成对文件的操作,其实在Visual Basic 6.0系统中有很多的处理文件的系统语句和函数(以下统称文件函数),利用这些文件函数可以实现文件的复制、粘贴和删除等操作,下面就利用KillGetAttrFileDateTime等文件函数来进行文件的处理操作。

注意:

@        示例程序可以显示选中的大小、修改时间和属性等信息,同时还可以通过简单的鼠标拖动就能够实现删除文件等操作。

具体的程序设计步骤如下所示:

1.开始工作

新建标准的工程文件,同时打开了一个空白的窗体。

窗体的属性设置如下所示:

Begin Visual Basic.Form Form1

     BorderStyle=3

     Caption="Form1"

ScaleHeight=4590

     ScaleWidth =6885

     ShowInTaskbar=          0

     StartUpPosition=         2

End

经过以上属性设置后的窗体具有如下所示的特性:

n         程序运行过程中,窗体位于屏幕的中央,并且用户不能够移动窗体;

n         窗体的标题栏中显示文本“Form1”;

n         窗体的标题栏中没有最大化和最小化按钮,只有关闭按钮;

n         在程序运行的过程,用户不能够改变窗体的大小。

2.添加文件类控件

在本示例程序中,虽然主要的程序功能是通过调用Visual Basic 6.0的系统文件函数来完成的,但是首先要能够显示文件,所以在程序设计的过程中要向当前空白的窗体上添加一个DriveListBox控件、一个DirListBox控件、一个FileListBox控件和一个ComboBox控件,添加控件后的窗体如图5-17所示。

5-17  添加文件类控件后的窗体

其中四个控件的作用如下所示:

n         DriveListBox控件:在程序运行的过程中显示用户计算机上的所有有效的驱动器,并且负责用户选择驱动器时的错误处理;

n         DirListBox控件:在程序运行的过程中显示当前驱动器下的各个目录项;

n         FileListBox控件:显示当前路径下的文件列表,文件显示的类型需要由用户在程序运行的过程中指定;

n         ComboBox控件:用于在程序运行的过程中选择文件类控件的过滤器。

以上添加的四个ActiveX控件属性设置如下所示:

   Begin Visual Basic.ComboBox Combo1

     Height        =       315

     Left   =       2400

     Text  =       "显示文件类型:"

     Top  =       3840

     Width         =       2055

   End

   Begin Visual Basic.FileListBox File1

     Height        =       3405

     Archive      =       -1

     Hidden       =       -1

     Left   =       2400

     ReadOnly  =       -1

     System       =       -1

     Top  =       360

     Width         =       2055

   End

   Begin Visual Basic.DirListBox Dir1

     DragIcon    =       "form2.frx":0054

     Height        =       3465

     Left   =       360

     Top  =       720

     Width         =       1935

   End

   Begin Visual Basic.DriveListBox Drive1

     DragIcon    =       "form2.frx":035E

     Height        =       315

     Left   =       360

     Top  =       360

     Width         =       1935

   End

3.添加其他ActiveX控件

在程序运行的过程中,还要显示选中文件的大小、修改时间和各种属性,这些都需要通过一定的显示容器才能够实现。

为此,在程序设计的过程中,向窗体上添加三个Label控件和三个TextBox控件,各个控件的功能将会在以后加以说明,添加控件后的窗体如图5-18所示。

5-18  添加控件后的窗体

其中ActiveX控件的属性设置如下所示:

   Begin Visual Basic.TextBox Text3

     Height        =       675

     Left   =       4680

     Top  =       3480

     Width         =       2055

   End

   Begin Visual Basic.TextBox Text2

     Top  =       2160

   End

   Begin Visual Basic.TextBox Text1

     Top  =       840

   End

   Begin Visual Basic.Label Label3

     AutoSize    =       -1

     Caption      =       "修改时间:"

     Height        =       315

     Left   =       4680

     Top  =       3000

     Width         =       1425

   End

   Begin Visual Basic.Label Label2

                    Caption     =   "文件属性:"

   End

   Begin Visual Basic.Label Label1

        Caption     =   "文件大小:"

   End

它们的作用如下所示:

n         Text1控件:在程序运行的过程中显示选中文件的大小,以Byte为单位;

n         Text2控件:在程序运行的过程中显示选中文件的属性,如系统、存档和只读等;

n         Text3控件:在程序运行的过程中显示选中文件的最近修改时间和日期;

n         Label控件:显示固定的提示文本“文件大小”、“文件属性”和“修改时间”。

4.程序初始化

在程序设计的过程中,首先在项目管理器中用鼠标单击窗体File,激活窗体后,用鼠标双击窗体上的空白处,在屏幕上就会弹出一个代码窗口,在代码窗口的对象列表中选择窗体Form,在对应的事件列表中选择窗体的初始化事件Private Sub Form_Load(),在代码编辑窗口把光标移动到Private Sub Form_Load()事件的处理过程中,并且添加如下所示的程序初始化代码:

Private Sub Form_Load()

Drive1.Drive = "c:"

Dir1.Path = "c:\windows"

File1.Pattern = "*.*"

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

End Sub

窗体Private Sub Form_Load()事件中的代码在对话框窗体被激活的初期就被执行,程序首先会通过语句设置缺省工作驱动器和缺省工作路径为“c:”和“c:\windows”,然后设置文件类控件的过滤器为“*.*”,即在程序运行的初期将显示所有类型的文件,最后通过Text1.Text = ""Text2.Text = ""Text3.Text = ""清空窗体上的三个文本框。经过程序初始化后的运行窗体如图5-19所示。

5-19  经过初始化后的程序运行窗体

5.显示文件信息

示例程序在运行的过程中,用户可以在文件显示控件中选择一个有效的文件,同时在三个文本框中就会显示出选中文件的大小、修改时间和属性。为此,在程序设计的过程中,用鼠标左键双击窗体上的File1控件,屏幕上就会弹出一个代码窗口,在代码窗口的对象列表中选择控件File1,在对应的事件列表中选择Private Sub File1_Click()事件,把鼠标移动到事件处理过程中,并且添加如下所示的响应代码:

Private Sub File1_Click()

Form1.Text2.Text = ""

If Mid(File1.Path, Len(File1.Path)) = "\" Then

   Fname = File1.Path & File1.FileName

   '如果被单击的文件在根目录,就追加文件名。

Else

   Fname = File1.Path & "\" & File1.FileName

   '如果被单击的文件不在根目录,就追加 "\" 和文件名。

End If

Form1.Text1.Text = FileLen(Fname) & "Byte"

If (GetAttr(Fname) And 32) <> 0 Then

   Form1.Text2.Text = Form1.Text2.Text & " 存档"

End If

If (GetAttr(Fname) And 2) <> 0 Then

   Form1.Text2.Text = Form1.Text2.Text & " 隐藏"

End If

If (GetAttr(Fname) And 1) <> 0 Then

   Form1.Text2.Text = Form1.Text2.Text & " 只读"

End If

If (GetAttr(Fname) And 4) <> 0 Then

   Form1.Text2.Text = Form1.Text2.Text & " 系统"

End If

Form1.Text3.Text = FileDateTime(Fname)

End Sub

程序说明:

在程序运行的过程中,当用户在文件显示控件File1上选中一个有效的文件后,程序就会自动的激活控件的Private Sub File1_Click()事件:

首先通过语句Form1.Text2.Text = ""清空文本框控件Text2中的文本,通过语句Form1.Text1.Text = FileLen(Fname) & "Byte"显示用户选中文件的大小,然后通过四个条件判断语句来显示选中文件的属性(如存档、隐藏、只读和系统等),最后通过代码Form1.Text3.Text = FileDateTime(Fname)显示选中文件的修改时间。

显示选中文件基本信息后的窗体如图5-20所示。

5-20  显示选中文件基本信息后的窗体

6.拖动文件

注意:

@        在程序运行的过程中,当用户在文件控件File1中按下鼠标左键时,鼠标的形状就会改变,当把选中文件拖动到目录显示控件Dir1中时,程序就会自动的删除指定的文件。

为此,在程序设计的过程中,在窗体上双击左键,在屏幕上就会弹出一个代码窗口,在代码窗口对象列表中分别选择控件File1Dir1,在对应的事件列表中选择Private Sub File1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)事件和Private Sub Dir1_DragDrop(Source As Control, X As Single, Y As Single)事件,把光标移动到事件处理过程中,并且添加如下所示的事件响应代码:

Private Sub File1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

File1.DragIcon = Drive1.DragIcon

File1.Drag

'开始拖动

End Sub

Private Sub Dir1_DragDrop(Source As Control, X As Single, Y As Single)

……

Kill Fname

'删除拖动文件

Form1.File1.Refresh

End Sub

在程序运行的过程中,当用户在文件显示控件File1上按下鼠标左键时,就会激活控件的Private Sub File1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)事件,程序通过语句File1.Drag开始了选中文件的拖动操作,当把选中文件拖动到目录显示控件Dir1中时,就会激活控件的Private Sub Dir1_DragDrop(Source As Control, X As Single, Y As Single)事件,通过语句Kill Fname删除指定的文件,最后通过代码Form1.File1.Refresh刷新删除文件后的文件显示控件。拖动文件时的窗体如图5-21所示。

5-21  拖动文件时的窗体

7.运行程序

按照程序清单所示添加剩余的程序代码,用鼠标选择菜单“文件”中的“保存”来存储文件,然后在键盘上按下功能键F5运行程序,程序运行初始画面如图5-22所示。

5-22  程序运行初始画面

在程序运行的过程中,用户可以选择计算机上的任何一个有效的驱动器和其中的目录,同时还可以显示选中文件的大小和修改事件等信息,还可以对选中文件进行拖动操作,程序运行结果如图5-23所示。

5-23  程序运行结果


字数:11510    最后更新:1年以前 [08-29 13:36]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第五章  [后一页]:第五章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号