Control Timer 2010

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 7

Control Timer Temporizador

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. La propiedad mas importante de este control es la propiedad Interval

Definicin de la propiedad Interval:


Devuelve o establece el nmero de milisegundos entre dos llamadas al evento Timer de un control Timer. esta propiedad es la que determina el intervalo en el que ejecutar las instrucciones que estn en el evento llamado Timer. 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:

En ese procedimiento ( controlador de evento ) es donde debemos escribir las instrucciones que queremos que se ejecuten cada cierto intervalo de tiempo. 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. La propiedad Enabled = True.

Practica 1 - utilizando la propiedad Interval para mostrar la hora


Coloca un Timer llamado Timer1, en la propiedad Interval coloca el valor 1000. (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. El cdigo del procedimiento quedara as:

Public Class Form1 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Label1.Text = Format(Now, "Long TIME") End Sub End Class

Recuerda poner la propiedad Enabled = True.

Practica #2: El funcionamiento de la propiedad Enabled:


Coloca 2 controles CommandButton llamados cmdActivar y otro CmdDesactiva. Tambin un control label llamado Label1 que mostrar la hora del pc usando la funcin Time, 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 CommandButton y coloca la siguiente instruccin para activar el Timer1: Timer1.Enabled = True Ahora Doble click en el otro botn para escribir las instruccin para desactivar el Timer1 cuando hagamos click en el botn: Timer1.Enabled = False 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: Timer1.interval = 1000 De esta manera ya sabes que desde cualquier punto del programa, se puede cambiar la propiedad interval para que el temporizador se ejecute de acuerdo a tus necesidades.
Public Class Form1 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Label1.Text = Format(Now, "Long TIME") End Sub Private Sub Activar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Activar.Click Timer1.Enabled = True End Sub

Private Sub Desactivar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Desactivar.Click Timer1.Enabled = False End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Interval = 1000 End Sub End Class

Practica 3 - Cambiar el Interval en tiempo de ejecucin


Coloca en el formulario una barra de Scroll horizontal llamada HScroll1. Seleccionala y en la ventana de propiedades busca la propiedad Max y Min. A Min dejale el valor por defecto que tiene, osea 0. A la propiedad Max colocale 3000 . Luego coloca un control Label llamado Label1 y un Timer1. Al Label1 en la propiedad Caption agregale algn texto. El formulario tiene que ser algo por el estilo:

Lo que hace esto es, que al mover la barra de scroll, se le cambia el valor de la propiedad interval al Timer1. Osea cuando lo llevamos al mnimo est en 0 y cuando movemos el scroll hasta el mximo valor queda en 3000 (cada 3 segundos). El valor de la propiedad de la barra que es Value , se lo asignamos a la propiedad interval del timer. Dentro del Timer, hay una simple instruccin que lo que hace es lo siguiente: Si el control Label1 est visible, lo ponemos invisible, si est Invisible lo hacemos visible. Esto hace que el Label1 parpadee. Mientras menos sea el valor de la propiedad interval, mas rpido parpadear el Label1, en cambio mientras mas alto sea el valor mas lento parpadear el Label1. Private Sub HScroll1_Change()

'Mostramos en la barra de titulo del form el valor del SCrollBar Me.Caption = "Intervalo: " & HScroll1.Value & " milisegundos" 'Le colocamos el Interval al Timer, el valor de la barra (su propiedad Value) Timer1.Interval = HScroll1.Value End Sub
Private Sub HScroll1_Scroll() HScroll1_Change End Sub Private Sub Timer1_Timer() Label1.Visible = Not Label1.Visible End Sub

Practica 4 - Crear una marquesina de texto.


El siguiente ejemplo, crea una marquesina de texto que se desplaza a lo ancho del formulario utilizando un control Label y por supuesto un Timer. Coloca un control Frame en el formulario llamado Contenedor. Dentro del contenedor, es decir del Frame, coloca un Label1. Por ltimo un control Timer llamado Timer1.

Desde el modo de Diseo debe verse ms o menos as:

Lo que est seleccionado, es el control Frame, el Label asegrate que est dentro del Frame, de lo contrario no funcionar. Colocar en la propiedad Interval del Timer el valor 1
Public Class Form1 Public x As Integer Dim m As Integer Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If Label1.Left < Contenedor.Left Then m = +2 End If If Label1.Right > Contenedor.Right Then m = -2 End If x=x+m Label1.Location = New Point(x, 15) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load x = Contenedor.Right m=2 Label1.Location = New Point(0, 0) End Sub End Class

Practica 5 - Crear una marquesina de texto vertical


Este ejemplo es identico al anterior, pero el control Label, que estar dentro de un control Frame, se desplazar desde abajo hacia arriba, haciendo un efecto de Scroll vertical Coloca un Label1 dentro de un Frame llamado contenedor, como est en la siguiente imagen:

Por ltimo colocar un Timer llamado Timer1, y en la propiedad Interval colocarle el valor 1 Cdigo fuente en el formulario:
Public Class Form1 Dim y As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Text = "HOLA" Label1.Location = New Point(0, Contenedor.Bottom) End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If Label1.Top > Contenedor.Top Then y=y-2 Else y = Contenedor.Bottom End If Label1.Location = New Point(10, y) End Sub End Class

Practica # 6: Sincronizando la colocacion de una imagen.


3.- Colocar un control picturebox de nombre PictureBox1. 4.- Pegar una imagen en la propiedad IMAGE. 5.- Colocar un control timer. 6.- En la propiedad Interval del control timer colocar el numero 10. 7.- En el codigo del control timer escribir el codigo:

Public Class Form1 Public x As Integer Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If PictureBox1.Right < Me.Right Then x = x + 20 Else x = Me.Left End If PictureBox1.Location = New Point(x, 15) End Sub End Class

8.- Puede ejecutar la aplicacin. Nota: Puede observar el numero 10 de interval si quiere una ejecucin mas rapida de el metodo del timer. Si quiere que la imagen se reproduzca menos veces modifique 20 del codigo del timer.

Practica # 7: La animacion
Cambiando la imagen. 1.- Agregue al proyecto 8 un control de tipo IMAGE con el nombre Leo. 2.- Confirmando que quiere crear una matriz de controles. 3.- Copie la imagen de cada jaguar en el control <IMAGE>. 4.- Modifica el codigo de la funcion del control timer: Private Sub Timer1_Timer() Static DibActual As Integer If DibActual = 7 Then DibActual = -1 DibActual = DibActual + 1 Picture1.Left = Picture1.Left + 400 Picture1.Picture = Leo(DibActual).Picture End Sub 5.- Ejecute su aplicacion.
Public Class Form1 Public x As Integer Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Static DibActual As Integer If DibActual = 2 Then DibActual = -1 DibActual = DibActual + 1 PictureBox1.Left = PictureBox1.Left + 2 PictureBox1.Image = Leo.Images(DibActual) End Sub End Class

Practica #7:
Colocar dos leopardos corriendo a diferente velocidad .

También podría gustarte