VB怎么把列表框筛选出来的的数据在另一个列表框排序啊?
我想把第二个列表框的排序,但是总是把第一个产生的全部随机数排序了,求大神帮忙看看这是代码:OptionBase1Dima(30)PrivateSubCommand1_Cl...
我想把第二个列表框的排序,但是总是把第一个产生的全部随机数排序了,求大神帮忙看看
这是代码:
Option Base 1
Dim a(30)
Private Sub Command1_Click()
Randomize
List1.Clear
For i = 1 To 30
a(i) = Val(Int(Rnd * 2901 + 100))
List1.AddItem a(i)
Next i
End Sub
Private Sub Command2_Click()
List2.Clear
For i = 1 To 30
If a(i) Mod 400 = 0 Or a(i) Mod 4 = 0 And a(i) Mod 100 <> 0 Then
List2.AddItem a(i)
End If
Next i
End Sub
Private Sub Command3_Click()
For i = 1 To 29
For j = i + 1 To 30
If a(i) > a(j) Then
c = a(i)
a(i) = a(j)
a(j) = c
End If
Next j
List3.AddItem a(i)
Next i
End Sub 展开
这是代码:
Option Base 1
Dim a(30)
Private Sub Command1_Click()
Randomize
List1.Clear
For i = 1 To 30
a(i) = Val(Int(Rnd * 2901 + 100))
List1.AddItem a(i)
Next i
End Sub
Private Sub Command2_Click()
List2.Clear
For i = 1 To 30
If a(i) Mod 400 = 0 Or a(i) Mod 4 = 0 And a(i) Mod 100 <> 0 Then
List2.AddItem a(i)
End If
Next i
End Sub
Private Sub Command3_Click()
For i = 1 To 29
For j = i + 1 To 30
If a(i) > a(j) Then
c = a(i)
a(i) = a(j)
a(j) = c
End If
Next j
List3.AddItem a(i)
Next i
End Sub 展开
1个回答
展开全部
你的代码不是对的吗,我看了一下,也试了一下,没问题啊
当然 你选择的排序方法还有待改进
我大概明白你的意思了
你是不是想在第三个列表框中显示第二个列表框的内容啊,这样的话你就不能对a(i)排序了啊
a(i)中是所有的元素都在的啊
你可以对list2的list数组进行排序操作
但要注意list数组是从0开始的,总的个数为list2.listcount
当然 你选择的排序方法还有待改进
我大概明白你的意思了
你是不是想在第三个列表框中显示第二个列表框的内容啊,这样的话你就不能对a(i)排序了啊
a(i)中是所有的元素都在的啊
你可以对list2的list数组进行排序操作
但要注意list数组是从0开始的,总的个数为list2.listcount
追问
就是那个意思 我想把第二个列表框的排序,然后显示在第三个中 但是我VB早忘得差不多了,不知道怎么弄了。。。求代码
追答
Private Sub Command3_Click()
dim b()
n=list2.listcount
redim b(n)
for i=0 to n-1
b(i+1)=list2.list(i)
next i
For i = 1 To n-1
For j = i + 1 To n
If b(i) > b(j) Then
c = b(i)
b(i) = b(j)
b(j) = c
End If
Next j
List3.AddItem b(i)
Next i
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询