易語言基礎——樹形框元件展示遍歷某個目錄
阿新 • • 發佈:2018-12-26
1.實現效果
2.原始碼
.版本 2
.支援庫 shell
.支援庫 iext
.支援庫 spec
.程式集 視窗程式集_啟動視窗
.程式集變數 程式集_檔案時間, 日期時間型, , "0"
.程式集變數 程式集_檔案尺寸, 文字型, , "0"
.程式集變數 程式集_檔名, 文字型, , "0"
.子程式 _按鈕_瀏覽_被單擊
編輯框_目錄.內容 = 瀏覽資料夾 (“選擇一個要遍歷的目錄”, )
.子程式 _按鈕_查詢_被單擊
樹型框1.清空 ()
子程式_查詢檔案 (編輯框_目錄.內容, -1)
.子程式 子程式_查詢檔案
.引數 待查詢的目錄, 文字型
.引數 父索引, 整數型, 可空
.區域性變數 找到的檔名, 文字型
.區域性變數 子程式_當前索引, 整數型
.區域性變數 分割出來的文字陣列, 文字型, , "0"
.區域性變數 引數_查詢目錄, 文字型
.如果真 (待查詢的目錄 = “”)
返回 ()
.如果真結束
.如果真 (取文字右邊 (待查詢的目錄, 1) ≠ “\”)
待查詢的目錄 = 待查詢的目錄 + “\”
.如果真結束
.如果真 (是否為空 (父索引))
父索引 = -1
.如果真結束
.如果真 (父索引 = -1)
分割出來的文字陣列 = 分割文字 (待查詢的目錄, “\”, )
子程式_當前索引 = 樹型框1.加入專案 (父索引, 分割出來的文字陣列 [取陣列成員數 (分割出來的文字陣列)], 18, , , , )
找到的檔名 = 尋找檔案 (待查詢的目錄, 1 + 2 + 4 + 16 + 32)
加入成員 (程式集_檔名, 分割出來的文字陣列 [取陣列成員數 (分割出來的文字陣列)])
加入成員 (程式集_檔案時間, 取檔案時間 (取文字左邊 (待查詢的目錄, 取文字長度 (待查詢的目錄) - 1)))
加入成員 (程式集_檔案尺寸, 到文字 (取檔案尺寸 (取文字左邊 (待查詢的目錄, 取文字長度 (待查詢的目錄) - 1))) + “B”)
父索引 = 父索引 + 1
.如果真結束
狀態條1.置文字 (1, 待查詢的目錄)
找到的檔名 = 尋找檔案 (待查詢的目錄 + “*.*”, 1 + 2 + 4 + 16 + 32)
.判斷迴圈首 (找到的檔名 ≠ “”)
.如果真 (找到的檔名 = “.” 或 找到的檔名 = “..”)
找到的檔名 = 尋找檔案 (, 1 + 2 + 4 + 16 + 32)
到迴圈尾 ()
.如果真結束
除錯輸出 (找到的檔名)
.判斷開始 (取檔案屬性 (待查詢的目錄 + 找到的檔名) = #子目錄)
子程式_當前索引 = 樹型框1.加入專案 (父索引, 找到的檔名, 18, , , , )
.預設
子程式_當前索引 = 樹型框1.加入專案 (父索引, 找到的檔名, 161, , , , )
.判斷結束
加入成員 (程式集_檔案時間, 取檔案時間 (待查詢的目錄 + 找到的檔名))
加入成員 (程式集_檔案尺寸, 到文字 (取檔案尺寸 (待查詢的目錄 + 找到的檔名)) + “B”)
加入成員 (程式集_檔名, 找到的檔名)
.如果真 (取檔案屬性 (待查詢的目錄 + 找到的檔名) = #子目錄)
子程式_查詢檔案 (待查詢的目錄 + 找到的檔名, 子程式_當前索引)
找到的檔名 = 尋找檔案 (, 1 + 2 + 4 + 16 + 32)
到迴圈尾 ()
.如果真結束
找到的檔名 = 尋找檔案 (, 1 + 2 + 4 + 16 + 32)
處理事件 ()
.判斷迴圈尾 ()
.子程式 _樹型框1_專案被選擇
.引數 選擇方式, 整數型
除錯輸出 (樹型框1.現行選中項)
' 除錯輸出 (程式集_檔名 [樹型框1.現行選中項 + 1], 程式集_檔案時間 [樹型框1.現行選中項 + 1], 程式集_檔案尺寸 [樹型框1.現行選中項 + 1])
列表框1.清空 ()
列表框1.加入專案 (程式集_檔名 [樹型框1.現行選中項 + 1], )
列表框1.加入專案 (到文字 (程式集_檔案時間 [樹型框1.現行選中項 + 1]), )
列表框1.加入專案 (到文字 (程式集_檔案尺寸 [樹型框1.現行選中項 + 1]), )
.子程式 __啟動視窗_建立完畢
狀態條1.置文字 (0, “搜尋的目錄:”)