none
Ejecutar función en timer RRS feed

  • Pregunta

  • Buenas a todos,

    Explico mi contexto antes de formular la pregunta, tengo esta función que me muestra la fecha y hora actualizada:

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

            Dim fechaIni = DateTime.Now.ToString("dd/MM/yyyy")
            Dim horaInic = DateTime.Now.ToLongTimeString()
            Dim fecha As Date
            fecha = Now
            ModProgramacionEvento.FechaActual = fechaIni
            ModProgramacionEvento.HoraActual = horaInic
            FechaActual.Text = fechaIni
            Reloj.Text = horaInic
            ValidarEventoActivo(Weekday(fecha), horaInic)  'Se envia el día y hora actual y se valida si hay algún elemento activo
        End Sub

    Ahora lo que necesito es ejecutar esta función ValidarEventoActivo(Weekday(fecha), horaInic) en un intervalo determinado de tiempo ejemplo: 5 min, pero sin afectar lo otro que es mostrar el tiempo y hora actualizada en mi programa, ahora viene mi pregunta ¿ Alguien me podría dar alguna idea o si sabe alguna forma de hacerlo?.

    Muchas gracias a todos por sus aportes, ya me han ayudado antes y les agradezco.

    miércoles, 26 de abril de 2017 1:40

Respuestas

  • dim Tiempo as long

    tiempo=0

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

            Dim fechaIni = DateTime.Now.ToString("dd/MM/yyyy")
            Dim horaInic = DateTime.Now.ToLongTimeString()
            Dim fecha As Date
            fecha = Now
            ModProgramacionEvento.FechaActual = fechaIni
            ModProgramacionEvento.HoraActual = horaInic
            FechaActual.Text = fechaIni
            Reloj.Text = horaInic

    tiempo=tiempo+1

    if tiempo =300 then

            ValidarEventoActivo(Weekday(fecha), horaInic)  'Se envia el día y hora actual y se valida si hay algún elemento activo

    endif

        End Sub

    • Marcado como respuesta John Vanegas sábado, 8 de julio de 2017 0:09
    miércoles, 3 de mayo de 2017 0:15

Todas las respuestas

  • Definis una variable global al modulo

    dim tiempo as long

    la inicializas en cero

    dentro del timer le vas sumando 1 segundo y cuando llega a 300 ejecutas la funcion y volves a poner a cero.

    miércoles, 26 de abril de 2017 23:13
  • La verdad no me funcionó, gracias por tu aporte, pero sigue ejecutándose en el mismo tiempo de la función timer. segundo a segundo. Si tiene alguna otra idea se lo agradecería.
    viernes, 28 de abril de 2017 0:10
  • dim Tiempo as long

    tiempo=0

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

            Dim fechaIni = DateTime.Now.ToString("dd/MM/yyyy")
            Dim horaInic = DateTime.Now.ToLongTimeString()
            Dim fecha As Date
            fecha = Now
            ModProgramacionEvento.FechaActual = fechaIni
            ModProgramacionEvento.HoraActual = horaInic
            FechaActual.Text = fechaIni
            Reloj.Text = horaInic

    tiempo=tiempo+1

    if tiempo =300 then

            ValidarEventoActivo(Weekday(fecha), horaInic)  'Se envia el día y hora actual y se valida si hay algún elemento activo

    endif

        End Sub

    • Marcado como respuesta John Vanegas sábado, 8 de julio de 2017 0:09
    miércoles, 3 de mayo de 2017 0:15