非遞歸算法遍歷目錄
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
.版本 2 .支持庫 shell .支持庫 EDataStructure .支持庫 iext .程序集 窗口程序集1 .子程序 _按鈕_瀏覽_被單擊 編輯框_目錄.內(nèi)容 = 瀏覽文件夾 (“選擇目錄:”, 假) .子程序 枚舉文件 .參數(shù) 目錄, 文本型 .局部變量 隊列, 隊列 .局部變量 節(jié)點, 節(jié)點 .局部變量 節(jié)點1, 節(jié)點 .局部變量 路徑, 文本型 .局部變量 文件夾名稱, 文本型 .局部變量 文件名, 文本型 .局部變量 文件數(shù)目, 整數(shù)型 節(jié)點.加入屬性 (“path”, 目錄) ' 把初始目錄加到隊列 隊列.壓入 (節(jié)點) .判斷循環(huán)首 (隊列.是否為空 () = 假) ' 彈出隊列最前一個元素作為目錄,對該目錄進行文件夾枚舉和文件枚舉 隊列.彈出 (節(jié)點1) 節(jié)點1.取文本值 (“path”, 路徑) 路徑 = 選擇 (取文本右邊 (路徑, 1) ≠ “\”, 路徑 + “\”, 路徑) 文件夾名稱 = 尋找文件 (路徑 + “*.*”, #子目錄) .判斷循環(huán)首 (文件夾名稱 ≠ “”) .如果真 (文件夾名稱 ≠ “.” 且 文件夾名稱 ≠ “..”) ' 如果在當前目錄下找到了文件夾,則把該文件夾壓入到隊列,等待掃描該文件夾的下一級目錄和文件名 節(jié)點.修改屬性 (“path”, 路徑 + 文件夾名稱) 隊列.壓入 (節(jié)點) .如果真結(jié)束 文件夾名稱 = 尋找文件 (, #子目錄) .判斷循環(huán)尾 () 處理事件 () ' 尋找當前目錄的所有文件 文件名 = 尋找文件 (路徑 + “*.*”, ) .判斷循環(huán)首 (文件名 ≠ “”) 超級列表框1.插入表項 (, 路徑 + 文件名, , , , ) 文件數(shù)目 = 文件數(shù)目 + 1 標簽3.標題 = 到文本 (文件數(shù)目) 文件名 = 尋找文件 (, ) .判斷循環(huán)尾 () .判斷循環(huán)尾 () .子程序 _按鈕_枚舉_被單擊 超級列表框1.全部刪除 () 枚舉文件 (編輯框_目錄.內(nèi)容) 信息框 (“完畢!”, 0, ) |
運行結(jié)果:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,謝謝大家對服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接