rotina em Delphi que faça sorteio de números
Preciso de uma rotina em Delphi que faça um sorteio. O computador terá que aleatoriamente sortear alguns números (0 a 18000) cadastrados em banco.
Alguém poderia me ajudar ?
Obrigada,
Alguém poderia me ajudar ?
Obrigada,
Marcela_m
Curtidas 0
Respostas
Marcelo Saviski
13/08/2003
Se vc for sortear qualqer numero, de 0 18000, sem distinção, use a função random(numero_máximo);
tipo, NumeroAleatorio := Random(18001);
detalhe, 18001, a função Random sorteia um numero entre 0 e o numero maximo especificado, mas não retorna o valor maximo nunca.
outro detalhe, toda vez que você rodar a aplicação, e pedir esse random, ele vai ser sempre igual, irá sortear todoas as vezes os mesmos numeros aleatórios, para resolver isso, no onCrete de algum form coloque
Randomize;
a função Randomize ´muda´ o valor da variavel RandSeed, que conrola o Random
se não for isso, por favor, explique melhor, não entedi o porque do ´Cadastrados no Banco´
tipo, NumeroAleatorio := Random(18001);
detalhe, 18001, a função Random sorteia um numero entre 0 e o numero maximo especificado, mas não retorna o valor maximo nunca.
outro detalhe, toda vez que você rodar a aplicação, e pedir esse random, ele vai ser sempre igual, irá sortear todoas as vezes os mesmos numeros aleatórios, para resolver isso, no onCrete de algum form coloque
Randomize;
a função Randomize ´muda´ o valor da variavel RandSeed, que conrola o Random
se não for isso, por favor, explique melhor, não entedi o porque do ´Cadastrados no Banco´
GOSTEI 0
Marcela_m
13/08/2003
Obrigada pela ajuda, Marcelo, já verifiquei a função Random. Ainda não sei o que exatamente vou utilizar, pois preciso sortear somente números cadastrados no banco de dados (são números de matrículas de associados do clube em que eu trabalho).
Mas valeu,
Até mais,
Mas valeu,
Até mais,
GOSTEI 0
Marcelo Saviski
13/08/2003
Experimente fazer:
table.First;
table.MoveBy(Random(table.recordcount));
numerodametricula := table.fieldbyname(´matricula´).asinteger;
table.First;
table.MoveBy(Random(table.recordcount));
numerodametricula := table.fieldbyname(´matricula´).asinteger;
GOSTEI 0