Delphide rasgele sayı üretmek çok kolaydır. bunun için zaten tanımlanmış bazı fonksiyonlar vardır.
bunlar:
- Random
- Randomize
- RandomRange
- RandomFrom
1- Random
Bu fonksiyonla belirlenen belirlenen iki sayı arası üretim yapılabilir. eğer parametresiz kullanılırsa 0-1 arasında ondalık sayılar üretir.
Örneğin;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
var
S : integer;
begin
S := Random; // parametresiz kullandım 0-1 arasında ondalık sayı üretecek.
Caption := FloatToStr(S);
end;
bu fonksiyon pek işe yaramayacaktır.parametre girilirse istenilen iki sayı arası üretim yapar.
şu kodla üretilecektir:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
var
S : integer;
begin
S := Random(10); // 0-9 arasında sayı üretecekdir.
Caption := FloatToStr(S);
end;
bu kodla ise 0-9 arasında sayı üretebilirsiniz.
bide şunu deneyin buda işinize yarayacaktır.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
var
R : integer;
begin
R := Random(10)+5; // 5-14 arasında sayı üretecekdir
Caption := FloatToStr(R);
end;
2-Randomize
Rastgele sayı üretim fonksiyonlarında kullanılan diğer bir fonksiyonda Randomizedir. Bu fonksiyon üretilecek olan sayıların aynı periyotta oluşmasını engelleyecektir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
var
Rm : integer;
begin
Randomize; // Saate göre sayı
Rm := Random(50)+75; // 75-124 arasında sayı üret
Caption := FloatToStr(Rm);
end;
Artık programınızı her çalıştırdığınız zaman değişik sayılar üretmeniz mümkün olacaktır.
3-RandomRange
Parametre ile belirtilen iki tam sayı arasında rastgele tam sayı üretmek için kullanılan bir fonksiyondur. Üretilen sayılar arasında üst sınır yoktur.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
var
RR : Integer;
begin
RR := RandomRange(10, 100); // 10-99 arasında rastgele tamsayı üret
Caption := FloatToStr(RR);
end;
4- RandomFrom
Parametre ile belirtilen dizi elemanlarından rastgele bir tanesinin değerini döndürmek için kullanılan bir fonksiyondur. Dizi eleman değerleri dışında başka bir değerin döndürülmesi söz konusu değildir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
var
Rd : Array[0..4] of Integer;
Rf : Integer;
begin
Rd[0] := 20;
Rd[1] := 40;
Rd[2] := 60;
Rd[3] := 80;
Rd[4] := 100;
Rf := RandomFrom(Rd); // Dizi elemanlarından rasgele seç
Caption := FloatToStr(Rf);
end;
Yukarıdaki örneği inceleyecek olursanız; Rd dizi değişkeninin {20, 40, 60, 80, 100} olmak üzere 5 adet elemanı bulunmaktadır. Her defasında bu elemanlardan bir tanesinin değerini döndürecektir.
Alıntıdır.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.