Вы находитесь на странице: 1из 4

Control Timer A travs del control Timer es posible ejecutar una instruccin en un intervalo de tiempo especifico, este Timer

se activa estableciendo su propiedad Interval con el valor True y se ejecutar hasta que por medio de la accin del usuario lo detenga o se desactive el temporizador. Cuando agrega un Timer este no es visible en el formulario pero si en la parte inferior de la pantalla (Bandeja de Componentes), justo debajo del formulario. En Visual Basic .NET el nombre del control cambia su nombre por Timer_Tick Por ejemplo si desea que se ejecute una accin cada segundo, ser necesario cambiar el valor de la propiedad Interval a 1000 milisegundos. Para iniciar la ejecucin del propio Timer es necesario establecer el valor de la propiedad Enabled a True. Para detencer la ejecucin del Timer es necesario invocar el mtodo Stop(). Dim i As Integer = 0 Private Sub btnInicio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles btnInicio.Click Timer1.Enabled = True End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Timer1.Tick lblTic.Text = CStr(i) i += 1 End Sub Private Sub btnFin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles btnFin.Click Timer1.Stop() End Sub

La propiedad mas importante de este control es la propiedad Interval

Definicin del propiedad Interval: Devuelve o establece el nmero de milisegundos entre dos llamadas al evento Timer de un control Timer. en castellano, esto quiere decir que la propiedad es la que determina el intervalo en el que ejecutar las instrucciones que estn en el evento llamado Timer, que es el nico evento que posee el control Por ejemplo, si agregs un Timer al formulario y le haces DobleClick sobre el mismo, al abrirse la ventana de cdigo Visual Basic crear una rutina de evento como la siguiente:

El control Timer es un temporizador que nos permite ejecutar instrucciones de cdigo, rutinas, funciones etc..., cada cierto intervalo de tiempo. Este control es invisible en tiempo de ejecucin, esto quiere decir que no tiene interfaz grfica, solo es visible cuando lo agregamos a un formulario y estamos en modo de diseo .

En ese procedimiento ( controlador de evento ) es donde debemos escribir las instrucciones que queremos que se ejecuten cada cierto intervalo de tiempo. Antes de hacer un ejemplo, hay que aclarar que la propiedad Interval est expresada en milisegundos, esto quiere decir que por ejemplo si quisieramos ejecutar una instruccin cada 3 segundos por decir

un ejemplo, la propiedad Interval debe estar en 3000, si quisiera ejecutarla cada 10 segundos en 10000 etc... Otra cosa importante es que si la propiedad Interval se encuentra en 0, el procedimiento Timer no se producir.

Otra propiedad importante y que se utiliza mucho en este control es la propiedad Enabled. La propiedad enabled lo que hace es habilitar o deshabilitar un control. Si est en True funciona, si est en False no funciona. Esta propiedad es comn en la mayora de los controles de visual basic.

Ejemplo 1 - utilizando la propiedad Interval para mostrar la hora Coloca un Timer llamado Timer1, seleccionalo, y desde la ventana de propiedades en la propiedad Interval coloca el valor 1000. O sea que el Timer1 se va a ejecutar cada 1 segundo. Ahora coloca un control Label1 en el formulario y en la propiedad Autosize del control Label1 coloca True, esto har que el control Label1 se ajuste al contenido del mismo. Lo que har el ejemplo ser mostrar la hora del sistema en el control de etiqueta Entonces dale doble Click en el Timer1 para crear el procedimiento que se describi arriba que es el que ejecuta el Timer. y pega est instruccin

Ejemplo 2 - para para ver el funcionamiento de la propiedad Enabled: Coloca 2 controels CommandButton llamados cmdActivar y otro CmdDesactiva. Tambin un control laabel llamado Label1 que mostrar igual que el ejemplo anterior la hora del pc usando la funcin Time de Visual basic, pero en este ejemplo lo que harn los botones es activar y desactivar el control Timer1, mediante la propiedad Enabled Dale doble click en el CmdActivar, es decir en el CommandButtonm y coloca la siguiente instruccin para activar el Timer1

Timer1.Enabled = True

Label1.caption = Time

Ahora Doble click en el otro botn para escribir las instruccin para desactivar el Timer1 cuando hagamos click en el botn

El cdigo del procedimiento quedara as: Timer1.Enabled = False

Private Label1.Caption End Sub

Sub =

