Reutilizando código

Habíamos visto en el post anterior como llamar a un procedimiento o función desde distintos lugares para evitar escribirlo muchas veces. Experimentando rato despúes me di cuenta que el procedimiento usado para rellenar el columview lo iba a tener que llamar más de una vez durante el programa, por lo que me convenía encontrar una manera de no tener que reescribirlo. Esta fue la solución:

Y así quedó el código del evento open de fmain, mucho más corto:

Hemos agregado en la sentencia sql un par de claúsulas para que nos ordene la lista,resaltado en negrita :

hresul = hconn.Exec(“Select * from equipos order by Puntaje DESC, zdif DESC “)

order by(ordene por)  puntaje DESC (puntaje de mayor a menor) zdif DESC(diferencia de goles de mayor a menor)

Esto nos permite ordener la tabla de pocisiones desde el de más puntaje, si hay dos con el mismo puntaje va primero el que tenga mayor diferencia de goles. Incluso podríamos agregarle a la sentencia sql una tercera condición , Gf DESC para que en caso de que estuvieran empatados en puntos y saldo de goles pusiese primero el que tuviera más goles a favor.

Necesitamos que cuando inicie el programa nos cargue en los 16 listbox la lista de equipos para poder seleccionarlos y no tener que escribir uno x uno. Además de la comodidad que esto implica, nos permite evitar errores al tipear los nombres. Recordemos brevemente la sintaxis utilizada para cargar los mismos:

listbox.add(“lo que quieras”)

Ahora, imaginemos hacer esto para 16 listbox con 16 equipos cada uno. Es mucho código. Además. si cambiamos de liga o hay ascensos y descensos cambiar equipos nos implicaría meter mano en el código. Lo que vamos a hacer es que cada listbox se cargue desde la base de datos, mediante un select y un procedimiento creado al efecto: el procedimiento listado con el parámetro lista as listbox(lista como listbox)

Primero como siempre declaramos las variables, Dim clave as String, luego agregamos esta sentencia al principio de la lista (lista.Add(“Elige un equipo”)) para obligarnos a seleccionar un equipo en cada lista. Esto nos evita que alguno de los listbox quede con valor Null al no modificar la selección. A continuación comprobamos que la base esté conectada y seleccionamos los equipos en orden alfabético “order by Equipo ASC” y mediante el Do while…loop  recorremos equipo por equipo. Pero,¿donde cargamos la lista?

En cada uno de los listbox mediante el llamado al procedimiento listado con el parámetro del nombre de cada uno de los listbox, en el sub listar:

listado(lb1)
……………….
listado(lb16)

 

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

2 respuestas a Reutilizando código

  1. Calichy dijo:

    exelentisimo aporte te agradezco todo este material y espero sigan trabajando aportanto mas para aprender mas…. mil gracias

  2. dapeca2608 dijo:

    Gracias Calichy, es bueno saber que hay gente del otro lado a la cual este trabajo le resulta útil. Compartiendo conocimientos todos aprendemos.

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