Visual Basic - ¡¡ URGENTE BD !!

Life is soft - evento anual de software empresarial
 
Vista:

¡¡ URGENTE BD !!

Publicado por Sergio Jaime (23 intervenciones) el 21/09/2001 02:21:22
Buenas a todos de nuevo aqui esto me corre muchisima prisa. Necesito una BD con todos los posible cartones de un juego de Bingos o algun codigo de como crearlos.

Muchas Gracias Saludos.

[email protected]

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¡¡ URGENTE BD !!

Publicado por bla (230 intervenciones) el 21/09/2001 10:57:39
Supongo que te basta con una rutina para generar un tablero aleatorio:

Dim lintMax As Integer
Dim lintNumCasillas As Integer
Dim lintTablero() As Integer
Dim lblnError As Boolean
Dim lStr As String
Dim i As Integer
Dim j As Integer
Randomize Timer
lintMax = 60
lintNumCasillas = 12
ReDim lintTablero(1 To lintNumCasillas)
For i = 1 To lintNumCasillas
Do
lintTablero(i) = Int(Rnd() * (lintMax + 1))
lblnError = False '* Comprobamos que no se repita en el tablero
For j = 1 To i - 1
If lintTablero(j) = lintTablero(i) Then
lblnError = True
Exit For
End If
Next
Loop While lblnError = True
Next
lStr = ""
For i = 1 To lintNumCasillas
lStr = lStr & ", " & lintTablero(i)
Next
Debug.Print Mid(lStr, 3) '* Salida en la pantalla de inmediato.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡¡ URGENTE BD !!

Publicado por bla (230 intervenciones) el 21/09/2001 11:34:12
Esto te genera todos los tableros. La salida es por la pantalla de inmediato, pero puedes grabarlo en una bd sin dificultad. El ejemplo lo he creado con un tablero pequeño para comprobar el resultado, puedes cambialo con las variables lintMax y lintNumCasillas

Private Sub Command2_Click()
Dim lintMax As Integer
Dim lintNumCasillas As Integer
Dim lintTablero() As Integer
Randomize Timer
lintMax = 5
lintNumCasillas = 3
ReDim lintTablero(1 To lintNumCasillas)

lintTablero(1) = -1 '* Para que el primer nº sea el 0
Comb lintTablero, 1, lintMax

End Sub
Private Sub Comb(rintTablero() As Integer, rintIndice As Integer, rintMax As Integer)
Dim i As Integer, lStr As String
rintTablero(rintIndice) = rintTablero(rintIndice) + 1
If rintTablero(rintIndice) > rintMax Then
'* El tablero no es válido
If rintIndice > 1 Then
Comb rintTablero, rintIndice - 1, rintMax
Else
'* Hemos terminado
End If
ElseIf rintIndice = UBound(rintTablero) Then
'* El tablero está completo
'* Lo mostramos (lo escribimos en una bd, etc.)
lStr = ""
For i = 1 To rintIndice
lStr = lStr & ", " & rintTablero(i)
Next
Debug.Print Mid(lStr, 3)
'* Y seguimos
Comb rintTablero, rintIndice, rintMax
Else
rintTablero(rintIndice + 1) = rintTablero(rintIndice)
Comb rintTablero, rintIndice + 1, rintMax
End If %
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar