易語(yǔ)言超級(jí)列表框點(diǎn)擊表頭進(jìn)行排序的代碼
超級(jí)列表框排序模塊源碼
.版本 2
.支持庫(kù) iext
.程序集 程序集1
.子程序 _啟動(dòng)子程序, 整數(shù)型, , 請(qǐng)?jiān)诒咀映绦蛑蟹胖靡啄K初始化代碼
_臨時(shí)子程序 () ' 在初始化代碼執(zhí)行完畢后調(diào)用測(cè)試代碼
返回 (0) ' 可以根據(jù)您的需要返回任意數(shù)值
.子程序 _臨時(shí)子程序
' 本名稱(chēng)子程序用作測(cè)試程序用,僅在開(kāi)發(fā)及調(diào)試環(huán)境中有效,編譯發(fā)布程序前將被系統(tǒng)自動(dòng)清空,請(qǐng)將所有用作測(cè)試的臨時(shí)代碼放在本子程序中。 注意不要修改本子程序的名稱(chēng)、參數(shù)及返回值類(lèi)型。
.子程序 超級(jí)列表框排序, 整數(shù)型, 公開(kāi), 返回排序時(shí)間,選中后排序還選中,必須項(xiàng)目數(shù)值不為0 沒(méi)有默認(rèn)為1
.參數(shù) 對(duì)象, 超級(jí)列表框
.參數(shù) 列索引, 整數(shù)型, , 索引值從 0 開(kāi)始。
.參數(shù) 類(lèi)型, 整數(shù)型, 可空, 0=數(shù)值;1=文本;2=日期時(shí)間;3=邏輯
.參數(shù) 區(qū)分大小寫(xiě), 邏輯型, 可空, 真為區(qū)分,默認(rèn)為真
.參數(shù) 排序方式, 邏輯型, 可空, 真為小到大,默認(rèn)為真
.局部變量 排序時(shí)間, 整數(shù)型
.局部變量 排序變量, 文本型, , "0"
.局部變量 序號(hào)數(shù)組, 整數(shù)型, , "0"
.局部變量 表項(xiàng)數(shù)值, 整數(shù)型, , "0"
.局部變量 變量, 整數(shù)型
.局部變量 數(shù)據(jù), 文本型
.局部變量 列數(shù), 整數(shù)型
.局部變量 行數(shù), 整數(shù)型
.局部變量 單元數(shù), 整數(shù)型
.局部變量 選中項(xiàng), 整數(shù)型
排序時(shí)間 = 取啟動(dòng)時(shí)間 ()
類(lèi)型 = 選擇 (類(lèi)型 ≥ 0 且 類(lèi)型 ≤ 3, 類(lèi)型, 1)
區(qū)分大小寫(xiě) = 選擇 (是否為空 (區(qū)分大小寫(xiě)), 真, 區(qū)分大小寫(xiě))
排序方式 = 選擇 (是否為空 (排序方式), 真, 排序方式)
.如果真 (對(duì)象.現(xiàn)行選中項(xiàng) ≠ -1)
.如果真 (對(duì)象.取表項(xiàng)數(shù)值 (對(duì)象.現(xiàn)行選中項(xiàng)) = 0)
對(duì)象.置表項(xiàng)數(shù)值 (對(duì)象.現(xiàn)行選中項(xiàng), 1)
.如果真結(jié)束
選中項(xiàng) = 對(duì)象.取表項(xiàng)數(shù)值 (對(duì)象.現(xiàn)行選中項(xiàng))
.如果真結(jié)束
.計(jì)次循環(huán)首 (對(duì)象.取表項(xiàng)數(shù) (), 變量)
數(shù)據(jù) = 刪首尾空 (對(duì)象.取標(biāo)題 (變量 - 1, 列索引))
.如果 (類(lèi)型 ≠ 3)
單元數(shù) = 二分查找 (排序變量, 數(shù)據(jù), 類(lèi)型, 區(qū)分大小寫(xiě))
插入成員 (排序變量, 單元數(shù), 數(shù)據(jù))
插入成員 (序號(hào)數(shù)組, 單元數(shù), 變量 - 1)
插入成員 (表項(xiàng)數(shù)值, 單元數(shù), 對(duì)象.取表項(xiàng)數(shù)值 (變量 - 1))
.否則
插入成員 (序號(hào)數(shù)組, 選擇 (數(shù)據(jù) = “假”, 變量, 1), 變量 - 1)
插入成員 (表項(xiàng)數(shù)值, 選擇 (數(shù)據(jù) = “假”, 變量, 1), 對(duì)象.取表項(xiàng)數(shù)值 (變量 - 1))
.如果結(jié)束
.計(jì)次循環(huán)尾 ()
列數(shù) = 對(duì)象.取列數(shù) ()
行數(shù) = 取數(shù)組成員數(shù) (序號(hào)數(shù)組)
單元數(shù) = 行數(shù) × 列數(shù)
重定義數(shù)組 (排序變量, 假, 單元數(shù))
.計(jì)次循環(huán)首 (單元數(shù), 變量)
排序變量 [變量] = 對(duì)象.取標(biāo)題 (序號(hào)數(shù)組 [取絕對(duì)值 (選擇 (排序方式, -1, 行數(shù)) - (變量 - 1) \ 列數(shù))], (變量 - 1) % 列數(shù))
.計(jì)次循環(huán)尾 ()
.計(jì)次循環(huán)首 (單元數(shù), 變量)
對(duì)象.置標(biāo)題 ((變量 - 1) \ 列數(shù), (變量 - 1) % 列數(shù), 排序變量 [變量])
對(duì)象.置表項(xiàng)數(shù)值 ((變量 - 1) \ 列數(shù), 表項(xiàng)數(shù)值 [取絕對(duì)值 (選擇 (排序方式, -1, 行數(shù)) - (變量 - 1) \ 列數(shù))])
.計(jì)次循環(huán)尾 ()
.如果真 (選中項(xiàng) ≠ 0)
.計(jì)次循環(huán)首 (對(duì)象.取表項(xiàng)數(shù) (), 變量)
.如果真 (對(duì)象.取表項(xiàng)數(shù)值 (變量 - 1) = 選中項(xiàng))
對(duì)象.現(xiàn)行選中項(xiàng) = 變量 - 1
對(duì)象.保證顯示 (變量 - 1)
跳出循環(huán) ()
.如果真結(jié)束
.計(jì)次循環(huán)尾 ()
.如果真結(jié)束
返回 (取啟動(dòng)時(shí)間 () - 排序時(shí)間)
.子程序 二分查找, 整數(shù)型
.參數(shù) 數(shù)組, 文本型, 數(shù)組
.參數(shù) 待查, 文本型
.參數(shù) 類(lèi)型, 整數(shù)型
.參數(shù) 區(qū)分大小寫(xiě), 邏輯型
.局部變量 K, 整數(shù)型
.局部變量 M, 整數(shù)型
.局部變量 J, 整數(shù)型
.局部變量 數(shù)值A(chǔ), 雙精度小數(shù)型
.局部變量 數(shù)值B, 雙精度小數(shù)型
.局部變量 文本, 文本型
K = 1
M = 取數(shù)組成員數(shù) (數(shù)組)
.如果真 (M = 0)
返回 (1)
.如果真結(jié)束
.判斷開(kāi)始 (類(lèi)型 = 0)
數(shù)值A(chǔ) = 到數(shù)值 (待查)
.如果真 (數(shù)值A(chǔ) ≥ 到數(shù)值 (數(shù)組 [M]))
返回 (M + 1)
.如果真結(jié)束
.如果真 (數(shù)值A(chǔ) ≤ 到數(shù)值 (數(shù)組 [1]))
返回 (1)
.如果真結(jié)束
.判斷循環(huán)首 (K < M - 1)
J = (K + M) \ 2
數(shù)值B = 到數(shù)值 (數(shù)組 [J])
.如果真 (數(shù)值A(chǔ) = 數(shù)值B)
K = J
跳出循環(huán) ()
.如果真結(jié)束
.如果 (數(shù)值A(chǔ) < 數(shù)值B)
M = J
.否則
K = J
.如果結(jié)束
.判斷循環(huán)尾 ()
.判斷 (類(lèi)型 = 1)
.如果真 (文本比較 (待查, 數(shù)組 [M], 區(qū)分大小寫(xiě)) ≥ 0)
返回 (M + 1)
.如果真結(jié)束
.如果真 (文本比較 (待查, 數(shù)組 [1], 區(qū)分大小寫(xiě)) ≤ 0)
返回 (1)
.如果真結(jié)束
.判斷循環(huán)首 (K < M - 1)
J = (K + M) \ 2
.如果真 (文本比較 (待查, 數(shù)組 [J], 區(qū)分大小寫(xiě)) = 0)
K = J
跳出循環(huán) ()
.如果真結(jié)束
.如果 (文本比較 (待查, 數(shù)組 [J], 區(qū)分大小寫(xiě)) < 0)
M = J
.否則
K = J
.如果結(jié)束
.判斷循環(huán)尾 ()
.判斷 (類(lèi)型 = 2)
數(shù)值A(chǔ) = 取字節(jié)集數(shù)據(jù) (到字節(jié)集 (到時(shí)間 (待查)), #雙精度小數(shù)型)
.如果真 (數(shù)值A(chǔ) ≥ 取字節(jié)集數(shù)據(jù) (到字節(jié)集 (到時(shí)間 (數(shù)組 [M])), #雙精度小數(shù)型))
返回 (M + 1)
.如果真結(jié)束
.如果真 (數(shù)值A(chǔ) ≤ 取字節(jié)集數(shù)據(jù) (到字節(jié)集 (到時(shí)間 (數(shù)組 [1])), #雙精度小數(shù)型))
返回 (1)
.如果真結(jié)束
.判斷循環(huán)首 (K < M - 1)
J = (K + M) \ 2
數(shù)值B = 取字節(jié)集數(shù)據(jù) (到字節(jié)集 (到時(shí)間 (數(shù)組 [J])), #雙精度小數(shù)型)
.如果真 (數(shù)值A(chǔ) = 數(shù)值B)
K = J
跳出循環(huán) ()
.如果真結(jié)束
.如果 (數(shù)值A(chǔ) < 數(shù)值B)
M = J
.否則
K = J
.如果結(jié)束
.判斷循環(huán)尾 ()
.默認(rèn)
.判斷結(jié)束
返回 (K + 1)
超級(jí)列表框排序例程
.版本 2
.程序集 窗口程序集1
.程序集變量 變量, 文本型
.子程序 _超級(jí)列表框1_表頭被單擊
.參數(shù) 被單擊列索引, 整數(shù)型
.如果真 (被單擊列索引 = 0)
.如果 (標(biāo)簽1.標(biāo)題 = “1”)
' 處理表和圖標(biāo)對(duì)應(yīng) ()
超級(jí)列表框排序 (超級(jí)列表框1, 0, 1, 真, 真)
' 重新排列圖標(biāo) ()
標(biāo)簽1.標(biāo)題 = “2”
.否則
' 處理表和圖標(biāo)對(duì)應(yīng) ()
超級(jí)列表框排序 (超級(jí)列表框1, 0, 1, 真, 假)
' 重新排列圖標(biāo) ()
標(biāo)簽1.標(biāo)題 = “1”
.如果結(jié)束
.如果真結(jié)束
.如果真 (被單擊列索引 = 1)
.如果 (標(biāo)簽1.標(biāo)題 = “1”)
' 處理表和圖標(biāo)對(duì)應(yīng) ()
超級(jí)列表框排序 (超級(jí)列表框1, 1, 1, 真, 真)
' 重新排列圖標(biāo) ()
標(biāo)簽1.標(biāo)題 = “2”
.否則
' 處理表和圖標(biāo)對(duì)應(yīng) ()
超級(jí)列表框排序 (超級(jí)列表框1, 1, 1, 真, 假)
' 重新排列圖標(biāo) ()
標(biāo)簽1.標(biāo)題 = “1”
.如果結(jié)束
.如果真結(jié)束
.如果真 (被單擊列索引 = 2)
.如果 (標(biāo)簽1.標(biāo)題 = “1”)
' 處理表和圖標(biāo)對(duì)應(yīng) ()
超級(jí)列表框排序 (超級(jí)列表框1, 2, 1, 真, 真)
' 重新排列圖標(biāo) ()
標(biāo)簽1.標(biāo)題 = “2”
.否則
' 處理表和圖標(biāo)對(duì)應(yīng) ()
超級(jí)列表框排序 (超級(jí)列表框1, 2, 1, 真, 假)
' 重新排列圖標(biāo) ()
標(biāo)簽1.標(biāo)題 = “1”
.如果結(jié)束
.如果真結(jié)束
運(yùn)行結(jié)果:

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
易語(yǔ)言在編輯框中只允許輸入指定類(lèi)型內(nèi)容的方法
今天小編就為大家分享一篇關(guān)于易語(yǔ)言在編輯框中只允許輸入指定類(lèi)型內(nèi)容的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11
易語(yǔ)言在組合框指定位置插入一個(gè)新項(xiàng)目的方法
今天小編就為大家分享一篇關(guān)于易語(yǔ)言在組合框指定位置插入一個(gè)新項(xiàng)目的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11
易語(yǔ)言根據(jù)項(xiàng)目索引選擇列表框指定項(xiàng)目的方法
今天小編就為大家分享一篇關(guān)于易語(yǔ)言根據(jù)項(xiàng)目索引選擇列表框指定項(xiàng)目的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11
詳解易語(yǔ)言的鉤子(鉤子HOOK與APIHOOK區(qū)別)
在本篇文章中我們給大家分享了易語(yǔ)言中鉤子的概念以及相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2018-11-11
易語(yǔ)言進(jìn)行網(wǎng)頁(yè)操作方法
在本篇內(nèi)容中小編給大家分享是的易語(yǔ)言進(jìn)行網(wǎng)頁(yè)操作的相關(guān)知識(shí)點(diǎn)以及源碼,需要的朋友們參考下。2018-12-12
易語(yǔ)言模擬鼠標(biāo)點(diǎn)擊實(shí)現(xiàn)方法
在本篇內(nèi)容里小編給各位分享了關(guān)于易語(yǔ)言如何實(shí)現(xiàn)模擬鼠標(biāo)點(diǎn)擊的教學(xué)內(nèi)容,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2019-01-01
解決易語(yǔ)言轉(zhuǎn)換到C++ 自定義數(shù)據(jù)類(lèi)型
在本文中小編給大家整理了關(guān)于易語(yǔ)言轉(zhuǎn)換到C++ 自定義數(shù)據(jù)類(lèi)型問(wèn)題解決辦法,需要的參考一下。2018-12-12

