• Viernes 15 de Noviembre de 2024, 13:05

Autor Tema:  Calcular Horas  (Leído 1659 veces)

roxiii

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Calcular Horas
« en: Miércoles 10 de Marzo de 2004, 00:29 »
0
hola, esta vez deseo saber si alguien conoce alguna funcion o componente que calcule las horas, minutos y segundos en base a dos datos en cualquier formato de time, es decir hh:mm:ss o hh:mm solamente... gracias :hola:

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Calcular Horas
« Respuesta #1 en: Miércoles 10 de Marzo de 2004, 06:13 »
0
Salu2 roxii

aki un codigo para convertir un numero de sgundos a formato hora
Código: Text
  1.  
  2. '//En Modulo
  3. Public Function ConvHora(Segs As Long) As String
  4. Dim Cadena As String
  5. Dim Horas As Long
  6. Dim Minutos As Long
  7. Dim Segundos As Long
  8. Dim Total As Long
  9.  
  10. Total = Segs
  11. Horas = 0
  12. Minutos = 0
  13. Segundos = 0
  14. Do While Total <> 0
  15.   If Total >= 3600 Then
  16.     Horas = Int(Total / 3600)
  17.     Total = Total Mod 3600
  18.   Else
  19.     If Total >= 60 And Total < 3600 Then
  20.       Minutos = Int(Total / 60)
  21.       Total = Total Mod 60
  22.     Else
  23.       Segundos = Total
  24.       Total = Total Mod 1
  25.     End If
  26.   End If
  27. Loop
  28. Cadena = Format(Str(Horas) & ":" & Str(Minutos) & ":" & Str(Segundos), "HH:MM:SS")
  29. ConvHora = Cadena
  30. End Function
  31.  
  32. '//En Form
  33. Private sub Form_Load()
  34.   msgbox convhora(120) '//Te devuelve 00:02:00
  35. End sub
  36.  
  37.  

Espero sea lo que estas buscando
Un saludo zeekel ®
[KGT]

PD: funcion TimeValue debes investigar...
TP-Systems
our knowledge is our power!

roxiii

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Calcular Horas
« Respuesta #2 en: Miércoles 10 de Marzo de 2004, 19:28 »
0
Gracias Zeekel, lo voy a probar en seguida, tengo ahora otra duda, si existe algun control en forma de reloj, para que pueda por este control cambiar o asignar una hora, asi como en windows, pero no quiero asignar la hora del sistema, sino mas bien solo introducir una hora de forma visual, gracias a todos, y que siga adelante este foro... :comp:  :devil:  :devil:  :devil:

roxiii

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Calcular Horas
« Respuesta #3 en: Sábado 13 de Marzo de 2004, 20:42 »
0
hola de nuevo y gracias por su ayuda a todos, tengo un problema, pues debo mostrar en un calendario que muestre todo el año, varios dias seleccionados, por ejemplo dos dias en enero y tres en febreo, que corresponden  por ejemplo a faltas de un empleado, ya intente con el monthview, pero solo me permite seleccionar dias seguidos, tambien he intentado poner 12 monthviews, uno para cada mes, pero si en enero tengo dos dias para seleccionar y que no sean seguidos ¿como le hago? una ayudita please...... :unsure:

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Calcular Horas
« Respuesta #4 en: Domingo 14 de Marzo de 2004, 07:54 »
0
Salu2 Roxii

Creo que para eso debes buscar un control ocx por la red o sino crearte uno propio conalgo de ingenio creo que lo lograras. Una idea que podrias hacer es lo siguiente:

emula a un monthview usando option button en style graphical los cuales serviran para mostrar los dias ejemplo: Marzo trae 31 dias pondrias 31 option button y cuando se seleccionen, eso dependiendo del mes vale? arriba iria el mes al lado izquierdo y año al costado derecho bueno dejare volar tu imaginacion yo crearia el control ocx pero tengo mucho trabajo pendiente recargado por el momento pero ta te adelanto una idea seguro que los demas amigos del foro no dejaran de ayudarte con sus geniales ideas.

un saludo Roxii

Zeekel ®
[KGT]

PD: Si encuentro algo por la red te lo posteo :D :D animo que puedes  :hola:
TP-Systems
our knowledge is our power!

vriko

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Calcular Horas
« Respuesta #5 en: Jueves 25 de Marzo de 2004, 18:37 »
0
Cita de: "roxiii"
hola, esta vez deseo saber si alguien conoce alguna funcion o componente que calcule las horas, minutos y segundos en base a dos datos en cualquier formato de time, es decir hh:mm:ss o hh:mm solamente... gracias :hola:
Hola:

  Verás, si tienes los dos datos digamos en dos cadenas (String) strHoraIni y strHoraFin, puedes hacer lo siguiente:

  dblDiferenciaHoras = 24 * (CDate(strHoraFin) - CDate(strHoraIni))

El caso es que dos variables de tipo Date las puedes restar, de manera que el resultado es un número real (Double) que expresa la diferencia en días, por lo que, si quieres obtener la diferencia en horas, sólo tienes que multiplicarlo por 24.

Lo único que tienes que tener en cuenta es que las variables iniciales de tipo String han de contener valores que se puedan transformar al tipo Date, porque sino te fallará la llamada a la función CDate().

Espero haberte sido de ayuda...

vriko

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Calcular Horas
« Respuesta #6 en: Jueves 25 de Marzo de 2004, 19:04 »
0
Me contesto a mí mismo pidiendo perdón por no haber leído bien la pregunta inicial...

De todos modos, siguiendo en esa línea, y si no he entendido mal la pregunta (es que me despistó lo de los "dos datos"), puedes pasar un String strFecha a Date dtFecha, y luego aplicarle a la variable tipo fecha las funciones Hour(), Minute() y Second().

Me explico:

  Dim strFecha As String
  Dim dtFecha As Date
  Dim intHoras As Integer
  Dim intMinutos As Integer
  Dim intSegundos As Integer

  strFecha = "01:08"
  dtFecha = Cdate(strFecha)

  intHoras = Hour(dtFecha)
  intMinutos = Minute(dtFecha)
  intSegundos = Second(dtFecha)


Esto te funcionará tanto con cadenas "hh:mm" como "hh:mm:ss"

Espero que sea esto...

roxiii

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Calcular Horas
« Respuesta #7 en: Jueves 25 de Marzo de 2004, 22:08 »
0
:gracias: vriko, es justo lo que estaba preguntando, cuando tienes "dos datos", una hora inicial y una final, lo que estoy calculando es la entrada y salida de empleados, pero es que a veces se pasan de 12 horas incluso, y los formatos de hora son distintas en las maquinas, voy a probarlo y te cuento como me fue, de nuevo gracias...y hasta pronto. :lol: