É uma boa pergunta, mas não imagino uma resposta convincente... Quanto a se repetir em máquinas diferentes do usuário, o que posso dizer que me lembro é que a primeira execução de Random é gerada usando a data e a hora do sistema, portanto parte do mesmo valor independente do equipamento. A partir daí as coisas se randomizam mesmo.
Acho que para limitar essa repetição, seria interessante (porém mais custoso) refazer o sorteio em caso de repetição do código, fazendo o paralelo com o sorteio de um bingo, onde as "pedras" já retiradas não voltam para o recipiente. Espero ter contribuido. Atte, Ricardo. 1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS. 2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor compreendida. 3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante! --- Em seg, 7/12/09, valdirdill <vald...@infolivre.com.br> escreveu: De: valdirdill <vald...@infolivre.com.br> Assunto: [delphi-br] Dúvida com Sorteio (Random) Para: delphi-br@yahoogrupos.com.br Data: Segunda-feira, 7 de Dezembro de 2009, 12:16 Olá, Tenho a função abaixo para gerar um código que utilizo no sistema. Pela lógica, se chamarmos a função assim: "GeraCodigoAlfaNume ricoAleatorio( 10);" o retorno deveria ser sempre diferente. Poderia até repetir, mas a chance disso acontecer, seria tipo uma em um bilhão? O problema: em 610 códigos gerados, o código 6HGX564TQP já se repetiu 23 vezes. Para isso ocorrer, o resutaldo do "random(Length( VMatriz)) " teria ser 6-18-17-34-5- 6-4-30-27- 26. Qual a chance desse sorteio ocorrer exatamente igual e nessa mesma ordem? Pois, em 610 tentativas, ocorreu 23 vezes. A execução é feita sempre em máquinas diferentes (do usuário), mas mesmo assim, isso não poderia ocorrer, poderia? Qualquer dica ajuda. Obrigado function GeraCodigoAlfaNumer icoAleatorio( VTamanho : Integer) : string; Var I : Integer; VMatriz : String; begin VMatriz := '1234567890ABCDEFGH IJKLMNOPQRSTUVWX YZ' result := ''; for I := 1 to VTamanho do result := result + Copy(VMatriz, random(Length( VMatriz)) ,1); end; ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]