亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

VB6-ListView的排序和點滴

系統 2496 0
在VB6 的ListView的排序是比較煩人的,因為它只是按照字符串進行排序,因此,數值的排序就慘不忍睹了,周六在陪老婆值班的時候,看到了一片文章,很爽,今天試驗了一下,還好,代碼如下:

Public ?Enum?ListviewSortOrder
????lsoAscending?
= ? 0
????lsoDescending?
= ? 1
End ?Enum

Public ? Sub ?SortItem(lvwObject? As ?ListView,?ColumnHeader? As ?MSComctlLib.ColumnHeader,?SortOrder? As ?ListviewSortOrder,?Optional?FormatString? As ? String ? = ? " ##########.########## " )
????
Dim ?TempColumnHeader? As ?ColumnHeader
????
Dim ?i? As ? Integer
????
With ?lvwObject
????????
Set ?TempColumnHeader? = ?lvwObject.ColumnHeaders.Add(,? " TempColumn " )
????????
For ?i? = ? 1 ? To ?.ListItems.Count
????????????
If ?ColumnHeader.Index? = ? 1 ? Then
????????????????.ListItems(i).SubItems(TempColumnHeader.Index?
- ? 1 )? = ?Format(.ListItems(i).Text,?FormatString)
????????????
Else
????????????????.ListItems(i).SubItems(TempColumnHeader.Index?
- ? 1 )? = ?Format(.ListItems(i).SubItems(ColumnHeader.Index? - ? 1 ),?FormatString)
????????????
End ? If
????????
Next
????????.Sorted?
= ? True
????????.SortOrder?
= ?SortOrder
????????.SortKey?
= ?TempColumnHeader.Index? - ? 1
????????.Sorted?
= ? False
????????.ColumnHeaders.Remove?
" TempColumn "
????
End ? With
End?Sub

這段代碼的用意比較明顯,就是通過創建一個臨時的列來保存經過格式化的數值,然后在臨時列進行排序,就可以避免字符串比較帶來的漏洞了,當然使用完成后要干掉那個臨時列了。

在使用中需要進行測試各種格式的排序效果,想使用VBUnit或者ComUnit,但是剛剛使用,效果不是很好,還在弄,現在的關鍵不是使用,而是想了解,它是如何做的,慢慢來吧。

這幾天還是比較關心如何在VB6實現AOP功能,其實還是覺得G#的語法比較優秀的,而且看起來也清楚多了。但是如何在VB里邊嵌入新的語法格式呢,這些天一直困擾我,在經過試驗后,覺得下邊兩種方法還是可以的:
(1)將新語言放到條件編譯中,如下邊代碼
#If Aop then
??? .....
#End if
但是我認為如果將語法這樣定義,還不如使用配置文件痛快,而且代碼在注入后是明碼的,不爽。

(2)采用一個比較變態的辦法,就是在文件中任意嵌入新定義的語法,然后在編譯的時候做手腳,就是在VB執行編譯前將代碼注入,當然這種注入的代碼是符合VB語法的,然后在進行編譯,當然這種手法也是換湯不換藥,不過我還是比較喜歡這一種,當然需要對VB的IDE進行一些改造了,可能比較麻煩了。

通過對G#比較可以看到,在與VB6 Aop Add-Ins相比,功能要強大的多:
(1)繼承的使用
(2)語法的靈活性
(3)支持正則表達式格式的多匹配
(4)支持插入代碼的插入前執行,這個有點難弄

VB6-ListView的排序和點滴


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 香蕉久久高清国产精品免费 | 中文字幕三级久久久久久 | 中文字幕一区精品 | 狠狠色噜噜狠狠狠米奇9999 | 日韩不卡在线 | 久久免费网 | 91热久久免费频精品99欧美 | 欧美精品亚洲网站 | 亚洲欧洲一二三区机械有限公司 | 一级欧美一级日韩毛片99 | 青娱乐91在线 | 日韩中文精品亚洲第三区 | 国产一区视频在线免费观看 | 国产精品久久久久久久久久久不卡 | 站长推荐国产午夜免费视频 | 天堂成人一区二区三区 | 精品久久洲久久久久护士 | 久久久久青草大香线综合精品 | 亚洲日韩在线视频 | 国产精品欧美韩国日本久久 | 亚洲六月丁香婷婷综合 | 综合精品一区 | 国产精品久久久久久久9999 | 中文字幕不卡免费视频 | 日韩女同视频 | 久久综合一本 | 国产二区在线播放 | 国产福利99| 日本免费的一级v一片 | 亚洲啪啪看看 | 久久人人爽人人爽 | 亚洲免费视频在线 | 欧美精品成人久久网站 | 国产在线拍 | 四虎国产精品免费久久久 | 日本一级特大毛片 | 欧美日本高清视频在线观看 | 亚洲日本免费 | 深夜影院a | 黄色国产视频 | 亚洲午夜视频 |