Delphi - Como sumar horas dese cero

 
Vista:

Como sumar horas dese cero

Publicado por Alberto! (2 intervenciones) el 26/05/2003 12:01:08
Hola, agradesco el tiempo que me empleas para contestarme la siguiente duda:

--==El programa registra un tiempo usado y aplica una tarifa==--

Requiero que el programa (al darle clic al boton de ejecusion) marque que las horas avanzan y al ejecutar el mismo boton, este haga pausar al tiempo que transcurre y al final me marque una cantidad, ejemplo:

(( corre programa ))
valor del minuto: 1 minuto = 5 unidades decimales o pesetas

Pasa 1min, Pausa, imprime = 5 pesetas (por decir)
Pasan 1min con 23 segundos, imprime = 10 pesetas (ya es más de un minuto)
Pasan 5min, Pausa = 25 pesetas....
Pasan 8min, Pausa= 40 pesetas (algo como tarifa fija)

Porfavor, recordar que al iniciar el programa el tiempo inicial es cero, o sea ( 00:00:00 hh:mm:ss) y muy logico que si ya pasaron 4:32 miniutos, al pausarla este debera marcar (00:04:32 hh:mm:ss).

Espero haberme explicado satisfactoriamente.
Sin más quiero aprovechar mandar un cordial saludo desde Chetumal, Quintana Roo.
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como sumar horas dese cero

Publicado por Delfino (1216 intervenciones) el 26/05/2003 14:05:06
En este caso necesitaras almenos dos objetos Timer, uno q marque la hora de inicio, y el otro q marque la hora actual, y sabes la diferencia restando el segundo del primero, es muy facil y ya lo he hecho sin ninguna complicacion lo q pasa es q no tengo ese temporalizador ahora a mano, lo busco y si lo encuentro te lo envio..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como sumar horas dese cero

Publicado por Bleach (63 intervenciones) el 26/05/2003 15:52:44
Hola que tal?

Esto es muy facil, defines una variable fTotalTiempo del tipo Time, y defines otra que la llamaras fHoraInicio del timpo Time tambien.

Al inicio de la aplicacion o cuando hagas un reset del tiempo haz que fTotalTiempo sea igual a 0 (cero).
Cuando el tiempo empieze a contar haz que fHoraInicio:=Time; (esto es literal)
Cuando acabes haz:
fTotalTiempo := fTotalTiempo + (Time - fHoraInicio);
El calculo es facil usando la funcion DecodeTime, con fTotalTiempo y te da las horas, minutos, segundos y milisegundos que hay en esa variable ya solo te queda multiplicar.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pero, ¿puede hacerlo todo y al mismo tiempo verse?

Publicado por Alberto! (2 intervenciones) el 26/05/2003 17:41:04
Me refiero, que, corre el contador de tarifa y se ve que aumenta...Se detiene cuando le doy la orden (algo como TiempoReal o RefreshLive....ese yo lo invente) Gracias de antemano....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pero, ¿puede hacerlo todo y al mismo tiempo ver

Publicado por Bleach (63 intervenciones) el 30/05/2003 09:18:16
Usa un Timer para mostrar los datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar