Ganz herzliches Willkommen hier im besten Forum
Zu deinem Problem:
1. Warum berechnest Du deine Summe in Delphi. Du durchläufst deine gesamte Datenmenge, nur um die Summer zu berechnen. Wenn Du 100000 hast, dauert das ne halbe Ewigkeit... Deshalb erst mal besser:
select sum(Zeit) as GesamtZeit from DeineTabelle
In query1.FieldValues['Gesamtzeit'] steht dann als TDateTime deine Summe.
2. Dein Problem ist aber im Grunde die Darstellung. Da musst Du dich schon selbst drum kümmern. Da Du ja kein Anfänger mehr bist, sollte Folgendes als Stütze helfen:
Delphi speichert die Daten und Zeiten in einem Float, auch wenn Du TDateTime verwendest. Der Teil vor dem komma sind die Tage, die dahinter die Stunden... Hast du also bsp. 60 Stunden, so sind das im Grunde genau 2,5 Tage
Also:
Delphi-Quellcode:
function FormatTime (T : TDateTime) : string ;
var
h, m, s, ms : word ;
begin
DecodeTime (T,h,m,s,ms) ;
h := h + Trunc(T)*24 ;
Result := Format ('%.3d:%.2d%.2d',[h,m,s]) ;
end ;
In Delphi gibts bestimmt dafür auch eine fertige Funktion, aber ich denk so sollte das Prinzip leichter verständlich sein, was ein TDateTime überhaupt für Delphi darstellt.