Private Sub Command20_Click()
Dim names() As String
Dim i As Integer
Dim j As Integer
Dim y As Integer
Dim r As Integer
Dim tmp As String
Dim txt As String
' Put the names in an array.
names = Split("aysun;ayse;semra;yasemin;selin;betul;zeynep;cemre;jale;ahu;gulfidan;belma;gamze;gizem;pelin;_canan", ";")
Command21_Click
' Randomize the array.
Randomize
For i = LBound(names) To UBound(names) - 1
' Pick a random entry.
j = Int((UBound(names) - i + 1) * Rnd + i)
' Swap the names.
tmp = names(i)
names(i) = names(j)
names(j) = tmp
Next i
' Display the results.
For i = LBound(names) To UBound(names)
txt = vbCrLf & names(i) & Text5.text
Next i
txt = Mid$(txt, Len(vbCrLf) + 1)
Text4.text = txt
End SubBu kodla random isim üretiyorum. Fakat işin içinden çıkamadığım nokta şu
txt = vbCrLf & names(i) & Text5.text
şu kodun yanına
Int((3333 * Rnd) + 999)
bu kodu eklediğimde ismin sonuna sayı ekliyor. Fakat ben herzaman sayı eklensin istemiyorum. Bazen eklenicek bazen eklenmeyecek bunu nasıl çözebilirim?
Random sayıyı bir değişkene atayıp mod işlemi uygulayabilirsin. Mesela if içinde random sayı mod 2 eşittir 0 yaparsan (yani sadece çift sayılar) ve isme random sayıyı ekleyen kodu da if bloğun içinde kullanırsan eklenme oranı düşecektir. Ne kadar düşük olmasını istiyorsan ona göre çok abartmadan mod sayısını yükseltebilirsin.