Dark Skyllen 7 #1 Postado 1 Junho, 2009 (editado) → Números Aleatórios (Random) Bom, hoje, iremos falar de uma função no Delphi muito interessante: o Random. O nosso querido Random, gera números aleatoriamente, escolhidos pelo programador. A função Random, é muito utilizada para quem deseja programar jogos, para colocar porcentagens e etc. É uma função muito simples e prática. Para entendermos melhor vamos ver alguns exemplos: → Criamos uma variável do tipo INTEGER: → Após fazermos isso devemos atribuir um valor aleatório a variável, isso será feito com o nosso comando: RANDOM. → Você deve estar se perguntando, mas como irei fazer isso. Vou explicar. Vamos ver a estrutura do comando. Random () <- Dentro dos Parênteses iremos colocar até onde irá o valor aleatório. Exemplo: Random(5); Nesse caso, ele irá atribuir um valor aleatório de 0 à 5. Mas para que isso ocorra, devemos atribuir esse valor há algum objeto ou variável. Agora vamos usar a variável que criamos. Exemplo: Numero := Random(5); No meu caso, eu dei o nome à variável de Numero. Ela recebeu um valor de 0 à 5. Para mim mostrar que número será, basta jogar esse valor à um componente visual. Agora que já sabemos como funciona a estrutura do Random, vamos criar um programa simples, que gera números aleatórios de 0 á 50. Siga os passos: → Adicione ao formulário os seguintes componentes: 1 Botão (Tbutton) e 1 Label. → Vá até as propriedades do Label e procure por Caption. Deixe essa propriedade vazia. → Altere o nome dos componentes para BtnGerar e LbNumero (Basta procurar por Name nas propriedades do componente). → De duplo clique no botão inserido e insira o seguinte comando: LbNumero.Caption := ‘O número gerado foi: ‘ + inttostr(Random(50)); Bom, nesse algoritmo, jogamos um valor no LbNumero, que no caso foi um texto + o nosso random. No final do comando precisamos transformar o número gerado pelo random de inteiro para texto, pois a propriedade Caption do label só aceita valores do tipo texto. Ficará assim: → Randomize Ao rodar varias vezes o programa, você irá perceber que ele sempre joga os mesmos valores. Por exemplo: Você rodou o programa pela primeira vez, clicou no botão 3 vezes, e os números gerados foram: 3, 43, 27. Se você fechar a aplicação e rodá-la novamente, verá que os mesmos números irão se repetir, independente de quantas vezes você rodar o programa. Esse problema pode ser resolvido com o Randomize. Para entendermos, vamos refazer nosso programinha. Abra ele e de duplo clique no nosso Botão (BtnGerar). Irá abrir a seguinte função: LbNumero.Caption := ‘O número gerado foi: ‘ + inttostr(Random(50)); Para arrumarmos nosso problema, basta adicionar randomize; antes de qualquer função que seja acompanhada por random. Então nosso código ficará: randomize;LbNumero.Caption := ‘O número gerado foi: ‘ + inttostr(Random(50)); Agora não teremos mais problemas com números aleatórios, gerados igualmente e você estará pronto para usar a função random! __________________________________________________________ Se for copiar o tópico, coloque os créditos. Plágio é crime Créditos: Dark Skyllen - Tópico Exclusivo Otnet Editado 7 Junho, 2009 por Dark Skyllen Compartilhar este post Link para o post Compartilhar em outros sites
xSlayerx 0 #2 Postado 10 Junho, 2009 muito bom! Parabéns pelo tuto, está muito bem explicado Compartilhar este post Link para o post Compartilhar em outros sites
Fantom 1 #3 Postado 30 Junho, 2009 Otimo, poderia me enviar o programa via MP, precisava exatamente disso... Obrigado pelo tutorial, pena que nao entendo nada de delphi. Compartilhar este post Link para o post Compartilhar em outros sites
mano limao 0 #4 Postado 13 Agosto, 2009 é uma pena que essa função q vem junto com o delphi não cria numeros inteiramente aleatorios... :thumbsdown::thumbsdown::thumbsdown: Random (5) se vc apertar o botao e depois fexa o formulario e abri-lo de novo e aperta o botao de novo o numero gerado sera o mesmo... recomendo a quem está precisando disso pegar esta unit: http://www.baixaki.com.br/download/rndgen.htm que vem com um aleatorio inteiramente funcional, e com mais algumas funções... como letras e conjuntos de caracteres aleatorios.... vlws att Compartilhar este post Link para o post Compartilhar em outros sites