Liste Kutusuna Rastgele Benzersiz Sayı Ekleme

1 2
28/11/2018, 14:09

berduş

buton olayının kodunu aşağıdaki kod ile değiştirip dener misiniz?

strkar = Null
Me.Liste3.RowSource = ""
ArrBoy = Int(Me.Metin1) - 1
Dim intRasgele() As Integer
ReDim Preserve intRasgele(ArrBoy)
For x = 0 To Int(Me.Metin1) - 1
10
   intRasgele(x) = Int(Me.Metin1 * Rnd() + 1) 'buradaki Me.Metin1 yerine 100 yazarsanız 1-100 arası değer üretir
   If InStr(strkar, " " & intRasgele(x) & " ") > 0 Then GoTo 10
   strkar = strkar & " " & intRasgele(x) & " "
   
Next
   For i = 0 To ArrBoy - 1
       For j = i + 1 To ArrBoy
           If intRasgele(i) < intRasgele(j) Then
               Temp = intRasgele(j)
               intRasgele(j) = intRasgele(i)
               intRasgele(i) = Temp
           End If
       Next j
   Next i
For x = 0 To ArrBoy
Me.Liste3.AddItem (intRasgele(x))
Next
28/11/2018, 14:52

notrino

Merhaba,

Ben çok daha basit bir şey yaptım. Bilmem işinizi görür mü...
28/11/2018, 16:05

mustinba

(28/11/2018, 14:09)haliliyas yazdı: buton olayının kodunu aşağıdaki kod ile değiştirip dener misiniz?

strkar = Null
Me.Liste3.RowSource = ""
ArrBoy = Int(Me.Metin1) - 1
Dim intRasgele() As Integer
ReDim Preserve intRasgele(ArrBoy)
For x = 0 To Int(Me.Metin1) - 1
10
   intRasgele(x) = Int(Me.Metin1 * Rnd() + 1) 'buradaki Me.Metin1 yerine 100 yazarsanız 1-100 arası değer üretir
   If InStr(strkar, " " & intRasgele(x) & " ") > 0 Then GoTo 10
   strkar = strkar & " " & intRasgele(x) & " "
   
Next
   For i = 0 To ArrBoy - 1
       For j = i + 1 To ArrBoy
           If intRasgele(i) < intRasgele(j) Then
               Temp = intRasgele(j)
               intRasgele(j) = intRasgele(i)
               intRasgele(i) = Temp
           End If
       Next j
   Next i
For x = 0 To ArrBoy
Me.Liste3.AddItem (intRasgele(x))
Next

Teşekkürler
1 2