1. 程式人生 > >易語言基礎——樹形框元件展示遍歷某個目錄

易語言基礎——樹形框元件展示遍歷某個目錄

1.實現效果

這裡寫圖片描述

2.原始碼

.版本 2
.支援庫 shell
.支援庫 iext
.支援庫 spec

.程式集 視窗程式集_啟動視窗
.程式集變數 程式集_檔案時間, 日期時間型, , "0"
.程式集變數 程式集_檔案尺寸, 文字型, , "0"
.程式集變數 程式集_檔名, 文字型, , "0"

.子程式 _按鈕_瀏覽_被單擊

編輯框_目錄.內容 = 瀏覽資料夾 (“選擇一個要遍歷的目錄”, )


.子程式 _按鈕_查詢_被單擊

樹型框1.清空 ()

子程式_查詢檔案 (編輯框_目錄.內容, -1)


.子程式 子程式_查詢檔案
.引數 待查詢的目錄, 文字型
.引數 父索引, 整數型, 可空
.區域性變數 找到的檔名, 文字型
.區域性變數 子程式_當前索引, 整數型
.區域性變數 分割出來的文字陣列, 文字型, , "0"
.區域性變數 引數_查詢目錄, 文字型 .如果真 (待查詢的目錄 = “”) 返回 () .如果真結束 .如果真 (取文字右邊 (待查詢的目錄, 1) ≠ “\”) 待查詢的目錄 = 待查詢的目錄 + “\” .如果真結束 .如果真 (是否為空 (父索引)) 父索引 = -1 .如果真結束 .如果真 (父索引 = -1) 分割出來的文字陣列 = 分割文字 (待查詢的目錄, “\”, ) 子程式_當前索引 = 樹型框1.加入專案 (父索引, 分割出來的文字陣列 [取陣列成員數 (分割出來的文字陣列)], 18, , , , ) 找到的檔名 = 尋找檔案 (待查詢的目錄, 1
241632) 加入成員 (程式集_檔名, 分割出來的文字陣列 [取陣列成員數 (分割出來的文字陣列)]) 加入成員 (程式集_檔案時間, 取檔案時間 (取文字左邊 (待查詢的目錄, 取文字長度 (待查詢的目錄) - 1))) 加入成員 (程式集_檔案尺寸, 到文字 (取檔案尺寸 (取文字左邊 (待查詢的目錄, 取文字長度 (待查詢的目錄) - 1))) + “B”) 父索引 = 父索引 + 1 .如果真結束 狀態條1.置文字 (1, 待查詢的目錄) 找到的檔名 = 尋找檔案 (待查詢的目錄 + “*.*”, 12416
32) .判斷迴圈首 (找到的檔名 ≠ “”) .如果真 (找到的檔名 = “.” 或 找到的檔名 = “..”) 找到的檔名 = 尋找檔案 (, 1241632) 到迴圈尾 () .如果真結束 除錯輸出 (找到的檔名) .判斷開始 (取檔案屬性 (待查詢的目錄 + 找到的檔名) = #子目錄) 子程式_當前索引 = 樹型框1.加入專案 (父索引, 找到的檔名, 18, , , , ) .預設 子程式_當前索引 = 樹型框1.加入專案 (父索引, 找到的檔名, 161, , , , ) .判斷結束 加入成員 (程式集_檔案時間, 取檔案時間 (待查詢的目錄 + 找到的檔名)) 加入成員 (程式集_檔案尺寸, 到文字 (取檔案尺寸 (待查詢的目錄 + 找到的檔名)) + “B”) 加入成員 (程式集_檔名, 找到的檔名) .如果真 (取檔案屬性 (待查詢的目錄 + 找到的檔名) = #子目錄) 子程式_查詢檔案 (待查詢的目錄 + 找到的檔名, 子程式_當前索引) 找到的檔名 = 尋找檔案 (, 1241632) 到迴圈尾 () .如果真結束 找到的檔名 = 尋找檔案 (, 1241632) 處理事件 () .判斷迴圈尾 () .子程式 _樹型框1_專案被選擇 .引數 選擇方式, 整數型 除錯輸出 (樹型框1.現行選中項) ' 除錯輸出 (程式集_檔名 [樹型框1.現行選中項 + 1], 程式集_檔案時間 [樹型框1.現行選中項 + 1], 程式集_檔案尺寸 [樹型框1.現行選中項 + 1]) 列表框1.清空 () 列表框1.加入專案 (程式集_檔名 [樹型框1.現行選中項 + 1], ) 列表框1.加入專案 (到文字 (程式集_檔案時間 [樹型框1.現行選中項 + 1]), ) 列表框1.加入專案 (到文字 (程式集_檔案尺寸 [樹型框1.現行選中項 + 1]), ) .子程式 __啟動視窗_建立完畢 狀態條1.置文字 (0, “搜尋的目錄:”)