USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Gerar Número Aleatório
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 02/07/2004 11:10 hs            
Olá, galera
 
Sei que é simples, mas como nunca fiz, prefiro perguntar...
 
Como faço pra gerar um número aleatório pertencente ao intervalo -2147483648 até 2147483647 (isso é, no intervalo de valores do tipo Long)???
 
Se não for pedir muito, deixem a rotina pronta pra mim... sei que nao deve dar mais de duas linhas, mas é que não sei mesmo como fazer. Se fossem somente valores positivos, eu sabia... mas tem os negativos ai tambem, e ai complicou tudo... fiz alguns testes, mas não deu muito certo...
 
Agradeço qualquer ajuda.
 
Elieser Carlos Topassi
São José do Rio Preto, SP
     
Leon@rdo
PORTO ALEGRE
RS - BRASIL
Postada em 02/07/2004 14:28 hs            
este código eu peguei num programinha que eu fiz de caça niqueis o Rnd é que faz ser aleatorio porém é um aleatorio ordenado, por isto * 10o resto vc desifra ai que eu to com pouco tempo valeu!!!   
 
 
pic_premio.Visible = False
  ' Gera os numeros aleatorios
    lbl_1.Caption = Int(Rnd * 10)
    lbl_2.Caption = Int(Rnd * 10)
    lbl_3.Caption = Int(Rnd * 10)
  ' testa os visores
    If ((lbl_1 = 7) And (lbl_2 = 7)) Or _
       ((lbl_1 = 7) And (lbl_3 = 7)) Or _
       ((lbl_2 = 7) And (lbl_3 = 7)) Then
       pic_premio.Visible = True ' exibe a figura
       Beep
    End If
   
    If (lbl_1 = 7) And (lbl_2 = 7) And (lbl_3 = 7) Then
        pic_maximo.Visible = True
        lbl_premio.Visible = True
        pic_premio.Visible = False
     
WaldirJr
POÇOS DE CALDAS
MG - BRASIL
Postada em 02/07/2004 14:53 hs            
Leonardo,
Para que o Rnd() deixe de gerar numeros Ordenados, coloque na sub que vc chama o Rnd() o evento Randomize.

Elieser,
Se vc tentar trabalhar direto com números ou com a variavel Long vai dar Overflow, então Faça assim:

Dim lngValor As Long
Dim dblSorteio As Double
Randomize
lngValor = 2147483647
dblSorteio = lngValor * 2
dblSorteio = Int(Rnd() * dblSorteio)
lngValor = dblSorteio - lngValor

________________________

Té +

Que NIMB role bons Dados! Emoções

     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 02/07/2004 16:55 hs            
Galera,
 
Valeu pelo codigo e tudo mais, mas o que eu quero é gerar numeros negativos ou positivos. Veja: se eu fizer rnd*10, vai gerar um numero entre 1 e 10, mas eu quero por exemplo entre -10 e 10. Como faço isso???
     
WaldirJr
POÇOS DE CALDAS
MG - BRASIL
Postada em 02/07/2004 17:03 hs            
Então, é como eu falei
 
Int((Rnd() * (10 * 2) - 10)
 
com isso, na multiplicação ele gera um numero entre 20, depois ele ajusta para a sua escala (10, -10)

________________________

Té +

Que NIMB role bons Dados! Emoções

     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 03/07/2004 10:27 hs            
WaldirJr, acho que eu to ficando velho... juro que nao tinha pensado em fazer isso!!!
 
 
Valeu galera... Abraços a todos...
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página