visual basic 6

Rikazzold

Power Member
Boas

Estou a desenvolver o Bingo em VB6.

Numa array de 18 valores são gerados números aleatórios de 1 a 48 mas esses números não podem ser repetidos. Só que eu não consigo fazer com que os números não se repitam.
Tenho aqui o código do botão que fiz.
Private Sub cmd_iniciar_jogo_Click()
Dim x As Integer
Dim y As Integer
Dim z As Integer
Dim t As Integer

For x = 0 To 17

lbl_num_sorteio(x) = Int((Rnd * 48) + 1)
Next

For t = 0 To 17
z = 17
For y = 0 To 17
If lbl_num_sorteio(z) = lbl_num_sorteio(t) Then

lbl_num_sorteio(z) = Int((Rnd * 48) + 1)

End If
z = z - 1
Next
Next


End Sub

A variavel Z serve para correr as array de labels da última para a primeira para verificar se há números iguais. Só que não funciona.

Alguém me poderá ajudar?
Cumps.
 
O teu problema está em que só verificas se tens números repetidos uma vez, por exemplo, supõe que encontras o número 20 repetido,aí geras outro por exemplo, o 14, mas este 14 pode já existir noutro vector e aí deixas de ter o 20 repetido e passa a ter o 14.

O que tens a fazer é mal acabes de gerar o número verificas logo se ele já existe.

Private Sub cmd_iniciar_jogo_Click()
Dim x As Integer
Dim z As Integer

For x = 0 To 17

lbl_num_sorteio(x) = Int((Rnd * 48) + 1)

' verifica todos os nºs já sorteados
For z=0 to x-1
If lbl_num_sorteio(z) = lbl_num_sorteio(x) then
lbl_num_sorteio(x) = Int((Rnd * 48) + 1)
z=0 ' volta a verificar partir do 1º nº sorteado, o novo nº gerado pode já existir
end if
next

End Sub
 
Estou no tecnologico de informatica, e preciso fazer um projecto. e resolvi fazer um quizz em VB6. mas estou com dificuldades sobre a ligação a uma base de dados e como fazer a própria base de dados, já que nunca estudamos isso. se me pudessem ajudar... :)
 
Lol se estás num curso tecnológico de informática e queres uma BD espera pelo fim do 2º período ou Início do 3º... é que eu até lá também não te posso ajudar XD
Mas se queres assim tanto começa por ver como se criam ficheiros. Depois parte para o access

Cumps.
 
Back
Topo