Sumando puntos

Habíamos creado el procedimiento de edición para poder sumar los puntos y goles. Bien, ahora vamos a hacerlo interactuar con el formulario principal. Ya hemos creado las rutinas que comparan los goles y asignan el puntaje en función de esto.

En Fmain vamos a lanzar el procedimiento de ediciòn en el evento activate de la tabla. Este evento se dispara cuando hacemos doble click sobre la misma o cuando hacemos enter con el foco en la tabla.

Public Sub tabla_Activate()

Dim hresul As Result

If tabla.Current = Null Then Return

If ConectarBase() Then Return

hresul = hconn.Edit(“equipos”, “Equipo=&1”,
tabla.Current.Key)
fdata1.runedit(hresul)‘ESTA LINEA LANZA EL RUNEDIT EN FDATA1
tabla.Current[0] = hresul[“Equipo”]
tabla.Current[1] = hresul[“Puntaje”]
tabla.Current[2] = hresul[“Gf”]
tabla.Current[3] = hresul[“Gc”]

End

Pero, para activar la tabla con los parámetros correspondientes vamos a crear el procedimiento sumar_puntos, observe los comentarios destacados en mayúscula a la derecha del código.Recuerde que los comentarios empiezan con

Public Sub sumar_puntos(lista As Listbox, vbp As Valuebox, vbgf As Valuebox, vbcg As Valuebox) ‘ESTOS SON LOS PARÀMETROS

 Dim Clave As String   ‘DECLARAMOS VARIABLES
  Dim filtro As String

filtro = lista.Current.Text  ‘AQUÍ ELEGIMOS EL EQUIPO ACTUAL
tabla.Clear ‘limpiar tabla

If ConectarBase() Then Return

tabla.Columns.Count = 5

tabla.Columns[0].text = “Equipo”
tabla.Columns[0].Width = 280
tabla.Columns[0].Alignment = Align.Center
tabla.Columns[1].text = “Puntaje”
tabla.Columns[1].Alignment = Align.Center
tabla.Columns[1].Width = 60
tabla.Columns[2].text = “Gf”
tabla.Columns[2].Width = 40
tabla.Columns[2].Alignment = Align.Center
tabla.Columns[3].text = “Gc”
tabla.Columns[3].Alignment = Align.Center
tabla.Columns[3].Width = 40
tabla.Columns[4].text = “zdif”
tabla.Columns[4].Alignment = Align.Center
tabla.Columns[4].Width = 40

hresul = hconn.Exec(“Select * from equipos where Equipo like ‘” & filtro & “‘”) ‘SENTENCIA CONDICIONAL SQL

  Do While hresul.Available
Clave = hresul[“Equipo”]
tabla.Add(Clave, Clave) ‘CARGAMOS TABLA
tabla[Clave][1] = hresul[“Puntaje”]
tabla[Clave][2] = hresul[“Gf”]
tabla[Clave][3] = hresul[“Gc”]
tabla[Clave][4] = hresul[“zdif”]
hresul.MoveNext()
Loop
fdata1.vbgc.Value = vbcg.value ‘AQUI ASIGNAMOS LOS VALORES DE PUNTOS Y GOLES
fdata1.vbgf.Value = vbgf.Value
fdata1.vbpuntos.Value = vbp.value

tabla.SetFocus ‘PONEMOS EL FOCO EN LA TABLA
Desktop.SendKeys(“\n”) ‘ENVIAMOS UN ENTER PARA LANZAR EL EVENTO TABLA ACTIVATE
End
Observe que para referirnos a un control de otro formulario antepones el nombre del formulario al del control (fdata1.vbgc.Value) fdata=nombre formulario ;vbgc=nombre control; value =valor.

Para recorrer cada uno de los equipos vamos a lanzar el procedimiento sumar_puntos pasándole los parámetros de la siguiente manera;en el evento click de btnsumar

Public Sub btnsumar_Click()

sumar_puntos(lb1, vb2, vb1, vb3)
Wait 0.1
sumar_puntos(lb2, vb4, vb3, vb1)
Wait 0.1
sumar_puntos(lb3, vb6, vb5, vb7)
Wait 0.1
sumar_puntos(lb4, vb8, vb7, vb5)
Wait 0.1
sumar_puntos(lb5, vb10, vb9, vb11)
Wait 0.1
sumar_puntos(lb6, vb12, vb11, vb9)
Wait 0.1
sumar_puntos(lb7, vb14, vb13, vb15)
Wait 0.1
sumar_puntos(lb8, vb16, vb15, vb13)
Wait 0.1
sumar_puntos(lb9, vb18, vb17, vb19)
Wait 0.1
sumar_puntos(lb10, vb20, vb19, vb17)
Wait 0.1
sumar_puntos(lb11, vb22, vb21, vb23)
Wait 0.1
sumar_puntos(lb12, vb24, vb23, vb21)
Wait 0.1
sumar_puntos(lb13, vb26, vb25, vb27)
Wait 0.1
sumar_puntos(lb14, vb28, vb27, vb25)
Wait 0.1
sumar_puntos(lb15, vb30, vb29, vb31)
Wait 0.1
sumar_puntos(lb16, vbv32, vb31, vb29)
Wait 0.1

pocisiones
btnsumar.enabled = False
btnfecha.enabled = True
End

El Wait 0.1 es para que el procedimiento se lance con  100 milisegundos de Delay entre uno y otro. No se si es estrictamente necesario, pero hasta que lo puse el programa se colgaba aquí. Al final volvemos a cargar la tabla de pocisiones completa , bloqueamos el botòn de sumar para evitar sumar de nuevo por error y habilitamos el botón que guarda la fecha completa en la tabla correspondiente.

 

Anuncios
Esta entrada fue publicada en programación y etiquetada . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s