文件系统控件方案

2016-02-19 13:33 0 1 收藏

下面是个简单易学的文件系统控件方案教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - 编程语言 】

  文件系统控件方案:文件搜索器
  应用程序因为用户常常希望快速查找应用程序的可用文件或文件组,所以,许多应用程序都提供查询文件系统的功能。Winseek.vbp示例应用程序协助用户浏览驱动器和目录并显示所有类型的文件。
  
  下表总结了WinSeek应用程序在Seek.frm窗体中使用的控件。
   
  注意文件系统控件没有caption属性,虽然可为它们加标签并指定访问键。关于这种使用标签的方法的详细信息,请参阅本章后面的“使用Label控件”一节。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  编写WinSeek应用程序的代码
  用鼠标单击驱动器列表框中的项目就会触发Change事件。当用户选定项目并接着改变窗体上的焦点时也将触发Change事件。在目录列表框中,需要DblClick事件生成Change事件。
  当用户不想用鼠标变更目录时,通常使用箭头键选定需要的目录,然后按ENTER键。
  因为ENTER键通常与缺省CommandButton控件关联,所以,WinSeek必须识别用户在何时只是想变更目录而不搜索文件。
  通过判断dirList列表框的路径是否不同于当前突出显示的目录,WinSeek应用程序解决了这个问题。当用户单击目录列表框中的项目或用箭头键在目录列表框中移动时,可能发生这种情况。下列代码判断dirList.Path是否与突出显示的目录不同。若不同,则更新dirList.Path。若相同,则执行搜索操作。
  PrivateSubcmdSearch_Click()
    .
    .
    .
  '若dirList.Path与当前选定目录不同,
  '则执行更新操作;否则执行'搜索操作。
  IfdirList.PathdirList.List(dirList.ListIndex)Then
    dirList.Path=dirList.List(dirList.ListIndex)
    ExitSub
  EndIf
  '继续搜索。
    .
    .
    .
  EndSub
  WinSeek应用程序使用下述过程处理重要的事件:
  drvList_Change过程
  dirList_Change过程
  cmdSearch_Click过程
  
  DriveListBox控件的Change事件
  当用户单击驱动器列表框的项目时就会生成控件的Change事件。此时将调用drvList_Change事件过程并运行下述代码:  PrivateSubdrvList_Change()
     OnErrorGoToDriveHandler
     '若选定新驱动器,则Dir1列框'更新显示。
     dirList.Path=drvList.Drive
     ExitSub
  '若发生错误,则用dirList.Path重新设置drvList.Drive。
   DriveHandler:
     drvList.Drive=dirList.Path
     ExitSub
   EndSub
   注意,无论用鼠标单击还是移动选项(例如,利用箭头键移动),在选定新驱动器时都将在驱动器列表框中发生Change事件。试图访问未关闭驱动器门的软盘驱动器,或者选定一个无意中已切断连接的网络驱动器,诸如此类的操作都将触发错误处理程序。因为出错后不能按原先的安排赋值,所以dirList.Path仍包含先前的有效驱动器。将dirList.Path重新赋予drvList.Drive后就可更正这个错误。
  详细信息请参阅第十三章“调试代码和处理错误”。
  
  DirListBox控件的Change事件
  如果用户双击目录列表框中的项目或在代码中(如drvList_Change过程中)变更dirList的Path属性,就会启动dirList_Change事件。下列代码响应此事件:
  PrivateSubdirList_Change()
     '更新文件列表框,以便与目录列表框同步。
     filList.Path=dirList.Path
  EndSub
  此事件过程将dirList列表框的Path属性赋予filList列表框的Path属性。这将在filList列表框中触发重新绘制的PathChange事件;不必在filList_PathChange过程中添加代码,因为此应用程序中的事件在filList列表框结束。

  CommandButton控件的Click事件
  此事件过程判断dirList列表框中突出显示的项目是否和dirList.Path相同。若项目不同,则更新dirList.Path;否则执行搜索操作。
  PrivateSubcmdSearch_Click()
    .
    .
    .
    '若dirList.Path与当前选定的目录不同,
    '则更新;否则执行搜索。
    IfdirList.PathdirList.List_
    (dirList.ListIndex)Then
     dirList.Path=dirList.List(dirList.ListIndex)
     ExitSub
    EndIf
    '继续搜索。
    .
    .
    .
  EndSub
  注意可用附加功能增强WinSeek应用程序。例如会出现这样的情况,希望使用文件控件的属性。这时可通过使用复选框使用户设置文件属性的不同组合,以使文件列表框显示Hidden、System等等属性的文件。这将把搜索限制在满足条件的文件中。
  

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)->

来源:https://www.tulaoshi.com/n/20160219/1604613.html

延伸阅读
前面介绍的缓冲文件系统是借助文件结构体指针来对文件进行治理,通过文件指针来对 文件进行访问,既可以读写字符、字符串、格式化数据,也可以读写二进制数据。非缓冲文 件系统依靠于操作系统,通过操作系统的功能对文件进行读写,是系统级的输入输出,它不 设文件结构体指针,只能读写二进制文件,但效率高、速度快,由于A N...
标签: 电脑入门
计算机系统中的文件千千万万,如果没有进行分类的话就会变得杂乱无章,使用起来也十分不方便,而文件系统就能很好的分类存放各类文件,下面图老师小编就给大家详细介绍下Linux文件系统,一起来学习下吧。 对于计算机来说,所谓的数据就是0和1的序列。这样的一个序列可以存储在内存中,但内存中的数据会随着关机而消失。为了将数据长久保存,我...
虚拟文件系统蓝森林 http://www.lslnet.com 2001年5月20日 21:16作 者: difeijingRichard Gooch 23-APR-1999翻译:difeijing 本文档中的惯例用法 ==================文档中的每一节标题的右边都有一个字符串" "。每个小节都会有个" "在右边。这些字符串是为了在文档中查询更容易而设的。注意:本文档的最新更新可在下...
标签: 服务器
Linux文件系统基本结构   Linux的文件系统结构 Linux文件系统为一个倒转的单根树状结构 文件系统的根为"/" 文件系统严格区分大小写 路径使用/来分割,在windows使用"" 当前工作目录 1 每一个shell或系统进程都有一个当前工作目录 2 使用pwd命令可以显示当前的工作目录 ...
    简介 ReiserFS文件系统是一种新的linux文件系统。它通过一种与众不同的方式--完全平衡树结构来容纳数据, 包括文件数据,文件名以及日志支持,并能在上面继续保持很快的搜索速度和很高的效率。ReiserFS文件系统一直以来被用在高端Unix系统上如,SGI。 ReiserFS是在Hans Reiser和其领导下的开发小组下开发和发展,SuSE ...

经验教程

589

收藏

39
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部