Somar Horas... Como faço

Delphi

08/08/2003

E ai pessoal

Estou tendo o seguinte problema: tenho um campo do tipo Time (paradox) em uma tabela. Existem varios registros nesta tabela, eu gostaria de saber como faço para somar este tipo de campo( eu ja tentei criar uma variavel do tipo TTime, mas não deu certo), por exemplo
1º registro = 01:25
2º registro = 02:15
3º registro = 00:30

o total seria = 04:10, mas não dá . COMO EU FAÇO!!!!!!!!!!!

Antecipadamente Obrigado! :wink:


Anarquistaoi

Anarquistaoi

Curtidas 0

Respostas

Tecsoftware

Tecsoftware

08/08/2003

Faça o Seguinte:

Var
TotalHora: TTime;
begin
Tabela.First;
While Not Tabela.EoF Do
Begin
TotalHora:= TotalHora + Tabela.fieldbyname(´campo_hora´).AsTime;
Tabela.Next;
End;
End;


GOSTEI 0
Ezdala

Ezdala

08/08/2003

tente fazer o seguinte: O campo TTime só suporte no máximo 23h59m, caso seu acumulo de horas seja maior que isso vai dar errado, então:
Var
Hora,Min:Integer;
TotHora, TotMin:Integer;
Junta:String;
begin
Hora := 0; Min := 0;
TotHora := 0; TotMin := 0;
while not tabela.eof do
begin
// separa a hora e os minutos...
Hora := StrToInt(Copy(FormatDateTime(´hh:mm´,Tablehora.asTime),1,pos(´:´, FormatDateTime(´hh:mm´,Tablehora.asTime)-1);
Min := StrToInt(Copy(FormatDateTime(´hh:mm´,Tablehora.asTime),pos(´:´, FormatDateTime(´hh:mm´,Tablehora.asTime)+1),2);
// depois faça o seguinte:
TotHora := TotHora + Hora;
TotMin := TotMin + Min;
Table.next;
end;
TotHora := TotHora + (TotMin div 60);
TotMin := (TotMin mod 60);
Junta := IntToStr(TotHora) + ´:´ + IntToStr(TotMin);
end;


GOSTEI 0
POSTAR