NUMERACAO AUTOMATICA

USUARIO.EXCLUIDOS 03/03/2005 09:23:07
#70889
Ola colegas
eu gostaria de saber como eu poderia fazer para obter uma numeração automática, mas não sequencial, e sim aleatório, como se fosse um sorteio!!
Um exmplo, eu clico em um botão e aparece na caixa de texo um número qualquer, aleaório, sendo que se eu clicar novamente aparecerá um outro número que não da sequencia ao primeiro. Não sei se fui claro, mas creio que poderão me ajudar.
USUARIO.EXCLUIDOS 03/03/2005 09:32:01
#70893
Resposta escolhida
Qual é o limite? Essa sua sequência vai de zero até quanto?
USUARIO.EXCLUIDOS 03/03/2005 09:33:27
#70894
Numero = Int(Rnd * 10000)
' depois é so testar se o numero ja existe
USUARIO.EXCLUIDOS 03/03/2005 09:44:33
#70899
Max - O limite é indiferente, poderia ser de 0 a 99 por exemplo, já estaria ótimo

Clayton - Você poderia explicar seu código um pouco melhor? sou iniciante em VB
TROVAM 03/03/2005 09:47:54
#70901
Faça da seguinte maneira:

function Num
Randomize
MsgBox Int((99 * Rnd) + 1) ' Gera valor aleatorio entre 1 e 99
end function

Até mais...
USUARIO.EXCLUIDOS 03/03/2005 10:06:19
#70910
Num módulo:

Public seq() As String
Public n As Long

No form, com um botão e um listbox:

Private Sub Form_Load()
'cria a sequência
'Vou fazer uma sequencia de 0 a 10
n = 10
ReDim seq(n, 1) 'serão (n + 1) linhas (de 0 a n) e duas colunas (de 0 a 1)
For qqu = 0 To n
seq(qqu, 0) = CStr(qqu)
Next
End Sub

Private Sub Command1_Click()
Do While List1.ListCount <> n + 1
num = Int(Rnd * (n + 1)) 'Rnd gera números entre 0 e 1, exclusive. Então a expressão vai gerar números inteiros entre 0 e n
If seq(num, 1) = "" Then 'se a coluna 1 do array seq na linha "num" estiver vazia então joga esse num na listbox e marca essa linha como "usada"
List1.AddItem seq(num, 0)
seq(num, 1) = "usada"
End If
Loop
List1.AddItem "Pronto!"
End Sub
Tópico encerrado , respostas não são mais permitidas