我正在使用vb6并且我希望生成多个randum号码(来自的范围由用户推断以及生成的答案数量)并将它们发送到列表框 但我不想复制生成的数字所以.. 我想在将生成的号码发送到列表框之前检查它是否已存在于lisbox中。如果它已经存在,那么生成另一个数字,如果它确实然后将它发送到列表框
这是我现在所拥有的 max和min是选择数字的范围 答案是生成的数字数
Randomize
For i = 1 To answers Step 1
generated = CInt(Int((max - min + 1) * Rnd() + min))
For n = 0 To List1.ListCount
If List1.List(n) <> gen Then
List1.AddItem (gen)
Else
If List1.List = gen Then
'I don't know what to do from here
'(how to go back to generate another number)
Next n
Next i
提前谢谢你 保持敏捷,我需要保持简单 非常感谢你
答案 0 :(得分:0)
如果生成的相同值在列表中,则使用布尔值保留结果。
Private Sub AddRandomNumbers()
Dim blnIfFound As Boolean
Dim max As Integer
Dim min As Integer
Dim answers As Integer
max = 10
min = 1
answers = 5
Randomize
Do While List1.ListCount < answers
generated = CInt(Int((max - min + 1) * Rnd() + min))
blnIfFound = False
For n = 0 To List1.ListCount
If List1.List(n) = generated Then
blnIfFound = True
Exit For
End If
Next n
If blnIfFound = False Then List1.AddItem (generated)
Loop
End Sub