Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
CAI Visual Basic - Ej Mundial
' EJERCICIO MUNDIAL ' Desarrollar la función cargarPartidos que recibe los parámetros anioMundial, codigoEquipo y lstSalida. ' Esta función carga en el listbox pasado como parámetro la información ' de los partidos para el equipo solicitado (o para todos los equipos ' en caso de que el código de equipo sea -1). Devuelve la cantidad de partidos ' cargados en el listbox. Solo mostrar partidos anteriores a la fecha actual. ' FORMATO: [FECHA] [LOCAL] [G_LOC] – [G_VIS] [VISITANTE] Private Function cargarPartidos (anioMundial as Integer, codigoEquipo as Integer, lstSalida as ListBox) as Integer lstSalida.Clear Dim totalPartidos as Integer totalPartidos = 0 Dim partidos as RecordSet Set partidos = abrirTabla("Partido", oDB) Dim equipos as RecordSet Set equipos = abrirTabla("Equipo", oDB) Dim criterioPartidos as String criterioPartidos = "ptdFecha <= " & Date() & " AND ptdMundialAnio = " anioMundial If codigoEquipo <> -1 Then criterioPartidos = criterioPartidos & " AND (ptdEqLocal = " & codigoEquipo & " OR ptdEqVisitante = " & codigoEquipo & ")" End If partidos.FindFirst criterioPartidos Do while not partidos.NoMatch Dim resumenPartido as String resumenPartido = Format(partidos("ptdFecha"), "dd/mm/yyyy") Dim criterioEquipoLocal as String criterioEquipoLocal = "eqpCodigo = " & partidos("ptdEqLocal") equipos.FindFirst criterioEquipoLocal Do while not equipos.NoMatch resumenPartido = resumenPartido & vbtab & equipos("eqpNombre") equipos.FindNext criterioEquipoLocal Loop resumenPartido = resumenPartido & vbtab & partidos("ptdEqLocGoles") resumenPartido = resumenPartido & " - " resumenPartido = resumenPartido & vbtab & partidos("ptdEqVisGoles") Dim criterioEquipoVisitante as String criterioEquipoVisitante = "eqpCodigo = " & partidos("ptdEqVisitante") equipos.FindFirst criterioEquipoVisitante Do while not equipos.NoMatch resumenPartido = resumenPartido & vbtab & equipos("eqpNombre") equipos.FindNext criterioEquipoVisitante Loop ' 24/11/2018 Alemania 10 - 0 PutosUnidos agregarItemLista lstSalida, resumenPartido, partidos("ptdCodigo") totalPartidos = totalPartidos + 1 partidos.FindNext criterioPartidos Loop cerrarTabla partidos cerrarTabla equipos cargarPartidos = totalPartidos End Function ' Desarrollar el procedimiento cargarMundial, que recibe el parámetro anioMundial. ' Debe mostrar el nombre del campeón en el campo txtGanador, cargar los equipos ' participantes en lstEquipos, y llamar a cargarPartidos solicitando que se complete ' el listado lstPartidos (mostrar la salida en lblCantidad). Private Sub cargarMundial (anioMundial as Integer) lstEquipos.Clear Dim mundiales as RecordSet Set mundiales = abrirTabla("Mundial", oDB) Dim criterioMundial as String criterioMundial = "mdlAnio = " & anioMundial mundiales.FindFirst criterioMundial Do While Not mundiales.NoMatch txtGanador = mundiales("mdlGanador") Dim equiposMundial as RecordSet Set equiposMundial = abrirTabla("MundialEquipo", oDB) Dim criterioMundialEquipo as String criterioMundialEquipo = "mxeMundialAnio = " & anioMundial equiposMundial.FindFirst criterioMundialEquipo Do While Not equiposMundial.NoMatch Dim equipos as RecordSet Set equipos = abrirTabla("Equipo", oDB) Dim criterioEquipo as String criterioEquipo = "eqpCodigo = " equiposMundial("mxeEquipoCodigo") equipos.FindFirst criterioEquipo Do While Not equipos.NoMatch agregarItemLista lstEquipos, equipos("eqpNombre"), equipos("eqpCodigo") equipos.FindNext criterioEquipo Loop cerrarTabla equipos equiposMundial.FindNext criterioMundialEquipo Loop cerrarTabla equiposMundial mundiales.FindNext criterioMundial Loop cerrarTabla mundiales lblCantidad = cargarPartidos(anioMundial, -1, lstPartidos) End Sub ' Implementar el evento Click del listbox lstEquipos para que llame a cargarPartidos indicando ' el equipo seleccionado (si corresponde) Private Sub lstEquipos_Click() If lstEquipos.ItemData(lstEquipos.ListIndex) <> -1 Then cargarPartidos(txtAnioMundial, lstEquipos.ItemData(lstEquipos.ListIndex), lstPartidos) End If End Sub ' Implementar el evento Click del botón btnCargarMundial. Este procedimiento debe pasar, ' si corresponde, el valor de txtMundial a la rutina cargarMundial ' Validar el dato de entrada en todos los niveles conocidos ' (tipo de dato, regla de negocios, integridad referencial) Private Sub btnCargarMundial_Click() If _ IsNumeric(txtMundial) _ AND CInt(Format(txtMundial, "yyyy")) >= 1930 _ AND CInt(Format(txtMundial, "yyyy")) <= CInt(Format(Date, "yyyy")) _ AND IsDate(Format(txtMundial, "yyyy")) Then cargarMundial txtMundial Else MsgBox "El anio ingresado es incorrecto" End If End Sub ' Asignar a la variable strCriterio cada uno de los criterios solicitados a continuación ' La resolución de cada punto de este ejercicio solo requiere UNA línea de código. ' No hay que implementar ninguna función ni procedimiento. Solo se pueden usar las variables mencionadas. ' A) Obtener los partidos en que el equipo (que está disponible a través del recordset ' almacenado en la variable orsEquipo) haya ganado por una diferencia de goles mayor o ' igual al valor de intDif. Para evitar posibles errores, solo considerar fechas anteriores al día actual. strCriterio = "ptdFecha <= " & Date() _ & " AND (ptdEqLocal = " & orsEquipo("eqpCodigo") & " OR ptdEqVis = " & orsEquipo("eqpCodigo") & ")" _ & " AND ABS(ptdEqLocGoles - ptdEqVisGoles) >= " & intDif ' B) Obtener todos los eventos del equipo lngEquipo que en su descripción tengan la cadena ' parcial strEvento y sean de tipo 2, 3, ó 6 strCriterio = "evtEquipo = " & lngEquipo & " AND evtTipo IN (2, 3, 6) AND evtDescripcion LIKE '*" & strEvento & "*'"
run
|
edit
|
history
|
help
0
الحاسوب
gf
falhanço épico
pgcd def
ok
If Function returns not Nothing for DateTime
pepe
Rounding behaviours
No fear Shakespeare - sonnet of the day
hckhckhhkck