首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

能否取出list里面的数据 进行归类

2013-04-12 
可否取出list里面的数据 进行归类list1里面是(数字)(出现次数)213112537391我想把他取出来 然后归类在text

可否取出list里面的数据 进行归类
list1里面是
(数字)(出现次数)
   2         1
   3         1
   1         2
   5         3
   7         3
   9         1

我想把他取出来 
然后归类在text里
如下:
2,3,9(出现1次)
1(出现2次)
5,7(出现3次)

或者是:
出现1次:2,3,9
出现2次:1
出现3次:5,7

这两种都可以 

请问大神  怎么实现啊  

谢谢大家了




[解决办法]
接着上次的代码,直接统计,去掉在 List1 中显示频次的代码。

加一个 ListBox:


Private Declare Function SendMessagebyString Lib _
"user32" Alias "SendMessageA" (ByVal hWND As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As String) As Long

Private Const LB_FINDSTRINGEXACT = &H1A2    '在 ListBox 中精确查找


Private Sub Command1_Click()
Dim strSource As String, strItem() As String, n As Long, i As Long

strSource = "01,03,19,03,02"
strSource = Replace(strSource, ",", ",")
strItem = Split(strSource, ",")

'原来的统计代码
List1.Clear
For i = 0 To UBound(strItem)
    n = SendMessagebyString(List1.hWND, LB_FINDSTRINGEXACT, -1, strItem(i))
    If n = -1 Then
        List1.AddItem strItem(i)
        List1.ItemData(List1.NewIndex) = 1
    Else
        List1.ItemData(n) = List1.ItemData(n) + 1
    End If
Next i

'新加的汇总代码
For i = 0 To List1.ListCount - 1
    List2.AddItem ""
Next i

For i = 0 To List1.ListCount - 1
    n = List1.ItemData(i)
    List2.List(n - 1) = IIf(List2.List(n - 1) = "", "出现 " & n & " 次:", List2.List(n - 1) & ", ") & List1.List(i)
Next i

For i = List2.ListCount - 1 To 0 Step -1
    If List2.List(i) = "" Then List2.RemoveItem i
Next i

End Sub

热点排行