Contador regresivo en vb

Aunque existen funciones en el visual basic que te dan la diferencia entre dos fechas, éstas fallan más que una escopeta de feria. Yo de ti lo haría así(como pide pistas, t digo el funcionamiento y tu lo traduces a código):
-Calculo los segundos que hay entre las dos fechas.
-Averiguo cuantos días, horas, minutos y segundos hay en los segundos que averigüé antes.
-Los muestro por pantalla.
Si no sabes seguir o no me entiendes, dímelo y te lo codifico.
Suerte y saludos!

1 respuesta

Respuesta
2
Por ejemplo,
dim fecha1 as date
dim fecha2 as date
dim segundos as long
dim dia as long
dim hora as long
dim minuto as long
segundos=datediff("s",fecha1,fecha2)
If SEGUNDOS >= 86400 Then
DIA = Val(SEGUNDOS / 86400)
SEGUNDOS = SEGUNDOS Mod 86400
End If
If SEGUNDOS >= 3600 Then
Hora = Val(SEGUNDOS / 3600)
SEGUNDOS = SEGUNDOS Mod 3600
End If
If SEGUNDOS >= 60 Then
MINUTO = Val(SEGUNDOS / 60)
SEGUNDOS = SEGUNDOS Mod 60
End If
msgbox "Quedan " & dia & " horas " & hora & " minutos " & minuto & " segundo " & segundos
Kiero la maxima puntuacion ehhhhhh :DDD
Hola gracias por el código, pero te pido que lo revises porque me da un error de desbordamiento estuve toda la tarde tratando de solucionarlo, y te pido que a las variables en lugar llamarlas fecha1 y fecha2 las llames fechalimite (20 de febrero de 2006) y fechaactual ( yo la cargo con la instrucción fechaactual = date)
Desde ya muchas gracias.
Hola alguien me podría dar pistas de como hacer un contador regresivo en DÍAS, HORAS, MINUTOS Y SEGUNDOS, entre el día actual y una fecha determinada por ejemplo 20 de febrero,
La idea es que en el programa aparezca faltan POR días H horas M minutos ES segundos para el 20 de Febrero
Desde ya muchas gracias
Te agradezco la pistas, voy a ir intentando codificarlo, aunque no se si podre ya que soy bastante novato en el tema, por eso te pido que me pases algo de código.
Desde ya muchas gracias.
Excelente gracias por tu dedicación una ultima consulta antes de calificarte.
Estoy utilizando un timer para que la cuenta regresiva vaya segundo a segundo, el timer tiene un intervalo de 100 pero los minutos no disminuyen cundo cuando los segundos llega al 0 sino que lo hace cuando llega a 30, he intentado cambiando el valor del intervalo pero no hay camnbios,
¿Cómo puedo solucionar esto?
Desde ya muchas gracias
Private Sub Form_Load()
Dim FechaActual As Date
Dim FechaLimite As Date
Dim segundos As Long
Dim dia As Long
Dim hora As Long
Dim minuto As Long
FechaLimite = CDate("20/02/2006 00:00:00")
FechaActual = Now
segundos = DateDiff("s", FechaActual, FechaLimite)
If segundos >= 86400 Then
dia = Val(segundos / 86400)
segundos = segundos Mod 86400
End If
If segundos >= 3600 Then
hora = Val(segundos / 3600)
segundos = segundos Mod 3600
End If
If segundos >= 60 Then
minuto = Val(segundos / 60)
segundos = segundos Mod 60
End If
MsgBox "Quedan " & dia & " horas " & hora & " minutos " & minuto & " segundo " & segundos
End Sub
El código está probado. A mi no me desbordamiento.
Bueno lo primero que veo mal es que si quieres que el timer vaya segundo a segundo el intervalo tiene que ser 1000 y no 100. el timer se mide en milisegundos, 1sg=1000 msg.
Pruébalo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas