Calculo total de horas
Olá!
Preciso somar a quantidade de Horas trabalhdas em um determinado periodo de um determinado funcionario.
Exemplo:
05/05 --> 08:00:00
06/05 --> 08:45:00
07/05 --> 08:30:00
===============
Total --> 25:15:00
Alguem pode me ajudar com fazer isso?
Se puderem me ajudar, ficaria muito grato!
Obrigado
Preciso somar a quantidade de Horas trabalhdas em um determinado periodo de um determinado funcionario.
Exemplo:
05/05 --> 08:00:00
06/05 --> 08:45:00
07/05 --> 08:30:00
===============
Total --> 25:15:00
Alguem pode me ajudar com fazer isso?
Se puderem me ajudar, ficaria muito grato!
Obrigado
Ronithd
Curtidas 0
Respostas
Robotpost
14/11/2006
Amigo,
Me mande um e-mail que te envio um exemplo:
fernando.gs@uol.com.br
Abraços!
Me mande um e-mail que te envio um exemplo:
fernando.gs@uol.com.br
Abraços!
GOSTEI 0
Paullsoftware
14/11/2006
teste ai que vai funcionar normal...
espero ter ajudado :wink:
//Usei uma tabela com o campo Hora somente para testar //pode-se usar um ClientDataSet em memória para testar procedure TForm1.Button2Click(Sender: TObject); var ToHor,t2: TTime; Ano, Mes, Dia, Hora, Min, Seg, MSeg: Word; AcumHor,AcumMin,AcumSeg : Integer; begin AcumHor := 00; AcumMin := 00; tab.Refresh; tab.First; while not tab.Eof do begin ToHor := strtotime(tabhora.Value); DecodeTime(ToHor, Hora, Min, Seg, MSeg); if (Min < 60) and (Min <> 0) then begin if AcumMin < 60 then begin AcumMin := AcumMin + Min; end; //acumula minutos if AcumMin >= 60 then begin AcumHor := AcumHor + 1; // soma uma hora se minuto >= 60 AcumMin := AcumMin - 60; // diminui horas do minuto >= 60 end; end; AcumHor := AcumHor + Hora; // acumula horas tab.Next; end; FormatFloat(´00´,AcumMin);//formata casa decimais em minuto FormatFloat(´00´,AcumHor);//formata casa decimais em hora Label6.Caption := ´Total de Horas : ´ + FormatFloat(´00´,AcumHor) + ´:´+ FormatFloat(´00´,AcumMin); MaskEdit4.Text := FormatFloat(´00´,AcumHor) + ´:´+ FormatFloat(´00´,AcumMin); end;
espero ter ajudado :wink:
GOSTEI 0