FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Calcular tiempo transcurrido
Hola a todos, he desarrollando una aplicación en Delphi XE que me registra la hora en que se encienden y se apagan los PC y Servidores en la red. También se registran la hora y la fecha en que los usuarios inician sesión y la hora en la que se finaliza. Los datos los guardo en una tabla de una base de datos MS SQL 2005.
Hasta aquí todo bien, pero a la hora de mostrar los resultados almacenados desde otra aplicación me gustaría mostrar además de la hora de inicio de sesión y la de cierre (en el caso de la información registrada para los usuarios) y la de encendido y apagado (en el caso de los PC y Servidores) mostrar además la duración de la sesión, es decir cuanto tiempo estuvo abierta la sesión (horas, minutos, segundos y milisegundos). Teniendo en cuenta que una sesión puede estar abierta más de 24 horas lo que equivaldría a mostrar también los días. Me gustaría si alguno de ustedes ya tiene hecho algo similar que me mostrara como hacerlo, porque he intentado restar los dos campos que son de tipo TDateTime y luego con DecodeDateTime pero no consigo lo que quiero. Gracias. |
#2
|
||||
|
||||
Hola dtomeysoto.
Para mostrar los datos de inicio y fin de sesión y el tiempo transcurrido entre ellos, podrías hacer:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Ya había probado algo como lo que me recomiendas pero no estoy conforme con el resultado que obtengo, por ejemplo para los siguientes valores:
sesion_ini = 04/09/2013 07:04:11 am sesion_fin = 04/09/2013 11:01:06 am Obtengo: Duración = D:0, H:3, M:236, S:14215 No quiero que los minutos se pasen de 60 al igual que los segundos. |
#4
|
||||
|
||||
¿Has probado en hacer una búsqueda? es un tema muy repetido y seguro que encuentras la solución.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
dtomeysoto,
Cita:
El código anterior permite mostrar en un componente TMemo el lapso de tiempo transcurridos entre dos variables TDateTime. Nota: Variable TDateTime Inicial deber ser menor o igual a Variable TDateTime Final. Espero sea útil Nelson. Última edición por nlsgarcia fecha: 05-09-2013 a las 03:13:58. |
#6
|
|||
|
|||
Hola Nelson, gracias por la colaboración. Lo ajusté a lo que necesito y parece trabajar bien.
Solo una cosa, cuando compilo me da 4 advertencias, En estas líneas me dice: Comparison always evaluates to False if MMT < 0 then if HHT < 0 then if SST < 0 then Y esta línea: Variable 'MMT' might not have been initialized if MMT < 0 then Todo sobre Delphi XE. |
#7
|
||||
|
||||
dtomeysoto,
Cita:
Espero sea útil Nelson. |
#8
|
|||
|
|||
Mas que útil, me ha venido como una joya.
|
#9
|
|||
|
|||
Tal vez le sirva a lguien
Cita:
Osea M := M mod 60; S := S mod 60; |
#10
|
||||
|
||||
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
Y recuerda poner los tags al código fuente, ejemplo: Gracias
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#11
|
|||
|
|||
Cita:
Osea Asi solo te daran resultados debajo de 60. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como puedo calcular formulas en tiempo de ejecucion | red_dragon | Varios | 3 | 17-04-2013 17:28:41 |
Calcular tiempo restante y mostrar en porcentaje | alquimista | Varios | 14 | 17-05-2011 10:52:13 |
Calcular tiempo usuario inactivo | cojones | Varios | 1 | 08-11-2008 13:06:49 |
Calcular tiempo de un procedure | madmai | Windows | 3 | 26-07-2007 06:25:15 |
Calcular tiempo | Cosgaya | Varios | 6 | 25-01-2006 20:43:46 |
|