Tempo - tempo decorrido entre duas horas

Top  Previous  Next

 for i := 1 to stats_frm.query3.recordcount do

      begin

         CurID := stats_frm.query3.fields[0].AsInteger;

         D1 := stats_frm.query3.fields[1].AsDateTime;  {assign start date/time from query}

         D2 := stats_frm.query3.fields[2].AsDateTime;  {assign end date/time from query}

         D3 := D2 - D1;                                       {get difference between date/times}

         DVal := DateVal(D3);                               {call the function}

         if CurID = BegID then .....

 

 

{/**  Here's the function that D3 is passed to **/}

 

function DateVal(D3: tDateTime): Integer;

var

   DDay, DHrs, DMin, DSec: Integer;

   Year, Month, Day, Hour, Min, Sec, MSec: Word;

begin

   DecodeDate(D3, Year, Month, Day);

   DecodeTime(D3, Hour, Min, Sec, MSec);

   DDay := (Day * 24 * 60);

   DHrs := (Hour * 60);

   DMin := Min;

   If Sec > 30 then

      begin

         Sec := 1;

      end

   else

      begin

         Sec := 0;

      end;

   DSec := Sec;

   DateVal := (DDay + DHrs + DMin + DSec);

end;

 

{

The value it returns is an integer.  

The value is rounded up or down depending on the seconds.

}