Fórum Ref. Calculo de horas #229524
03/05/2004
0
Alguem poderia me ajudar como faço isso, se conhecerem algum exemplo de programa na rede por favor me indiquem.
Grato
Ricardo.cabral
Curtir tópico
+ 0Posts
03/05/2004
Djjunior
o problema é se essa soma der mais de 23:59:59 ai ele ´volta´ a 0:00:00, dê uma pesquisada no forum que isso já foi discutido
Gostei + 0
04/05/2004
Tinorj
Ex:
{No caso de vc usar o Delphi6, use a unit DateUtils e ignore as função HourOf, MinuteOf e SecondOf abaixo listadas}
function HourOf(const AValue: TDateTime): Word;
var
LMinute, LSecond, LMilliSecond: Word;
begin
DecodeTime(AValue, Result, LMinute, LSecond, LMilliSecond);
end;
function MinuteOf(const AValue: TDateTime): Word;
var
LHour, LSecond, LMilliSecond: Word;
begin
DecodeTime(AValue, LHour, Result, LSecond, LMilliSecond);
end;
function SecondOf(const AValue: TDateTime): Word;
var
LHour, LMinute, LMilliSecond: Word;
begin
DecodeTime(AValue, LHour, LMinute, Result, LMilliSecond);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
HoraI, HoraF, HorasTrabalhadas: TTime;
begin
HoraI := StrToTime(MaskEdit1.Text);
HoraF := StrToTime(MaskEdit2.Text);
HorasTrabalhadas := HoraF - HoraI;
Panel1.Caption := Format(´Total de Horas Trabalhadas: ¬d:¬d:¬d´,
[HourOf(HorasTrabalhadas),
MinuteOf(HorasTrabalhadas),
SecondOf(HorasTrabalhadas)]);
end;Gostei + 0
04/05/2004
Rogerio_amorim
Tente isto:
adicione um campo calculado na sua table ou query editável e no evento CalcFields do componente coloque:
ex: IBQUERY2.FieldByName(´TEMPOA´).VALUE := (IBQUERY2.FieldByName(´DATA_SAIDA´).value - IBQUERY2.FieldByName(´DATA_ENTRADA´).value) * 24;
e vc mostraria o resultado em um DBtext, isso em horas, claro !
Rogério Amorim
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)