Jak zrobić, aby po naciśnięciu Button-a, program wygenerował (lub wylosował)dowolną liczbę z pewnego przedziału (np. od 1 do 1000), a wynik wpisał do edit-a?
Dziękuję za odp.
Boshe!!!
Napisze odp. bo jestes nowy. O iile ten post nie zginie to dobrze.
Var
liczba:integer;
begin
liczba:=1000//tu przypisujesz ile ma ta liczba wynosic
randomize;
edit1.text=inttostr(random(liczba));
end;
a przypadkiem random nie losuje tez 0 ?
wtedy
randomize;
edit1.text := inttostr(random(999)+1);
lub
var
i : integer;
begin
randomize;
i := random(1000);
if i = 0 then i := 1;
edit1.text := inttostr(i);
end;
//mozna jeszcze w petli repeat until i > 0 ale nie chce mi sie pisac :>
if i = 0 then i := 1;
To akurat jest bez sensu bo psuje losowosc. Szansa na 1 jest 2x wieksza niz na kazde z 2-1000.
x := Random(Zakres) zwraca liczbę z przedziału
Jeśli chcesz generować liczby (psedo)losowe z zakresu możesz zastosować poniższą funkcję:
[code]function GetRandomNumber: Cardinal;
const
Range = 1000; //
Hmm - wszyscy niby, że tego, że nowy, że banalne pytanie, ale... :)
Wystarczy przecież napisać:
randomize;
liczba:=random(1000)+1;
A jeśli koniecznie zrobić funkcje to po co sprawdzać warunek 0
Można:
function Losowa( skad , dokad : integer) : integer;
begin
randomize;
Losowa:=random(dokad-skad+1)+skad;
end;
i następnie w programie głównym:
Edit1.Text := IntToStr(Losowa(1,1000));
parametrem funkcji random jest w zasadzie liczba, która mówi z ilu liczb ma losować i będą to liczby z zakresu