Foros del Web » Programación para mayores de 30 ;) » Programación General »

Duda sobre horas

Estas en el tema de Duda sobre horas en el foro de Programación General en Foros del Web. Hola, soy bastante principiante en VB y tengo este problema: El usuario debe ingresar dos horas en el formato 0 a 23 sin importar los ...
  #1 (permalink)  
Antiguo 05/08/2004, 22:31
Avatar de marcos1979  
Fecha de Ingreso: abril-2004
Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 20 años
Puntos: 1
Duda sobre horas

Hola, soy bastante principiante en VB y tengo este problema:
El usuario debe ingresar dos horas en el formato 0 a 23 sin importar los minutos, una es la hora de inicio y la otra la hora de fin. El tema es que debo saber si la hora actual esta entre esas dos horas, por ej:

HoraInicio = 22
HoraFin = 04
HoraActual = 01

¿Como hago a saber si esta entre las dos horas indicadas?

Repito que no me importan ni los minutos ni la fecha solo la hora en ese formato, asi es ingresada por el usuario, como un numero entre 00 y 23. La hora actual es la del reloj del sistema.

Gracias

Otro duda es como hacer que se reinicie la aplicacion. Es que debe reiniciarce despues de hacer algun tipo de cambio en la configuracion de la misma y no se como se hace.

Muchas gracias otra vez

  #2 (permalink)  
Antiguo 06/08/2004, 08:11
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 3 meses
Puntos: 1
Funcion Hour

Código:
Hour (Time())
Te devolverá la hora actual del ordenador.

Y estoy prueba lo que necesitas.

Código:
If HActual >= HIni And HActual <= HFin Then
........
Saludes.
__________________
Leer es Saber, REEL.
Mi Blog

Última edición por reel; 06/08/2004 a las 08:15 Razón: Incompleto
  #3 (permalink)  
Antiguo 06/08/2004, 11:00
Avatar de marcos1979  
Fecha de Ingreso: abril-2004
Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 20 años
Puntos: 1
eso es lo primero que probe pero como dije el formato es de dos digitos 00 a 23 y en el caso del ejemplo anterior no andaria:

HActual = 01
HIni = 22
HFin 04
  #4 (permalink)  
Antiguo 06/08/2004, 11:14
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 3 meses
Puntos: 1
HActual = CInt(Format(Time, "hh"))
__________________
Leer es Saber, REEL.
Mi Blog
  #5 (permalink)  
Antiguo 06/08/2004, 12:50
Avatar de marcos1979  
Fecha de Ingreso: abril-2004
Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 20 años
Puntos: 1
el problema no es pasar la hora actual a una variable en el formato que yo quiero sino saber si esta entre dos horas dadas. Se entiende??
  #6 (permalink)  
Antiguo 06/08/2004, 12:57
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 3 meses
Puntos: 1
Pues tu dices que probastes con el if que puse el pos, pues debe de funcionarte, lo única forma que falle ese if es que no estes tratando con el tipo de dato correcto, asegurate que la comparacion se hagas con tipos de datos Integer, porque si el tipo de datos es String no funcionara.

Te sugiero que convertas las oras tomadas con CInt para que estes seguro que la comparación se haga con ese tipo de datos.
__________________
Leer es Saber, REEL.
Mi Blog
  #7 (permalink)  
Antiguo 08/08/2004, 02:08
Avatar de aavg  
Fecha de Ingreso: abril-2002
Ubicación: Morelia México
Mensajes: 356
Antigüedad: 22 años
Puntos: 1
Dale una leida en la ayuda de vbasic MSDN a la funcion TIMEVALUE() , ahi encuentras la solucion a tu problema

podrias utilizar algo asi...

If TimeValue(Time) >= TimeValue(Hora_Inicio) And TimeValue(Time) <= TimeValue(Hora_Final) Then

y con eso debe bastar =)
__________________
Abraham Velasco
Usuario # 516 en los Foros del Web.
El hombre no vale por lo que sabe, sino por lo que transmite
C'est parce qu'il y a un Dieu que nous sommes libres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:18.