Hao 發問時間: 電腦與網際網路程式設計 · 1 0 年前

VB6 List

請問如果List1裡面是

1

1

2

3

3

我想讓List1不會出現重複項目,List1裡面會變成

1

2

3

要如何寫呢?

已更新項目:

回給PGCafe:要如何加入時檢查呢?

4 個解答

評分
  • Wu
    Lv 5
    1 0 年前
    最佳解答

    使用下面的子程序將項目添加到List1就可以:

    Sub AddList(str as String)

    Dim i as Integer

    For i = 0 to List1.ListCount - 1

    If List1.List(i) = str Then Exit Sub

    Next

    List1.AddItem str

    End Sub

  • Shawn
    Lv 4
    1 0 年前

    你終於來發問了.

    我覺得 (如果一次要整理全部的) 還是用排序的方法會比較快

    VB 排序強大保留字:StrComp

    例如:

    MsgBox StrComp("aab", "aaa", vbBinaryCompare) 由於 aaa 比較前面所以結果是 1 相同就 0 相反是 -1 可以用 COLL 來逐項增加項目,比小,就加前面,比大就加後面,相同呢? 就是你要的刪除重複的了 >>> 就不增加

    如此一來,當排序完,重複的也都跟著刪除了

    當然,如果是一個項目新增的話,用個小迴圈去慢慢檢查就好

    2010-04-04 15:34:41 補充:

    StrComp 好處是除了字串以外還可以比較其他的型態

    例如位元組,在此舉例是讓對保留字有更清晰的了解

    不過呆豪,你要把重複的刪除是什麼時候呢

    一個項目加進去的時候? List1 項目都已經打好時要刪除重複時候?

    兩種觸發時機會有不同的程式碼

    #1回答者的是一個項目加進去的時候

  • 1 0 年前

    function check(data as integer) as boolean

    if (condition) then

    check = true

    else

    check = false

    end if

    end function

    dim i as integer

    input(i)

    if check(i) = true then

    list.additem(i)

    end if

    (實際怎麼寫就自己想吧...)

  • PGCafe
    Lv 5
    1 0 年前

    在加入資料前

    檢查是否已有資料

    2010-03-31 00:20:08 補充:

    直接用if "aab" > "aaa" then 就可以了吧!!

還有問題?馬上發問,尋求解答。