Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Zeiten einer Datenbank addieren

  Alt 16. Dez 2005, 21:35
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.
  Mit Zitat antworten Zitat