GARANTIR DESCONTO

Fórum Random #263128

22/12/2004

0

eu não sei c vcs já perceberam...
mas a função Random do Delphi, não é nada randomica!

fassa um teste com um botao e um edit!
no onClick do botao manda ele passa o ´Edit1.Text := IntToStr(Random(7))´ , por exemplo.

usei o 7 pq esatava simulando um dado e reparei q sempre os resultados são os mesmos! no caso do sete são, em ordem: 0, 0, 6, 1, 1, 4, 2, 1, 2 ...

fassam o teste ... gosteria d saber c ter como arrumar isso ou c existe algum função q realmente fassa um sorteio randômico!

[]´s Secoo

=DDDDDDDD


Seccomiro

Seccomiro

Responder

Post mais votado

28/12/2004

só é preciso chamar o Randomize 1 vez, pode colocar o Randomize no OnCreate do Form.

ou senão, vc pode mudar o valor da variável RandSeed;

se colocar RandSeed := 5; ao inicializar por exemplo, ele vai dar sempre a mesma sequencia, mas diferente se vc colocar outro valor no RandSeed;


Marcelo Saviski

Marcelo Saviski
Responder

Gostei + 1

Mais Posts

22/12/2004

Gandalf.nho

Use a função Randomize antes de usar Random.


Responder

Gostei + 0

28/12/2004

Marcosrocha

Olá, eu confirmei seu teste, os números aparecem sempre na ordem que vc disse.
Montei esse código e cada vez que eu abro o programa a ´randomização´ é diferente!!!
Faça alguns testes para ver se isso serve!! Mas eu reparei que aparecem muitos 0 no evento do botão 1 para randomizar...
Do mais o código está aí!!!
procedure TForm1.Button1Click(Sender: TObject);
begin
  Randomize;
  Edit1.Text := IntToStr(Random(7));
end;



Responder

Gostei + 0

28/12/2004

Titanius

realmente constatei este problema... a probabilidade de aparecer algum numero repetido eh muito grande, nao vale a pena utilizar o random, se queres algo realmente randomico...

alguem teria alguma funcao para randomicos?


[]s


Responder

Gostei + 0

28/12/2004

Gandalf.nho

No Delphi tem uma unit com outras funções randômicas, dê uma olhada


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar