Timer
Hola quisiera que cuando presione el control "CommandButton" haga instrucciones, luego pase 2 segundos sin hacer nada y al final otras instrucciones; todo esto en el control.
Lo que quiero asber cual es la funcion que debo aplicar a este boton(control) o cualquier boton, para que transcurra un tiempo y al cabo de este continue otras instrucciones.
Ojala me puedas ayudar. Gracias
Lo que quiero asber cual es la funcion que debo aplicar a este boton(control) o cualquier boton, para que transcurra un tiempo y al cabo de este continue otras instrucciones.
Ojala me puedas ayudar. Gracias
Te paso este codigo que hace lo que vos queres hacer
Sub WaitForDelay(nSecs As Single, Optional blnDoEvents)
Dim nTmr As Single
nTmr = Timer
Do While nTmr + nSecs > Timer
If Not IsMissing(blnDoEvents) Then
DoEvents
End If
Loop
End Sub
y para llamrlo
WaitForDelay (2)
el segundo parametro controla si queres o no controlar algún evento en tu aplicación para interrumpir la espera.
Sub WaitForDelay(nSecs As Single, Optional blnDoEvents)
Dim nTmr As Single
nTmr = Timer
Do While nTmr + nSecs > Timer
If Not IsMissing(blnDoEvents) Then
DoEvents
End If
Loop
End Sub
y para llamrlo
WaitForDelay (2)
el segundo parametro controla si queres o no controlar algún evento en tu aplicación para interrumpir la espera.
Muchas gracias gabriel me a servido bastante.
Me puedes explicar que significa el segundo parametro.
Como lo puedo llamar con los 2 parametros.
Me puedes explicar que significa el segundo parametro.
Como lo puedo llamar con los 2 parametros.
Lo llamas asÃ
Call WaitForDelay(3, True)
al tener el segundo parámetro un valor hace que la instrucción
If Not IsMissing(blnDoEvents) Then
DoEvents
End If
sea valida y entre ha analizar el DoEvents, te paso un poco de la info que te dá el help de VB, si necesitas más, pinta la función y presioná F1.
La función DoEvents pasa el control al sistema operativo. El control no se devuelve hasta que el sistema operativo haya terminado de procesar los eventos en cola y se hayan enviado todas las teclas de la cola SendKeys.
DoEvents es más útil para tareas sencillas como permitir que un usuario cancele un proceso después de que ha comenzado, por ejemplo una búsqueda de un archivo. Para procesos de ejecución larga, es mejor dar preferencia al procesador utilizando un Timer o delegando la tarea a un componente EXE de ActiveX. En último caso, la tarea puede continuar completamente independiente de la aplicación y el sistema operativo tiene en cuenta la multitarea y los intervalos de tiempos.
Call WaitForDelay(3, True)
al tener el segundo parámetro un valor hace que la instrucción
If Not IsMissing(blnDoEvents) Then
DoEvents
End If
sea valida y entre ha analizar el DoEvents, te paso un poco de la info que te dá el help de VB, si necesitas más, pinta la función y presioná F1.
La función DoEvents pasa el control al sistema operativo. El control no se devuelve hasta que el sistema operativo haya terminado de procesar los eventos en cola y se hayan enviado todas las teclas de la cola SendKeys.
DoEvents es más útil para tareas sencillas como permitir que un usuario cancele un proceso después de que ha comenzado, por ejemplo una búsqueda de un archivo. Para procesos de ejecución larga, es mejor dar preferencia al procesador utilizando un Timer o delegando la tarea a un componente EXE de ActiveX. En último caso, la tarea puede continuar completamente independiente de la aplicación y el sistema operativo tiene en cuenta la multitarea y los intervalos de tiempos.
