用VB实现文件查找功能

2016-02-19 17:56 44 1 收藏

今天图老师小编给大家精心推荐个用VB实现文件查找功能教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】

在VB中要实现查找文件功能,我们可以利用VB的DIR函数进行递归来实现。每次使用DIR函数后,比较是否有要查找的文件,再检查是否有子目录,若有,利用递归继续查找,这样可对整个盘进行查找。
  下面是一个例子,查找DOS目录下的所有EXE文件,统计EXE文件的数目并列出文件名。本程序会查找当前路径下的所有文件和子目录,与WIN95的“包含子文件夹”的查找功能类似。
  程序与注释如下:
  1.在窗体中加一命令按钮Command1,Caption=查找示例,双击此按钮,写如下代码:
  PrivateSubCommand1-Click()
  Dimff()AsString′定义一个字符串数组用来保存找到的文件名称
  DimfnAsLong′保存找到的文件数目
  fn=TreeSearch(″C:%%dos″,″*.exe″,ff())
  Print″找到文件数目为″;fn
  ForI=1Tofn
  Printff(I)
  Next
  EndSub
  2.插入一模块Modulel.bas,写如下代码:
  OptionExplicit
  PublicFunctionTreeSearch(ByValsPathAsString,ByValsFileSpecAsString,sFiles()AsString)
  AsLong
  Static1FilesAsLong′文件数目
  DimsDir AsString
  DimsSubDirs()AsString′存放子目录名称
  Dim1IndexAsLong
  IfRight(sPath,1)″%%″ThensPath=sPath&″%%″
  sDir=Dir(sPath&sFileSpec)
  ′获得当前目录下文件名和数目
  DoWhileLen(sDir)
  1Files=1Files+1
  ReDimPreservesFiles(1To1Files)
  sFiles(1Files)=sPath&sDir
  sDir=Dir
  Loop
  ′获得当前目录下的子目录名称
  1Index=0
  sDir=Dir(sPath&″*.*″,16)
  DoWhileLen(sDir)
  IfLeft(sDir,1)″.″Then′skip.and..
  ′找出子目录名
  IfGetAttr(sPath&sDir)AndvbDirectoryThen
  1Index=lIndex+1
  ′保存子目录名
  RedimPreservesSubDirs(1To1Index)
  sSubDirs(1Index)=sPath&sDir&″%%″
  EndIf
  EndIf
  sDir=dir
  Loop
  For1Index=1To1Index
  ′查找每一个子目录下文件,这里利用了递归
  CallTreeSearch(sSubDirs(1Index),sFileSpec,sFiles())
  Next1Index
  TreeSearch=1Files
  EndFunction
  3.保存文件,按F5运行,单击命令按钮即可。
  程序运行环境:VB4.0(32位),中文WIN95。->

来源:http://www.tulaoshi.com/n/20160219/1616406.html

延伸阅读
在某些情况下,例如编写游戏,或将要进行一项非常冗长的过程, 可以通过播放音乐来增加游戏的声光效果或是减少漫长的等待所带来 的困倦。本文介绍如何在Visual Basic 中播放声音文件。 在Windows系统中支持的声音文件有WAV文件和MIDI文件,通常使 用Windows应用程序编程接口(API)函数可以对MIDI文件进行播放;而 使用API函数sndPlaySound...
用VB实现程序的隐形 在一些系统,为了特定目的,经常要求程序隐藏起来运行,例如DCS(集散控制系统)中的后台监控系统、木马控制程序、源码防拷贝等,以减少被发现、截杀和反汇编的风险。这种功能模块要求程序在运行期间不仅不会在桌面出现,也不允许被操作者从任务管理器列表中发现。 程序隐形的原理 对于一个隐形程...
标签: ASP
  有一天我突发奇想,要是我每到一个网站,那里都能立刻调出我需要看的信息,那岂非美妙得很。接下来我想更深入地考虑这个问题,坐到椅子上拿一支铅笔,却不知道自己写什么。如此一来,我还是得着手对付代码它们。   我的朋友开了一个小型站点,原本是我设计的。这是个检验我想法的好平台。所以我写出代码,上传了文件...
内容:讨论如何在用VB编写的记事中实现自动将日志添加到文档尾部、判断保存还是另存为、确认文件是否需要保存等功能。 Windows自带的记事本即Notepad有一些功能还是颇具吸引力的,比如自动在特定的文档尾部加入计算机时钟的时间和日期,截取已经打开或者保存了的纯文档名[见记事本的标题栏]以及搜索等,给用户带来许多方便。本文就Text...
代码如下: # include vector # include iostream # include set using namespace std; int main(int argc, char * argv[]) { vectorint v; //找一些数据来测试 for (int i = 0; i 50; i++) v.push_back(rand() % 25); for (int i = 0; i 50; i++) { cout v[i] '\t'; if ((i + 1) % 10 == 0) cout endl; } cout endl; ...

经验教程

698

收藏

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