Generowanie liczb

0

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.

0

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;

0

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 :>

0

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.

0

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; //

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0