Discussion:
hacer delay de 5 segundos
(demasiado antiguo para responder)
Hernan Batista
2005-01-05 14:07:09 UTC
Permalink
amigos, como con Visual Basic puedo hacer un delay de 5 seg?

he pensado en un ciclo pero hasta cuanto porque el PC es sumamente rapido...
tienen idea de como hacerlo? lo han hecho antes?

gracias
Sandro D. Garcia
2005-01-05 14:20:01 UTC
Permalink
waitingTime = DateAdd("s", 5, Now)
Do While Now < waitingTime
DoEvents
Loop

Aqui tienes un ejemplo de como hacerlo.
Post by Hernan Batista
amigos, como con Visual Basic puedo hacer un delay de 5 seg?
he pensado en un ciclo pero hasta cuanto porque el PC es sumamente rapido...
tienen idea de como hacerlo? lo han hecho antes?
gracias
Fernando Ise
2005-01-05 14:24:36 UTC
Permalink
Post by Hernan Batista
amigos, como con Visual Basic puedo hacer un delay de 5 seg?
he pensado en un ciclo pero hasta cuanto porque el PC es sumamente rapido...
tienen idea de como hacerlo? lo han hecho antes?
gracias
Se puede de diferente forma. Con un timer, con api o una sub rutina.
Depende siempre de la necesidad propia.

' inserta una pausa de una duración determinada (redondeada al entero
más cercano)

Sub Pause(segundos As Integer)
Const SECS_INDAY = 24! * 60 * 60 ' segundos por día
Dim inicio As Single
inicio = Timer
Do: DoEvents: Loop Until (Timer + SECS_INDAY - inicio) Mod
SECS_INDAY >= segundos
End Sub
--
Saludos
Fernando Ise
Santiago del Estero - Argentina
Rubén Vigón
2005-01-05 14:27:40 UTC
Permalink
Puedes usar la API «Sleep»; por ejemplo:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Load()
Sleep 5000
MsgBox "Han pasado 5 segundos"
End Sub

También puedes hacerlo mediante «Now», «DateAdd», un bucle y «DoEvents»; por ejemplo:

Dim AhoraMas5 As Date
AhoraMas5 = DateAdd("s", 5, Now)
While Now < AhoraMas5
DoEvents
Wend
MsgBox "Han pasado 5 segundos"

Y también puedes usar «Timer» en lugar de «Now» y «DateAdd»; por ejemplo:

Dim AhoraMas5 As Single
AhoraMas5 = Timer + 5
While Timer < AhoraMas5
DoEvents
Wend
MsgBox "Han pasado 5 segundos"

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://www.mvp-access.com/rubenvigon
Lluís Franco
2005-01-05 14:40:18 UTC
Permalink
:-)
Empiezas el año con energía, jejeje.... ¡ejemplos de 3 en 3!
Bueno, pero te has dejado dos muy importantes:

1) Usar un MsgBox 'temporizado' a 5 segundos:

(Referencia a 'Windows Script Host Model')
Public Function TimerMsgBox(ByVal strTexto As String, ByVal Botones As
VbMsgBoxStyle, ByVal
strTitulo As String, ByVal lngSegundos As Long) As VbMsgBoxResult
Dim Sh As IWshRuntimeLibrary.IWshShell_Class
Set Sh = New IWshRuntimeLibrary.IWshShell_Class
TimerMsgBox = Sh.Popup(strTexto, lngSegundos, strTitulo, Botones)
Set Sh = Nothing
End Function

Call TimerMsgBox("El ordenador se reiniciará en 5 segundos", vbExclamation,
"Good Bye", 5)
'Código para reiniciar......


2) Decirle a alguien que te avise en ese lapso de tiempo...

:-P
--
Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]

FIMARGE, S.A.
Principat d'Andorra
***@ODIO_EL_SPAMfimarge.ad
Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en: http://tinyurl.com/4nbnb

This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho

--
(Guía de netiquette del foro)
http://www.uyssoft.com/Netiquette/
DNC
2005-01-05 15:10:47 UTC
Permalink
============>Comienzo Texto pegado=======================
Option Explicit

'This project needs a button
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail: ***@Allapi.net
Me.Caption = "Your system will sleep 5 sec."
'Sleep for 5000 milliseconds
Sleep 5000
Me.Caption = ""
End Sub
Private Sub Form_Load()
Me.Caption = ""
Command1.Caption = "Sleep ..."
End Sub
============<Fin Texto pegado============================
--
Cordiales Saludos! ,
Diego.-

<!--Enviar Email: Pega esto en un .htm -->
<!-- INICIO -->
<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#100;&#99;&#111;
&#110;&#116;&#105;&#110;&#64;&#65;&#114;&#103;&#101;&#110;&#116;
&#105;&#110;&#97;&#46;&#99;&#111;&#109;">
Diego N. Contin</a>
<!-- FIN -->
--
Uso del Foro
http://www.mvp-access.com/rubenvigon/foro/

Este mensaje se proporciona TAL CUAL.
Sin ningun derecho o garantia

The documentation is provided to you "as is" without warranty of any kind.
The entire risk
usage and all it's consequences including data loss and hardware damage are
with you.

"En cuestiones de cultura y de saber, solo se pierde lo que se guarda; solo
se gana lo que se da". Antonio Machado

"Tres cosas que son el deber de todos: escuchar humildemente, responder
discretamente y juzgar bondadosamente."
Tríada celta.

"I wish I'd known that before I started writing all this code."
Post by Hernan Batista
amigos, como con Visual Basic puedo hacer un delay de 5 seg?
he pensado en un ciclo pero hasta cuanto porque el PC es sumamente rapido...
tienen idea de como hacerlo? lo han hecho antes?
gracias
Continúe leyendo en narkive:
Loading...