Kullanıcı tanımlı fonksiyondan yararlanarak istenilen uzunlukta, rakamlardan ve harflerden oluşan bir metin oluşturacağız. Nasıl yapıldığını görelim.
Option Explicit
Function AnlamsizMetinOlustur(uzunluk As Integer)
Dim dizi As Variant
Dim metin As String
Dim i As Integer
Randomize
dizi = Array("a", "b", "c", "ç", _
"d", "e", "f", "g", _
"ğ", "h", "ı", "i", _
"j", "k", "l", "m", _
"n", "o", "ö", "p", _
"q", "r", "s", "ş", _
"t", "u", "ü", "w", _
"x", "y", "z", "0", _
"1", "2", "3", "4", _
"5", "6", "7", "8", "9")
metin = ""
For i = 0 To uzunluk
metin = metin & dizi(Int(41 * Rnd))
Next
AnlamsizMetinOlustur = metin
End Function
Option Explicit
Function AnlamsizMetinOlustur(uzunluk As Integer)
Dim dizi As Variant
Dim metin As String
Dim i As Integer
'--------------------------------------------------
'Rnd() fonksiyonu için işe yarıyor.
'Rnd() fonksiyonu rasgele sayı üretebilmek için
'bir başlangıç değerine ihtiyaç duyar. Eğer bu
'sayı verilmezse kendi oluşturduğu sayıyı baz
'alarak bir rasgele sayı oluşturur.
'
'İlk sayıyı oluşturdu.
'İkinci sayıyı ilk sayıya göre oluşturdu.
'Üçüncü sayıyı ikinci sayıya göre oluşturdu.
'
'Bu şekilde devam eder.
'Eğer Rnd() fonksiyonunu argümansız bir
'şekilde kullanıyorsak ilk çağırıldığında
'aynı sayıları kullanacak.
'
'İşte Randomize burada devreye giriyor.
'İlk sayıyı sistem saatini kullanarak
'değişik bir ilk sayı hesaplıyor ve
'böylelikle rasgele olma özelliği
'çok daha iyi artıyor.
'
'Peki neden sistem saatine göre hesap
'yapılıyor? Sistem saati sürekli
'değişiyor, bu yüzden.
'
'Özetle Randomize şeysinin olayı
'Rnd için farklı bir ilk sayı vermek
've böylece değişik rasgele sayılar
'oluşturulmasını sağlamak.
'--------------------------------------------------
Randomize
'--------------------------------------------------
'Harflerden ve sayılardan oluşan dizi.
'Harfler Türkçe karakterleri ve
'x, q, w harflerini de içermektedir.
'--------------------------------------------------
dizi = Array("a", "b", "c", "ç", _
"d", "e", "f", "g", _
"ğ", "h", "ı", "i", _
"j", "k", "l", "m", _
"n", "o", "ö", "p", _
"q", "r", "s", "ş", _
"t", "u", "ü", "w", _
"x", "y", "z", "0", _
"1", "2", "3", "4", _
"5", "6", "7", "8", "9")
'--------------------------------------------------
'Rasgele seçilen her karakteri
'metin adlı değişkendeki string
'değerinin sağına ekleye ekleye
'ilerleteceğiz.
'--------------------------------------------------
metin = ""
'--------------------------------------------------
'Diziden Rnd() fonksiyonu aracılığıyla
'rasgele bir sayı seçiyoruz, ve o sayının
'karşılığı olan dizi değişkeninin değerini
'alıyoruz.
'
'41 sayısı nereden geliyor?
'31 (Toplam Harf Sayısı)
'10 (Onluk sistemdeki toplam rakam sayısı)
'31 + 10 = 41
'--------------------------------------------------
For i = 0 To uzunluk
metin = metin & dizi(Int(41 * Rnd))
Next
'--------------------------------------------------
'Sonucu fonksiyon çıktısı olarak ayarladık.
'--------------------------------------------------
AnlamsizMetinOlustur = metin
End Function