大家帮我看下这段代码,怎么运行没用啊,指点指点~~~~~~~~~
vb吧
全部回复
仅看楼主
level 1
acdxxx177 楼主
m = 0
Do While m = List1.ListCount
d = List1.List(m)
For i = 0 To List1.ListCount - m
If d = List1.List(i) Then 
t = t + 1
List1.RemoveItem (List1.List(i))
end if
Next i
List1.AddItem d & "  " & t
m = m + 1
Loop
代码如上,我想把List1列表框里重复的删除并重新输入list1,并且显示数目,以后用Trim分开
列:
本来列表框里是:
0000
1111
2222
3333
aaaa
0000
1111
2222
3333
0000
这些数字是随机的
过滤以后就是这样
数字 数量(这行不用显示)
0000  3
1111  2
2222  2
3333  2
aaaa  1
但是,我这行代码不知道这么回事没用啊,也没任何提示,请指点下!!
2009年09月27日 06点09分 1
level 13
依你的代码 你要把 List1的 Sorted 属性设为 True
2009年09月27日 07点09分 2
level 1
acdxxx177 楼主
??为什么啊
还有什么别的方法吗
2009年09月27日 07点09分 3
level 1
acdxxx177 楼主
我晕,最基本的错误,那句应该改成这样
Do While m <> List1.ListCount
但是这样过滤不了啊,越界了
2009年09月27日 08点09分 4
level 1
acdxxx177 楼主
怎么没人啊,帮我解决下啊,我头都想大了都弄不出来啊
2009年09月27日 14点09分 5
level 12
第一:删除要倒过来循环
第二:你这样循环也是有问题的,最好是 循环一次,加入数组;然后clear,然后输入list1
2009年09月27日 14点09分 6
level 1
acdxxx177 楼主
额,你能不能说在说明白点啊,本人新手一个
2009年09月28日 00点09分 7
level 0
'添加 List1、Command1 并设置 List1 的 Sorted 属性为 True
Private Sub Command1_Click()
Dim i!, Str$, r!, NewStr$
Str = List1.List(List1.ListCount - 1): r = 1: List1.RemoveItem List1.ListCount - 1
For i = List1.ListCount - 1 To 0 Step -1
    NewStr = List1.List(i)
    List1.RemoveItem i
    If NewStr = Str Then
        r = r + 1
    Else
        List1.AddItem Str & Space(2) & r
        r = 1
    End If
    Str = NewStr
Next
List1.AddItem Str & Space(2) & r
End Sub
Private Sub Form_Click()
List1.Clear
Form_Load
End Sub
Private Sub Form_Load()
Dim i!
For i = 1 To 20
    Randomize
    List1.AddItem Int(Rnd * 10)
Next
End Sub
2009年09月28日 04点09分 8
level 1
acdxxx177 楼主
啊,太谢谢你了,解决了
不过由于我是手动输入List1的,而且要知道手动输入的顺序,所以我也就代码整理了下顺序,不过很谢谢你,解决了我以难题啊
2009年09月28日 13点09分 9
1