Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: zarq29 en 2 Mayo 2008, 20:20 PM

Título: Trabajar con lista aleatoriamente
Publicado por: zarq29 en 2 Mayo 2008, 20:20 PM
Hola

Soy bastante novato en VB,y necesito saber como tener una lista de cadenas (nombres precisamente) y mostrarlas de forma aleatoria...bien, paso a explicarme mejor:
Quiero crear una especie de "fixture" de un torneo, y que los grupos se den de forma aleatoria. Para eso coloque un botón "Aleatorio" con el cual busco dar valores de cadenas aleatorias a algunos Labels, pero respetando la lista de nombres que mencione anteriormente, y sin repetir en más de una ocacion esa cadena, es decir: una vez usada la cadena, no vuelve a utilizarse.

espero me hayan entendido lo que necesito

gracias de antemano, y saludos!
Título: Re: Trabajar con lista aleatoriamente
Publicado por: cassiani en 2 Mayo 2008, 20:38 PM
Usa vectores y la función RND para generar un numero entre 0 y el limite de elementos del mismo, luego seleccionas la cadena con el numero generado.

¡Saludos voy retrasado!
Título: Re: Trabajar con lista aleatoriamente
Publicado por: zarq29 en 2 Mayo 2008, 21:00 PM
si podrias ser un poco mas específico o dejarme algun ejemplo te agradeceria mucho ;)

Cita de: zarq29soy bastante novato en VB

.................
xD

perdon las molestias :-[
saludos
Título: Re: Trabajar con lista aleatoriamente
Publicado por: naderST en 2 Mayo 2008, 21:31 PM
Bueno... yo lo haria asi:


Option Explicit

Private Sub Command1_Click()
Dim Equipos As Variant

Equipos = Array("Barcelona", "Milan", "Chelsea", "Real Madrid")

Randomize

Label1.Caption = Equipos(Int(Rnd * (UBound(Equipos) + 1)))
End Sub

Título: Re: Trabajar con lista aleatoriamente
Publicado por: Lambda en 2 Mayo 2008, 22:24 PM
Cita de: naderST en  2 Mayo 2008, 21:31 PM
Bueno... yo lo haria asi:


Option Explicit

Private Sub Command1_Click()
Dim Equipos As Variant

Equipos = Array("Barcelona", "Milan", "Chelsea", "Real Madrid")

Randomize

Label1.Caption = Equipos(Int(Rnd * (UBound(Equipos) + 1)))
End Sub



Es Dim Equipos() As variant

creo recordar o si queres un numero definido Dim Equipos(1 To 200) As Variant

hace tiempo q no programo en VB asi q no estoy seguro XD
Título: Re: Trabajar con lista aleatoriamente
Publicado por: naderST en 2 Mayo 2008, 23:09 PM
Cita de: Lambda en  2 Mayo 2008, 22:24 PM
Cita de: naderST en  2 Mayo 2008, 21:31 PM
Bueno... yo lo haria asi:


Option Explicit

Private Sub Command1_Click()
Dim Equipos As Variant

Equipos = Array("Barcelona", "Milan", "Chelsea", "Real Madrid")

Randomize

Label1.Caption = Equipos(Int(Rnd * (UBound(Equipos) + 1)))
End Sub



Es Dim Equipos() As variant

creo recordar o si queres un numero definido Dim Equipos(1 To 200) As Variant

hace tiempo q no programo en VB asi q no estoy seguro XD

En este caso no es necesario poner () bueno creo yo... porque lo probe y funciono bien.
Título: Re: Trabajar con lista aleatoriamente
Publicado por: zarq29 en 3 Mayo 2008, 03:51 AM
muchas gracias amigo, funciono perfecto, solo por un problema...

al presionar el command, suele pasar que me queda (por ejemplo) " Milan vs Milan "... hay alguna forma de solucionarlo?

gracias nuevamente

saludos
Título: Re: Trabajar con lista aleatoriamente
Publicado por: naderST en 3 Mayo 2008, 04:03 AM
usa IF ejemplo:

if label1.caption = Label2.caption then
'GENERA OTRO
end if