说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB中自制文件搜索器

HTML文档下载 WORD文档下载 PDF文档下载
VB中自制文件搜索器

从WINDOWS 95开始,微软为我们提供了一个好用的文件搜索器。使用这个搜索器,我们可以方便快捷的查找到符合条件的文件。但有时我们在程序设计中也需要这一功能,能否在自己的程序中实现呢?答案当然是肯定的。下面我们就来着手设计一个VB程序中的文件搜索器。
首先,进入VB中,建立一个新的表单。在表单上建立一个驱动器列表框(DriveList),一个目录列表框(FolderList),一个检查框(SubCheck),一个ListView控件(FileList),两个文本框(FileName,FileSize)和两个按钮(cmdSearch,cmdExit)。需要注意的是ListView 控件是 Mscomctl.ocx 文件中一组 ActiveX 控件的一部分。若要在应用程序中使用 ListView 控件,必须将 Mscomctl.ocx 文件添加到工程中。选择ListView控件,点击鼠标右键,在弹出菜单中选择“属性”。在属性窗口的“列首”页中设置将要显示的列,连续按动“插入列”5次。排列好各控件的位置,然后加入以下代码:
Option Explicit
Dim FileSys As Scripting.FileSystemObject

Private Sub CmdExit_Click()
End
End Sub

Private Sub DriveList_Change()
FolderList.Path = DriveList
End Sub

Private Sub Form_Load()
Dim I As Integer
Set FileSys = New Scripting.FileSystemObject
FolderList.Path = Left(DriveList.Drive, 2) & "\"
With FileList.ColumnHeaders.Item(1)
.Alignment = lvwColumnLeft
.Text = "文件名"
.Width = 2000
End With
With FileList.ColumnHeaders.Item(2)
.Alignment = lvwColumnRight
.Text = "大小(KB)"
.Width = 1500
End With
With FileList.ColumnHeaders.Item(3)
.Alignment = lvwColumnLeft
.Text = "类型"
.Width = 1500
End With
With FileList.ColumnHeaders.Item(4)
.Alignment = lvwColumnLeft
.Text = "路径"
.Width = 2000
End With
With FileList.ColumnHeaders.Item(5)
.Alignment = lvwColumnLeft
.Text = "修改时间"
.Width = 2000
End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set FileSys = Nothing
End Sub

Private Sub cmdSearch_Click()
Dim SFolderStart As Scripting.Folder
Set SFolderStart = FileSys.GetFolder(FolderList.Path)
FileList.ListItems.Clear
AddFiles SFolderStart
If FileList.ListItems.Count = 0 Then MsgBox _
"没找到任何符合条件的文件!",vbOKOnly + vbInformation, "提示信息"
End Sub

Private Sub AddFiles(SFolderSearch As Scripting.Folder)
Dim SFolder As Scripting.Folder
Dim SFile As Scripting.File
Dim sngFileSize As Single
Dim lngSize As Long
Dim Itm As ListItem
If SubCheck.Value = 1 Then
If SFolderSearch.SubFolders.Count Then
For Each SFolder In SFolderSearch.SubFolders
AddFiles SFolder
Next SFolder
End If
End If
sngFileSize = FileSize * 1000
For Each SFile In SFolderSearch.Files
With SFile
If .Size >= sngFileSize And IIf(FileName.Text < > "", _
InStr(.Name, FileName.Text) > 0, True) Then
Set Itm = FileList.ListItems.Add(Text:=.Name)
lngSize = .Size / 1000
With Itm
.SubItems(1) = Format(lngSize, "#,###")
.SubItems(2) = SFile.Type
.SubItems(3) = SFile.ParentFolder
.SubItems(4) = SFile.DateLastModified
End With
End If
End With
Next SFile
Set Itm = Nothing
Set SFolder = Nothing
End Sub
运行后,选择相应目录,再在FileName文本框中输入要查找的文件名或文件名的一部分,然后再在FileSize文本框中输入文件的大小,按下搜索按钮即可搜索到相应文件。当然,这只是个功能较为简单的文件搜索器,有兴趣的读者可以使用Scripting.FileSystemObject对象的属性为其添加一些更为有用的功能。