Timer1_Timer() Time Una cosa que es muy comn es asignar la propiedad Interval en tiempo de ejecucin, es decir, en ves de hacerlo desde el modo diseo desde la ventana de propiedades, se asignar el Interval en el evento Load del formulario. Esto quiere decir que, apenas cargue y arranque el formulario, el control Timer1 tendr el Interval en 1000. Ahora DobleClick en el Formulario para que se abra la ventana de cdigo y Visual Basic te muestre el procedimiento del evento Load y coloca la siguiente lnea:

Ahora ejecuta el programa y pods ver como se actualiza el Label1 de acuerdo a la hora del sistema, usando claro la funcin Time de visual basic que devuelve la hora del sistema operativo.

respuesta a muchas de las dudas que se generan al trabajar con fechas. Timer1.interval = 1000 Este es el formulario que usaremos para el ejemplo:

De esta manera ya sabs que desde cualquier punto del programa, pods cambiar la propiedad interval para que el temporizador se ejecute de acuerdo a tus necesidades. Hay veces que esto no es necesario es decir se mantiene igual y constante y no es necesario cambiar el interval, pero otras (depende de lo que se quiera hacer) si lo es. Hoy quiero comentarle algunas cositas referentes al trabajo con fechas, esas cosas que uno dice Pero eso todo el mundo lo sabe, pero como este sitio no est dedicado a expertos sino a ayudar a quienes se inician en este mundo de la programacin en visual basic .net, me parece mas que apropiado hablar sobre fechas. Antes de comenzar ac les dejo algunas definiciones que sera bueno conocer:

DateSerial
Devuelve un valor Date que representa un ao, mes y da especficos, con la informacin de la hora establecida en medianoche (00:00:00).

y el cdigo es el siguiente: view source

Datetime.Now
Obtiene un objeto DateTime que se establece en la fecha y hora actual de este equipo, expresada como hora local.

print? 01.Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 02. 'Fecha Actual

DateAdd
Devuelve un valor de tipo Date que contiene un valor de fecha y hora al que se ha agregado un intervalo de tiempo especificado. Bueno, sin ms rodeos pasemos a los ejemplos. En esta oportunidad de trata de un formulario con una serie de botones y cajas de texto que nos van a informar distintas fecha como por ejemplo, el ltimo da del mes actual o el primer da hbil de un mes, etc. Es muy sencillo y el ejemplo creo que es lo suficientemente claro por lo que no voy a explicarlo. Simplemente presten atencin al cdigo y podrn encontrar 03. MsgBox(Now.Date, MsgBoxStyle.OkOnly, "Fecha Actual") 04.End Sub 05.Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 06. 'Fecha y Hora Actual

07. MsgBox(Now(), MsgBoxStyle.OkOnly, "Fecha y Hora Actual")

08.End Sub 09.Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 10. 'Primer Da del Mes

29. MsgBox(primerDiaHabil, MsgBoxStyle.OkOnly, "Primer Da Hbil") 30.End Sub 31.Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click 32. 'Sumar n Dias a Hoy

11. MsgBox(DateSerial(Now.Year, Now.Month, 1), MsgBoxStyle.OkOnly, "Primer Da del Mes") 12.End Sub 13.Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 14. 'Ultimo da del Mes

33. MsgBox(DateAdd(DateInterval.Day, CType(TextBox1.Text, Integer), Now.Date), MsgBoxStyle.OkOnly, "Sumar n Dias a Hoy") 34.End Sub 35.Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click 36. 'Sumar n Meses a Hoy

15. Dim fecha1 As Date = DateAdd(DateInterval.Month, 1, Now.Date) 16. MsgBox(DateAdd(DateInterval.Day, -1, DateSerial(fecha1.Year, fecha1.Month, 1)), MsgBoxStyle.OkOnly, "Ultimo da del Mes") 17.End Sub 18.Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click 19. 'Primer Da Hbil

37. MsgBox(DateAdd(DateInterval.Month, CType(TextBox2.Text, Integer), Now.Date), MsgBoxStyle.OkOnly, "Sumar n Meses a Hoy") 38.End Sub Suerte y espero que les sea de mucha utilidad.

20. Dim primerDiaHabil As Date = DateSerial(Now.Year, Now.Month, 1) 21. 22. Select Case primerDiaHabil.Date.DayOfWeek Case 1 'Domingo

23. primerDiaHabil = DateAdd(DateInterval.Day, 1, primerDiaHabil) 24. Case 6 'Sabado

25. primerDiaHabil = DateAdd(DateInterval.Day, 2, primerDiaHabil) 26. 27. 28. Case Else 'De lunes a Viernes ' no hace nada End Select

Вам также может понравиться