Somatório de Datas

Delphi

12/09/2007

Como faço pra fazer uma somátorio de datas de modo que fique acumulativo? por exemplo: eu crio 5 variáveis do tipo TDateTime da seguinte maneira:

var totalG, total1, h_entra, h_sai, total2, h_entra2, h_sai2:TDateTime;
begin
h_entra:=StrToTime(edithoraentra.Text);
h_sai:=StrToTime(edithorasai.Text);
total1:=h_sai-h_entra;
h_entra2:=StrToTime(edithoraentra.Text);
h_sai2:=StrToTime(edithorasai.Text);
total2:=h_sai-h_entra;
totalG:=total1+ total2;
label7.Caption:=´Tota de Horas: ´+TimeToStr(totalG);
end;

Dependendo dos valores das horas o somátorio nao fica acumulativo, ou seja, se eu colocar intervalos grandes de hora o somatorio na acumula. supondo que eu digitei h_entra1:=00:00 e h_sa1:=23:00 e h_entra2:=15:00 e h_sai:=20:00, o somatorio deveria ser 28:00... mas nao está acumulando, ou seja, o resultado é 04:00. Como faço pra que esse somatorio seja acumulativo e d~e o resultado 28:00?

Agradeço a atenção.


Douglas

Douglas

Curtidas 0

Respostas

Douglas

Douglas

12/09/2007

sobe


GOSTEI 0
Massuda

Massuda

12/09/2007

O TDateTime é um valor em ponto flutuante que representa uma quantidade de dias.

No seu caso, basta multiplicar o somatório TDateTime por 24 para ter o total de horas...
label7.Caption:=´Total de Horas: ´ + FloatToStr(totalG * 24); 
...note que o resultado 1.5 não significa 1 hora e 5 minutos, mas sim 1 hora e 5 décimos.


GOSTEI 0
POSTAR