非遞歸算法遍歷目錄
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 .子程序 _按鈕_瀏覽_被單擊 編輯框_目錄.內容 = 瀏覽文件夾 (“選擇目錄:”, 假) .子程序 枚舉文件 .參數 目錄, 文本型 .局部變量 隊列, 隊列 .局部變量 節點, 節點 .局部變量 節點1, 節點 .局部變量 路徑, 文本型 .局部變量 文件夾名稱, 文本型 .局部變量 文件名, 文本型 .局部變量 文件數目, 整數型 節點.加入屬性 (“path”, 目錄) ' 把初始目錄加到隊列 隊列.壓入 (節點) .判斷循環首 (隊列.是否為空 () = 假) ' 彈出隊列最前一個元素作為目錄,對該目錄進行文件夾枚舉和文件枚舉 隊列.彈出 (節點1) 節點1.取文本值 (“path”, 路徑) 路徑 = 選擇 (取文本右邊 (路徑, 1) ≠ “\”, 路徑 + “\”, 路徑) 文件夾名稱 = 尋找文件 (路徑 + “*.*”, #子目錄) .判斷循環首 (文件夾名稱 ≠ “”) .如果真 (文件夾名稱 ≠ “.” 且 文件夾名稱 ≠ “..”) ' 如果在當前目錄下找到了文件夾,則把該文件夾壓入到隊列,等待掃描該文件夾的下一級目錄和文件名 節點.修改屬性 (“path”, 路徑 + 文件夾名稱) 隊列.壓入 (節點) .如果真結束 文件夾名稱 = 尋找文件 (, #子目錄) .判斷循環尾 () 處理事件 () ' 尋找當前目錄的所有文件 文件名 = 尋找文件 (路徑 + “*.*”, ) .判斷循環首 (文件名 ≠ “”) 超級列表框1.插入表項 (, 路徑 + 文件名, , , , ) 文件數目 = 文件數目 + 1 標簽3.標題 = 到文本 (文件數目) 文件名 = 尋找文件 (, ) .判斷循環尾 () .判斷循環尾 () .子程序 _按鈕_枚舉_被單擊 超級列表框1.全部刪除 () 枚舉文件 (編輯框_目錄.內容) 信息框 (“完畢!”, 0, ) |
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接