国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
用遞歸法查找文件
首先介紹一下編程思路。該程序的核心是“遞歸”方法(Recursive Programing)——這是VB提供的一個(gè)強(qiáng)大的編程技術(shù),讓我們來看一看程序要做的事情:掃描一個(gè)文件夾(當(dāng)然也可以是一個(gè)具體的硬盤盤符)。如果該文件夾中沒有子文件夾,事情當(dāng)然就要好辦得多——問題是情形往往不是這樣,那我們該怎樣處理子文件夾呢?看來這是一個(gè)棘手的細(xì)節(jié),但一旦“遞歸”技術(shù)介入程序代碼,就能迎刃而解了(實(shí)際上,“遞歸”幾乎是解決這個(gè)問題的惟一方法)。

  具體做法是:編寫一個(gè)掃描文件夾(Scan),當(dāng)遇到子文件夾時(shí)中斷當(dāng)前文件夾的掃描,開始掃描子文件夾,即調(diào)用過程本身,如子文件夾中還有子文件夾,就采取相同的方法繼續(xù)調(diào)用過程,直至文件夾(子文件夾)中不再含有子文件夾為止。

  程序涉及的控件及需改變的缺省屬性如下:
  1.一個(gè)DriveListBox控件。
  2.一個(gè)DirListBox控件。
  3.一個(gè)ListBox控件,該控件用來顯示查找到的文件。
  4.兩個(gè)CommandButton控件。
  5.一個(gè)StatusBar控件,該控件用來顯示查找到的文件個(gè)數(shù),Style屬性置為1,SimpleText屬性置為“”。
  6.兩個(gè)OptionButton控件,其中Option1的Value屬性置為True。
  7.兩個(gè)TextBox控件,Text屬性都置為“”,其中Text1用來設(shè)置待查找文件的文件名,Text2用來設(shè)置待查找文件的擴(kuò)展名,Text2的Enabled置為False,MaxLength屬性置為3。
  8.兩個(gè)Frame控件。
  以下是程序清單:
  Option Explicit

  Public Sub scan(a As String)
  Dim filename As String
  Dim nd As Integer
  Dim fold() As String
  Dim n As Integer
  filename = Dir(a)
  Do While filename <> “”
  If Option1.Value =True Then
  If LCase(filename) = LCase(Text1.Text) Then
  List1.AddItem (a & filename)
  End If
  Else
  If LCase(Right(filename, 3)) = LCase(Text2.Text) Then
  List1.AddItem (a & filename)
  End If
  End If
  filename = Dir
  Loop
  filename = Dir(a, vbDirectory)
  Do While filename <> “”
  If filename <>“.” And filename <> “..” Then
  If GetAttr(a & filename) = vbDirectory Then
  nd = nd + 1
  ReDim Preserve fold(nd)
  fold(nd) = a & filename
  End If
  End If
  filename = Dir
  DoEvents
  Loop
  For n = 1 To nd
  scan fold(n) & “\”
  Next
  If List1.ListCount = 0 Then
  StatusBar1.SimpleText = “No file discovery”
  Else
  StatusBar1.SimpleText = List1.ListCount & “file(s) discovery”
  End If
  End Sub

  Private Sub Command1_Click()
  Dim searchfold As String
  List1.Clear
  StatusBar1.SimpleText = “”
  If Right(Dir1.Path, 1) = “\” Then
  searchfold = Left(Dir1.Path, 2)
  Else
  searchfold = Dir1.Path
  End If
  Me.MousePointer = vbHourglass
  scan searchfold & “\”
  Me.MousePointer = vbDefault
  End Sub

  Private Sub Command2_Click()
  Unload Me
  End Sub

  Private Sub Drive1_Change()
  On Error GoTo a
  Dir1.Path = Drive1.Drive
  Exit Sub
  a:
  If Left(Drive1.Drive, 1) = “a” Then
  MsgBox “Floppy drive is not be ready!”, vbCritical
  End If
  End Sub

  Private Sub Option1_Click()
  Text1.Enabled = True
  Text2.Enabled = False
  End Sub

  Private Sub Option2_Click()
  Text1.Enabled = False
  Text2.Enabled = True
  End Sub

  最后,再對程序代碼作進(jìn)一步的說明:
  1.過程(Scan)的參數(shù)a由DirListBox控件的選項(xiàng)決定,可以是硬盤盤符,如C:\(掃描整個(gè)分區(qū)),也可以是目錄路徑,如C:\Windows(僅掃描該目錄)。
  2.Dir函數(shù)是過程中的關(guān)鍵。該函數(shù)的作用是查找任何驅(qū)動(dòng)器上的文件或目錄。如果調(diào)用帶參數(shù)的Dir函數(shù)再調(diào)用不帶參數(shù)的Dir函數(shù),則函數(shù)將從當(dāng)前要搜索的目錄中返回與上一次指定參數(shù)相匹配的下一個(gè)文件,這就使遍歷一個(gè)目錄中的所有文件成為可能。
  3.程序中的錯(cuò)誤處理語句:On Error GoTo a不能省略。這是因?yàn)槿绻涷?qū)中沒有軟盤,Drive1_Change()過程會(huì)出錯(cuò)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VBA文件及文件夾操作
VB編程常見問題_VB系統(tǒng)和窗體控制_VB程序設(shè)計(jì)
一、VB語句獲取文件夾、文件路徑
MSHFLEXGRID控件講座(2).網(wǎng)格的編輯,保存與加載 VB / 控件 - CSDN...
VBA實(shí)用小程序72:遍歷文件夾(和子文件夾)中的文件
VBA: 通過Dir函數(shù)查找指定文件
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服