هذا التعديل يمنع التكرار الذى قديحدث فى بعض الحالات
Const BagMax = 10
Type RandomBag
n As Integer
X(BagMax) As Integer
End Type
Global RandBag As RandomBag
Function RandX() As Integer
Dim Index As Integer
If RandBag.n < 1 Then
'Insialize ......
MsgBox ("Bag Empty .." & BagMax & " No.s Will be added to Bag.")
For i = 0 To BagMax - 1
RandBag.X(i) = i + 1
Next i
RandBag.n = BagMax
End If
Index = Round(Rnd * (RandBag.n - 1))
RandX = RandBag.X(Index)
'Remove Void ..........
For i = Index To RandBag.n - 1
RandBag.X(i) = RandBag.X(i + 1)
Next
'Decrease Bag Count
RandBag.n = RandBag.n - 1
End Function
Private Sub AddRndX_Click()
Text01 = RandX()
End Sub