非遞歸算法遍歷目錄
.版本 2.支持庫 shell.支持庫 EDataStructure.支持庫 iext.程序集 窗口程序集1.子程序 _按鈕_瀏覽_被單擊編輯框_目錄.內(nèi)容 = 瀏覽文件夾 (“選擇目錄:”, 假).子程序 枚舉文件.參數(shù) 目錄, 文本型.局部變量 隊(duì)列, 隊(duì)列.局部變量 節(jié)點(diǎn), 節(jié)點(diǎn).局部變量 節(jié)點(diǎn)1, 節(jié)點(diǎn).局部變量 路徑, 文本型.局部變量 文件夾名稱, 文本型.局部變量 文件名, 文本型.局部變量 文件數(shù)目, 整數(shù)型節(jié)點(diǎn).加入屬性 (“path”, 目錄)' 把初始目錄加到隊(duì)列隊(duì)列.壓入 (節(jié)點(diǎn)).判斷循環(huán)首 (隊(duì)列.是否為空 () = 假) ' 彈出隊(duì)列最前一個(gè)元素作為目錄,對(duì)該目錄進(jìn)行文件夾枚舉和文件枚舉 隊(duì)列.彈出 (節(jié)點(diǎn)1) 節(jié)點(diǎn)1.取文本值 (“path”, 路徑) 路徑 = 選擇 (取文本右邊 (路徑, 1) ≠ “/”, 路徑 + “/”, 路徑) 文件夾名稱 = 尋找文件 (路徑 + “*.*”, #子目錄) .判斷循環(huán)首 (文件夾名稱 ≠ “”) .如果真 (文件夾名稱 ≠ “.” 且 文件夾名稱 ≠ “..”) ' 如果在當(dāng)前目錄下找到了文件夾,則把該文件夾壓入到隊(duì)列,等待掃描該文件夾的下一級(jí)目錄和文件名 節(jié)點(diǎn).修改屬性 (“path”, 路徑 + 文件夾名稱) 隊(duì)列.壓入 (節(jié)點(diǎn)) .如果真結(jié)束 文件夾名稱 = 尋找文件 (, #子目錄) .判斷循環(huán)尾 () 處理事件 () ' 尋找當(dāng)前目錄的所有文件 文件名 = 尋找文件 (路徑 + “*.*”, ) .判斷循環(huán)首 (文件名 ≠ “”) 超級(jí)列表框1.插入表項(xiàng) (, 路徑 + 文件名, , , , ) 文件數(shù)目 = 文件數(shù)目 + 1 標(biāo)簽3.標(biāo)題 = 到文本 (文件數(shù)目) 文件名 = 尋找文件 (, ) .判斷循環(huán)尾 ().判斷循環(huán)尾 ().子程序 _按鈕_枚舉_被單擊超級(jí)列表框1.全部刪除 ()枚舉文件 (編輯框_目錄.內(nèi)容)信息框 (“完畢!”, 0, )
運(yùn)行結(jié)果:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VeVb武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答