PDA

Ver la Versión Completa : Calculo de Horas (exactas)


Caral
08-05-2007, 22:16:42
Hola a todos y gracias de antemano.
Ya se que pregunto demasiado, pero quiero alcanzar a Roman, pero en preguntas.:D
Al asunto:
Tengo un pequeño codigo que calcula las horas de diferencia:

procedure TForm1.Button2Click(Sender: TObject);
var
hora1, hora2, horat: TTime;
begin
hora2:= StrToTime(MaskEdit2.Text);
hora1:= StrToTime(MaskEdit1.Text);
horat := hora1 - hora2;
MaskEdit3.Text:= TimeToStr(horat);
end;

Bueno el caso es que si en el mask coloco hora corta, me sale la hora aproximada, osea sin minutos, si coloco hora larga, si salen los minutos pero tambien am al final, aunque no sea am, si coloco un edit convencional lo mismo.
Pregunta:
Como hago para que me salga la hora corta (Hora, Minutos) completa, sin el am, si podeis lo copiais y lo provais, vereis que no camina.
Que se puede hacer.?:confused:
Saludos

seoane
08-05-2007, 22:35:55
Prueba con esto:

MaskEdit3.Text:= FormatDateTime('hh:nn',horat);

luisgutierrezb
08-05-2007, 22:39:43
y si usas:
Maskedit3.Text := FormatDateTime('hh:nn:ss',horat);

Caral
08-05-2007, 22:40:49
Hola Seoane
Y que puedo decir, lo haces ver tan facil.:D
Muchas Gracias Maestro, sirve perfectamente, es lo que buscaba y por supuesto ni idea de como hacerlo.
Gracias
Saludos

Caral
08-05-2007, 22:43:07
Hola luisgutierrezb
Gracias, es una opcion mas, a la de seoane, pero muy interesante.
Muchas gracias por las respuestas.
Saludos, Maestros.
PD: Que haria sin vosotros los maestros.
Saludos

ContraVeneno
08-05-2007, 22:48:53
Solo por curiosidad:
¿por que utilizar un maskedit cuando puedes usar un DTPicker?

Caral
08-05-2007, 23:10:55
Hola ContraVeneno
Para las Horas, Como?:rolleyes:
No conozco la manera de hacer que trabaje con horas, estas seguro?:p
Saludos

ContraVeneno
08-05-2007, 23:34:09
Estableces la propiedad DateFormat como tipo dfShort y luego la propiedad Kind la estableces a dtkTime y listo
ya puedes manejar horas.

Caral
09-05-2007, 00:10:11
Hola ContraVeneno
Ves y luego dicen de la novatada.
He recetado el DateTimePicker, ya no se ni cuantas veces y no savia que se podian ver las horas, no si esto del desconocimiento me mata.
En este caso no lo hago con el dtp por otras razones, pero ya aprendi algo mas.
Saludos, Maestro y gracias.

ContraVeneno
09-05-2007, 00:13:18
si, probando realmente parecer ser que el dtpicker no te serviría para mostrar una diferencia en horas, ya que si la diferencia es mayor a 24 horas, no puedes mostrar un valor mayor a 24 horas.

Lo estaba confundiendo con un control de unos componentes llamados "ESBPCS" los cuales cuentan con uno específicamente para mostrar cantidades en horas, sin tener que preocuparte por el formato.

En fin, lo bueno es que ya se aprendió algo nuevo el día de hoy :D

Caral
09-05-2007, 00:28:19
Hola
Asi es maestro, no paro de aprender, lo peor que que cada vez me engancho mas en esto y estoy haciendo menos de lo mio.:D
Bueno todo se relaciona.
Saludos