让Dreamweaver支持cshtml (MVC Razor环境) iOS付费榜首:日历应用Fantastical开发者专访 玩转AdMob移动广告:捕鱼达人的猎财之道 12306抢票插件拖垮GitHub 展望2013 jQuery核心团队成员谈其发展路线 Facebook社交视觉搜索分析:引入“竞价排名”? 移动广告现状5大问题解析 Google将于月底举行Google Glass开发者大赛 分享29个超赞的响应式Web设计 Facebook图谱搜索和谷歌搜索有何不同? Facebook向美国iPhone用户提供免费电话 VMware CTO Steve Herrod离职 加盟风险投资公司 维基百科基金会推出众包旅游项目Wikivoyage 最舒适程序员:工作外包给中国 自己却偷懒 Evernote正在与苹果联合开发硬件记忆工具,未来两年公司上市 Fusion-io发布ioScale 全闪存数据中心时代到来? Agent Dash游戏设计之美:如何用2D打造3D体验? 开源项目文档应规避的13处“硬伤” 李开复:Graph Search将可与谷歌搜索媲美 月成本3500美元 如何在AWS上实现BBVA信用卡低延时分析 外媒眼中的国内互联网巨头:服务器集群庞大但缺乏创新 Facebook主导通用主板+SoC ARM与Intel同台对抗 假如像招聘程序员那样租车…… CrowdStar:Windows Phone 8是开发者的下一片蓝海 腾讯云总经理陈磊透露流量变现计划 将比亚马逊AWS更专注 代码之美——Doom3源代码赏析 英特尔公布2012财年财报 Q4净利润同比下滑27% 谷歌CEO佩奇:创新重于竞争 关注非增量改进 再尝败绩 微软杀软AV-TEST反病毒认证失败 财富:2013最佳雇主 谷歌第一微软75苹果未入榜 移动应用注册表单必死! 紧急求助,如何识别我的邮件服务器正在向处发大量的垃圾邮件,我用的是MDaemon6.03,详情见里面,来者有分. 想对Corba交流的,就来登记一下吧?我的MSN pepo8000@hotmail.com 这个程序没有错误, 请问这个东西是什么? 世纪难题(请高手救命) editplus 怎么去掉 自动保存.bak文件 weblogic蔡鸟求教 我用NMUDP,用try...except...也无法截获“stream write error”,怎么办? windows 20003 的计算机之间可以ping通但是不可以在网上邻居访问 关于备份方式的选择问题,大家中秋快乐!! 如何控制IE的工具条,比如刷新按钮! EJB客户机与Servlet访问eJB的速度的比较 请问如何写一个dll给pb调用啊!比如调用MessageBox()的功能 用javascript或vbscript如何控制radio单选按钮? 菜鸟初学问题,查询两个数据库同一表格中某一字段重复的记录呢? 哪位大哥帮我看看,怎么配置 中秋节送分咯!!!! 如何在winform的datagrid中的cell里面截获keypress事件? 征集创意:在手机短信上还能开展什么新的,有商业价值的业务?就是大家潜在需要而没被开发出的业务。 怎样用c语言驱动1台modem拨通另一台modem? CSDN的朋友们,心中的困惑还需你们的热心帮助。 pb中处理数组的大问题sossos CVS登陆不上 请问各位,现在用什么软件配合.NET做界面设计比较方便一点? 什么操作系统最好? 在一个页面中把串%ba%ba%d7%d7还原为中文字,,用JAVASCRIPT来实现,, 与数据采集设备的通讯问题!!!!!!up有分,高手请进! 中秋节了,发薪水了,散分 讨论:关于Notes数据库隐藏设计的问题 大家中秋快乐,有关内存的释放问题,急急... 送分贴,翻译 更改文件属性的API如何定义? 谁能告诉我这是怎么回事?? treeview显示不正常 Applet问题 Asp程序无法访问远程XML文件 想建立一个公司内部的拔号服务器,像163/169那样?? 问两个简单的C语言问题 如何控制IE的工具条,比如刷新按钮! applet显示问题 新手:关于GDI,怎样取窗口非Client区域的DC? 使用asp连接webservice,实现短信的插入,发送,2003操作系统msxml3.dll 错误 '8000000a' ,2000没事 DataSet或DataView中如何实现类似数据库命令 LIKE 的筛选功能? 如何删除ini中的某个Section 祝大家中秋节快乐!怎么在日志组中增加日志文件?? 使用5xsoft upload组件上传到服务器时,如何检查里面是否包含危险代码? 中秋快乐,关于内存释放问题 内存分配存在的问题 怎么设计ADSL的路由!! javaben的释放问题 用NMUDP如何在Client端和Server端之间传递对象呢? 为什么程序员没人爱? 如图,已知BO=2DO,CO=5AO,阴影部分的面积是11平方厘米,求四边形ABCD的面积. 如图,BO=2DO,CO=5AO,甲乙面积之和是11cm,四边形ABCD面积是多少 三个臭皮匠,赛过诸葛亮Many --- are better than one 具体步骤用笔写在纸上发过来 用笔写在纸上发过来 thre are_____(many)highrises in big_____(city)than in small____(one). 暑假见闻作文开头和结尾(急!别抄) 作文开头结尾抄了,算抄袭么抄的是一个名人的文章,四百字左右,会的多少分,算抄袭么五十分可以拿几分? 到底什么叫斗纹和萁纹如题 我想问:人的指纹的斗、弧、萁与智商有何关系? 谁能给我解释一下这两个签?东南西北尽皆通,出姓移名更觉隆,衣禄无亏天数定,中年晚景一般同.此命般般事不成,兄弟少力自孤成,虽然祖业须微有,来的明时去的暗. 科普:人情冷暖,源自情绪好恶77岁贝卢斯科尼被曝与28岁女友秘密日本众议院通过自卫队法修正案日大学毕业生3年内辞职率高 官方疑企安倍晋三警卫车队连续两天发生交通事故新加坡两名少年不满被人抱怨挥棍打人被美国迷你航天机“追梦者”试飞降落时滑日本将设国家安全局 拟任命民间人士担美一女子7年对残障男友不离不弃感动众美售P3C首架飞机抵台 马英九称与日10月百城住宅均价环比上涨1.24%金科商业 发布第三代产品燃气公司和一户业主扯皮 33户业主被狗急了要跳墙 鱼急了会怎样? 飞出来爱国父子,国之重器国际万达 百年企业他到厦门开重庆火锅 有人拿勺舀汤喝◎喜欢不要随便说说,你行你就上啊◎不要以朋友的身份默默爱对方◎15个微信号,活出自己的完美人生◎“哼!”◎一封信测出你喜欢哪类人!准哭!十剑客剑灭万天困龙奋舞网游之白龙传说异界名利心轻音少女之最强呆唯轮碾雄鹰梦幻西游之剑帝开天途蓝色的眼眸龙麒之战红花尔基旅游越南旅游堂安侗寨旅游腾格里沙漠湿地旅游皖西大裂谷旅游阿陀岭旅游兴隆温泉旅游博鳌禅院旅游金塘岛旅游古神道旅游百脉泉旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