Fórum como obter o Total de horas trabalhadas Semanalmente DELPHI Ajudem ! #523339

19/06/2015

0

Bom dia Galera,

preciso de uma função para somar as horas trabalhadas semanalmente por um funcionário, quando eu estou somando ao passar de 24 horas ele zera o contador, mas eu preciso do total correto. Alguém pode me ajudar?
Samdi Informática

Samdi Informática

Responder

Posts

19/06/2015

Dorivan Sousa

voce precisa criar um acumulador pra horas, minutos e segundos e ao final converter.

1 - cria um type:
  
TypeHora = Array[1..3] of integer;


2- variaveis para acumular as horas, minutos e segundos
var
  iHoraPos,iMinutoPos,iSegundoPos:Integer;


cria a funcao
function TRel_Cartao_Ponto.AcumulaPos(HoraTrabalhada: TTime) : TypeHora;
Begin
  iHoraPos:=iHoraPos+StrToInt(Copy(TimeToStr(HoraTrabalhada),1,2));
  iMinutoPos:=iMinutoPos+StrToInt(Copy(TimeToStr(HoraTrabalhada),4,2))
  iSegundoPos:=iSegundoPos+StrToInt(Copy(TimeToStr(HoraTrabalhada),7,2));
  If iSegundoPos >= 60 Then
  Begin
    iMinutoPos:=iMinutoPos+1;
    iSegundoPos:=0;
  end;
  If iMinutoPos >= 60 Then
  Begin
    iHoraPos:=iHoraPos+1;
    iMinutoPos:=0;
  end;
  AcumulaPos[1]:=iHoraPos;
  AcumulaPos[2]:=iMinutoPos;
  AcumulaPos[3]:=iSegundoPos;
End;


3 - utilizar
AcumulaPos(StrToTime(hTotal_Trab));



na hora de exibir voce
      Hora:=FormatFloat('00',iHoraPos)+':'+FormatFloat('00',iMinutoPos);
Responder

Gostei + 0

22/06/2015

Samdi Informática

Boa tarde Dorivan,

Muito obrigado, mas consegui resolver este problema. Obrigado mais um vez pela disposição!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar