NameException Posted June 23, 2006 at 10:35 AM Report Share #34379 Posted June 23, 2006 at 10:35 AM Boas, ppl.... Tou a desenvolver uma aplicação em VB, para simular o sorteio do euromilhões, mas não estou a conseguir gerar numeros aleatórios..... Alguem me pode dar uma dica? Link to comment Share on other sites More sharing options...
Tyagus Posted June 23, 2006 at 11:54 AM Report Share #34393 Posted June 23, 2006 at 11:54 AM Aqui vai: Pega nos segundos do "time system" e multiplica por um número aleatóreo, criando assim um verdadeiro número aleatóreo Private Sub Command1_Click() seconds = Right(Time$, 2) 'Podes tirar o Int() e ficas com 'um número com casas decimais Random_Number = Int(Rnd * seconds) End Sub Link to comment Share on other sites More sharing options...
seesharptec Posted June 23, 2006 at 12:05 PM Report Share #34395 Posted June 23, 2006 at 12:05 PM Private Sub Command1_Click() Randomize Timer Random_Number = Int(Rnd * seconds) End Sub Penso que isto faz o mesmo SeeSharpTec Link to comment Share on other sites More sharing options...
UnKnowN Posted June 23, 2006 at 01:31 PM Report Share #34418 Posted June 23, 2006 at 01:31 PM Aqui fica a minha sugestão (dps posto o meu code do euromilhoes) Dim a As Double a = Int(Rnd * 3) + 1 Text1.Text = a A Função Int() faz com que o nº se transforme em inteiro sem regras de arredondamento, isto é, 9,6 não ficará 10, mas sim 9 para ficar inteiro segundo as regras de arredondamento terias de usar a função Round() O (Rnd * 3) + 1 que dizer que vai ser gerado um nº aleatório entre 0 e 2 penso eu, como 0 nao pode ser solução e é até 3 entao 0+1= 1, 1+1=2, 2+1 = 3, ou seja, o +1 é para que os valores fiquem entre 1 e 3 😉 Rnd é uma "sigla" usada para gerar nºs aleatórios 😁 Hope i've helped u Link to comment Share on other sites More sharing options...
UnKnowN Posted June 23, 2006 at 03:34 PM Report Share #34445 Posted June 23, 2006 at 03:34 PM Já nao tenho o code soz... :\ Link to comment Share on other sites More sharing options...
NameException Posted June 24, 2006 at 03:37 PM Author Report Share #34583 Posted June 24, 2006 at 03:37 PM Obrigadão!!! Link to comment Share on other sites More sharing options...
UnKnowN Posted June 24, 2006 at 04:09 PM Report Share #34596 Posted June 24, 2006 at 04:09 PM Obrigadão!!! Resultou de que forma ? 😉 Link to comment Share on other sites More sharing options...
NameException Posted June 26, 2006 at 09:26 AM Author Report Share #34814 Posted June 26, 2006 at 09:26 AM Assim gera um numero aleatório, mas eu kero gerar entre 5 e 12 numeros, mas não tenho forma de guardar esses numeros temporariamente e depois listá-los... Haverá algo parecido com Array's ou Vectores em VB 6, como em Java? Ou como é que posso guardar os valores? Link to comment Share on other sites More sharing options...
UnKnowN Posted June 26, 2006 at 10:00 AM Report Share #34819 Posted June 26, 2006 at 10:00 AM Assim gera um numero aleatório, mas eu kero gerar entre 5 e 12 numeros, mas não tenho forma de guardar esses numeros temporariamente e depois listá-los... Haverá algo parecido com Array's ou Vectores em VB 6, como em Java? Ou como é que posso guardar os valores? Há Arrays e Vectores 😛 http://www.portugal-a-programar.pt/index.php?showtopic=2589 Link to comment Share on other sites More sharing options...
jluisfer Posted July 6, 2006 at 08:46 AM Report Share #36512 Posted July 6, 2006 at 08:46 AM Para gerares nºs aleatorios podes usar apenas estas duas instruções randomize timer x=int(rnd*49)+1 para sortear de 1 a 49 depois podes criar um array do tipo boolean em que basicamente verificas se o nº que ele deu já saiu ou não para isso basta fazeres isso a(x).value=true if a(x).value=true then sorteia outro nº else a(x)=true msgbox x ou outro output qq endif Link to comment Share on other sites More sharing options...
Scorpion_Blood Posted July 7, 2006 at 09:20 AM Report Share #36739 Posted July 7, 2006 at 09:20 AM Aqui fica a minha sugestão (dps posto o meu code do euromilhoes) Dim a As Double a = Int(Rnd * 3) + 1 Text1.Text = a A Função Int() faz com que o nº se transforme em inteiro sem regras de arredondamento, isto é, 9,6 não ficará 10, mas sim 9 para ficar inteiro segundo as regras de arredondamento terias de usar a função Round() O (Rnd * 3) + 1 que dizer que vai ser gerado um nº aleatório entre 0 e 2 penso eu, como 0 nao pode ser solução e é até 3 entao 0+1= 1, 1+1=2, 2+1 = 3, ou seja, o +1 é para que os valores fiquem entre 1 e 3 🙂 Rnd é uma "sigla" usada para gerar nºs aleatórios 😁 Hope i've helped u a função round n funciona correctamente pk penso ser arredondamentos para outros países... o que quero dizer é, quando o falor é 9,3, o valor arredonda para 9... se o valor for 9,7, arredonda para 10... MAS se o valor for 9,5 o valor arredonda para 9, o que para nós está incorrecto, o que costumo fazer é adicionar 0,1 ao valor inicial para corrigir este erro e funciona correctamente 🙂 http://scorpion-blood.deviantart.com http://twitter.com/Scorpion_Blood Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now