毕业论文酷论文网  
论文网免费提供各类大量免费论文,毕业论文,论文开题报告,论文格式,英语论文.并提供各类毕业论文范文下载.做中国免费毕业论文范文的倡导者!
 论文首页  | 演讲交际口才 | 政史哲文艺术 | 法律毕业论文 | 电脑网络编程 | 邮电通信工程 | 高校教学论文 | 会计审计统计 | 理工农医学 | 物业房产环保 | 中小学论文 | 保险金融证券 | 综合经济理论 | 财政税务资料 | 工商企业管理 | 工民建设论文 | 其他论文资料 |
  当前位置:首页>理工农医学>理科论文>文章内容
含子目录的搜寻档案
来源: 作者: 发布时间:2007-03-28  
标题:非递回、无使用界面的档案搜寻
  一般来说,搜寻目录及子目录底下符合条件之所有档案功能的程式撰写,一向颇令人头疼,而最後的解决方式多用 Recursive(程式递回呼叫) 来解决,像 VB5.0所附的 WinSeek.vbp 范例,就是 FileListBox 和 Recursive 程序的兼用,来解决这个问题。
  本范例则用另一种思考模式切入,在不使用任何 OCX 及 Recursive 程序下利用两个非固定阵列变数及双层 Do...Loop 回圈解决这问题。本范例代表的含意是你把这段 Code 搬到无使用者可视界面的 Module 及 Class 里,一样可以执行(程式里的ListBox 及 MsgBox 只是为了解说方便而已,实际的资料已放入 FilePackage 这个动态阵列里,可以 Index 取用。)
  当然你不能拿 Windows95 提供的[寻找]功能的搜寻速度来要求本范例,因为那根本是两种不同的驱动方式,但我用 "c:\" 为搜寻启始目录,以 "*.*" 为条件来与 VB5.0 的范例程式 WinSeek.vbp 相比,WinSeek.vbp 是 2 分钟,我是 2.5 分钟。更值得一提的是,其实整个搜寻动作在 55 秒时已全部完成,剩下的时间都是用来显示 ListBox 资料。所以如果你的程式并不需要立即的显示查询结果,那麽本范例将比 WinSeek.vbp 更适合你使用。

(本免费论文文来自http://wwww.coollw.com)


  最後如果你觉得本程式有任何错误或有改进的意见,请写信给站长,站长会转信给我,在此先谢谢你了。

' Need a ListBox, CommandBox
Option Explicit

'宣告搜寻到的档案的储存阵列变数
Private FilePackage() As String

Private Sub Command1_Click()
'宣告存放目录名称储存阵列变数
Dim DirPackage() As String
'存放档案搜寻条件之字串
Dim SearchString As String
'接收 Dir() 传回字串,并做为回圈判断的字串
Dim DirString As String
'I 目前搜寻目录的指位器,J 是 DirPackage 目录阵列之上限指标
'K 是 FilePackage 之档案阵列之上限指标
Dim I As Long, J As Long, K As Long

'把 ListBox 的旧显示资料清掉
List1.Clear

'把 FilePackage 的上一次搜寻资料清掉
Erase FilePackage

'假设我们的搜寻从 C 碟根目录开始
ReDim DirPackage(0)
'路径结尾一定要加 "\"

本免费文转自http://wwww.coollw.com


DirPackage(0) = "c:\"

'假设我们的搜寻字串是 "*.exe"
SearchString = "*.exe"

'显示沙漏指标
Me.MousePointer = 11

'-------- 以下搜寻 C 碟里所有的目录 -----------------

'直到目录指位器 I 超过目录上限指标 J 才结束搜
*本免费文来自http://coollw.com*


共3页: 上一页 1 [2] [3] 下一页
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
 
  网站论文搜索

 

  推荐论文
 
  热点论文
·数控技术与产业发展途径探讨
·植物抗污染分化进化研究进展及其
  相关论文
·矿区天然气计量监控管理系统改造
·中国网上广播的现状与前瞻
·略论我国农用运输车产品技术发展
·交通运输对发展高速公路客运的思
·试论市场经济条件下地质勘查工作
·植物抗污染分化进化研究进展及其
·空气柱间陋装药爆破法
·中国电子商务中的EDI及其应用
·数控技术与产业发展途径探讨
·关于加快中国信息化进程的思考与
声明:本论文由《免费毕业论文范文网》收藏,版权为原作者所有,站长QQ:5264067。
鄂ICP备07008008号