Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

tabla de posiciones

Estas en el tema de tabla de posiciones en el foro de Visual Basic clásico en Foros del Web. Estoy realizando algo así como una tabla de posiciones de equipos. Tal quedó en 1er puesto, tal en segundo... Tengo un array de 4 labels ...
  #1 (permalink)  
Antiguo 12/09/2008, 08:59
 
Fecha de Ingreso: octubre-2006
Mensajes: 139
Antigüedad: 17 años, 6 meses
Puntos: 1
tabla de posiciones

Estoy realizando algo así como una tabla de posiciones de equipos. Tal quedó en 1er puesto, tal en segundo...
Tengo un array de 4 labels , que son Label(0) a Label (3). Todos ellos almacenan un entero, un número, que identifica los puntos obtenidos.
quiero colocar otros 4 labels, uno debajo de cada uno, que informen en que posición de la tabla han quedado, 1ros , segundos , 3ros o 4tos
Necesito un ayuda , algún indicio del código
  #2 (permalink)  
Antiguo 12/09/2008, 10:04
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: tabla de posiciones

Cita:
Iniciado por DIDAKE Ver Mensaje
Estoy realizando algo así como una tabla de posiciones de equipos. Tal quedó en 1er puesto, tal en segundo...
Tengo un array de 4 labels , que son Label(0) a Label (3). Todos ellos almacenan un entero, un número, que identifica los puntos obtenidos.
quiero colocar otros 4 labels, uno debajo de cada uno, que informen en que posición de la tabla han quedado, 1ros , segundos , 3ros o 4tos
Necesito un ayuda , algún indicio del código
Te pongo un ejemplo comentado de cómo cargar en un array los labels y ordenarlos.

Código:
Dim a() As Integer      ' El array
Dim i As Integer        ' contador de bucles
Dim k As Integer        ' mayor valor del array de controles

k = Label1.Count - 1
' redimensionar la matriz al número de Labels
ReDim a(k)
' pasar los valores de los label al array
For i = 0 To k
    a(i) = Label1(i)
Next i

' ordenar el array
Dim x As Integer, j As Integer
x = 1
While (x = 1)
    x = 0
    For i = 1 To UBound(a)
        If a(i - 1) > a(i) Then
            j = a(i - 1)
            a(i - 1) = a(i)
            a(i) = j
            x = 1
        End If
    Next i
Wend

' listar el array ordenado de menor a mayor (sólo para comprobación)
For i = 0 To UBound(a)
    List1.AddItem a(i)
Next i
  #3 (permalink)  
Antiguo 12/09/2008, 10:51
 
Fecha de Ingreso: octubre-2006
Mensajes: 139
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: tabla de posiciones

Avellaneda : Gracias !! Sos un capo !! Sólo debo adapatarlo un poco , porque no quiero una lista sino que cada label indique con un 1ro , 2do ... debajo su posición en la tabla
  #4 (permalink)  
Antiguo 12/09/2008, 11:06
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: tabla de posiciones

Pues ya teniendo el array ordenado, lo único que tienes que hacer es una comparación de los elementos del array con el caption de los label. Y ya sabes el último del array sería el primero (el que mas puntos tiene) y el primero el último.
También puedes hacer la ordenación en orden descendente.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:24.