Incremento de tiempo en for... next

17/09/2006 - 13:11 por Ivan | Informe spam
Hola a todos

estoy intentando hacer un bucle con OnTime para ejecutar un
procedimiento cada segundo durante 5 segundos. Seguramente estoy
haciendo una burrada, pero tras varias pruebas con diferentes errores,
he acabado intentando hacer un bucle poniendo como contador una
variable date, pero aunque no hay errores, no se produce ningun
resultado.

Expongo el codigo, que posiblemente sea mas explicito:

Dim Aum As Date, Salida As Boolean
Dim Alt As Double, Anch As Double


Sub FotoCreciente()
Dim Nueva As Date
Nueva = Now
With Image1
Alt = .Height: Anch = .Width
For Aum = TimeValue("00:00:01") To TimeValue("00:00:05")
Nueva = Nueva + Aum
Application.OnTime Nueva, "AumentarFoto"
If Salida = True Then
Application.OnTime Nueva, "AumentarFoto", , False
Exit Sub
End If
Next
End With
End Sub

como indica el nombre del procedimiento, se trata de ir aumentando un
formulario y una imagen contenida en un control image hasta un tamaño
determinado durante 5 segundos

Este es el codigo "AumentarFoto"

Sub AumentarFoto()
Salida = False
With Image1
Me.Height = Alt + 108
.Height = Alt + 108
Me.Width = Anch + 168
.Width = Anch + 168
If Alt >= 540 Or Anch >= 840 Then Salida = True
End With
End Sub

Si podeis ayudarme os lo agradezco

un saludo y hasta pronto
Ivan
 

Leer las respuestas

#1 moon
17/09/2006 - 13:54 | Informe spam
Timer-función:

Public Sub TimerDemo()
Wait (5)
MsgBox "5 seconds done"
End Sub

Private Sub Wait(secs As Double)
Dim startTime
startTime = Timer
Do While Timer < startTime + secs
DoEvents
Loop
End Sub





"Ivan" schreef in bericht
news:
Hola a todos

estoy intentando hacer un bucle con OnTime para ejecutar un
procedimiento cada segundo durante 5 segundos. Seguramente estoy
haciendo una burrada, pero tras varias pruebas con diferentes errores,
he acabado intentando hacer un bucle poniendo como contador una
variable date, pero aunque no hay errores, no se produce ningun
resultado.

Expongo el codigo, que posiblemente sea mas explicito:

Dim Aum As Date, Salida As Boolean
Dim Alt As Double, Anch As Double


Sub FotoCreciente()
Dim Nueva As Date
Nueva = Now
With Image1
Alt = .Height: Anch = .Width
For Aum = TimeValue("00:00:01") To TimeValue("00:00:05")
Nueva = Nueva + Aum
Application.OnTime Nueva, "AumentarFoto"
If Salida = True Then
Application.OnTime Nueva, "AumentarFoto", , False
Exit Sub
End If
Next
End With
End Sub

como indica el nombre del procedimiento, se trata de ir aumentando un
formulario y una imagen contenida en un control image hasta un tamaño
determinado durante 5 segundos

Este es el codigo "AumentarFoto"

Sub AumentarFoto()
Salida = False
With Image1
Me.Height = Alt + 108
.Height = Alt + 108
Me.Width = Anch + 168
.Width = Anch + 168
If Alt >= 540 Or Anch >= 840 Then Salida = True
End With
End Sub

Si podeis ayudarme os lo agradezco

un saludo y hasta pronto
Ivan

Preguntas similares