dodawanie i odejmowanie czasow i blad

0

mam oto taki kod:

procedure TForm1.FormCreate(Sender: TObject);
var T1, T2 : TTime;
begin

 T1 := EncodeTime(23, 55, 0, 0) + EncodeTime(0, 10, 0, 0);
 T2 := EncodeTime(00, 05, 0, 0) - EncodeTime(0, 10, 0, 0);

 Label1.Caption := TimeToStr(T1); // powinno podawac: 00:05:00
 Label2.Caption := TimeToStr(T2); // powinno podawac: 23:55:00

end;

jak dodaje czas to wszystko jest prawidlowo nawet gdy 'przekraczam' polnoc
ale gdy juz odejmuje i cofam sie jakby o jeden dzien do tylu to juz nie jest to uwzglednione
i czas nie jest poprawny, dlaczego?
i jak to naprawic?

0
if t2 < 0 then
   t2 := Trunc(T2) + T2 + 1;

nie ma czasu ujemnego!

1 użytkowników online, w tym zalogowanych: 0, gości: 1