Somar Horas Trabalhadas
Preciso somar as horas trabalhas dos funcionarios:
por exemplo a :
HorEnt1 >>>>quando entra de manha
HorSai1 >>>>quando sai para o almoco
HorEnt2 >>>>quando entra depois do almoco
HorSai2 >>>>quando sai depois do almoco
ai eu preciso fazer essa dessas entradas e saidas(os intervalos)
A minha tabela tem essa estrutura:
Codigo
Funcionario
Data
HorEnt1
HorSai1
HorEnt2
HorSai2
Eu utilizo o Firebird 2.0 e delphi 7
por exemplo a :
HorEnt1 >>>>quando entra de manha
HorSai1 >>>>quando sai para o almoco
HorEnt2 >>>>quando entra depois do almoco
HorSai2 >>>>quando sai depois do almoco
ai eu preciso fazer essa dessas entradas e saidas(os intervalos)
A minha tabela tem essa estrutura:
Codigo
Funcionario
Data
HorEnt1
HorSai1
HorEnt2
HorSai2
Eu utilizo o Firebird 2.0 e delphi 7
Robinhocne
Curtidas 0
Respostas
Altingon
03/07/2008
Tente isso
[/code]
Function DifHora(fim,Inicio : String):TdateTime; var tinicio,tfim:TDateTime; begin if (inicio = ´ : ´) and (fim = ´ : ´) then begin Tinicio := strtotime(´00:00´); Tfim := Strtotime(´00:00´); end else begin Tinicio := strtotime(inicio); Tfim := Strtotime(fim); end; If (tinicio > tfim) then begin if timetostr(tfim) = ´00:00:00´ then begin result := (StrTotime(´23:59´)+ StrToTime(´00:01´)-tinicio)+tfim end else result := (StrTotime(´23:59´)-tinicio)+tfim; end else begin result := tfim-tinicio; end; end;
GOSTEI 0
Robinhocne
03/07/2008
mas é assim eu tenho que pegar tudo já que está no bando e mostrar em um tmaskedit, como eu faço ?
GOSTEI 0
Edilcimar
03/07/2008
Seria algo mais ou menos assim
Select Sum(HoraSaida) as TotalSaida, Sum(HoraEntrada), as TotalEntrada;
Total := TotalSaida - TotalEntrada
Select Sum(HoraSaida) as TotalSaida, Sum(HoraEntrada), as TotalEntrada;
Total := TotalSaida - TotalEntrada
GOSTEI 0
Altingon
03/07/2008
Esta função retorna do time Tdatetime.
basta buscar no banco e usar a função assim:
basta buscar no banco e usar a função assim:
MaskEdit5.Text := timetostr(DifHora(query.fieldbyname(´datafim´).asstring,query.fieldbyname(´dataini´).asstring)
GOSTEI 0