Hai TimmA,
hier mal eine Idee. Ist aber nicht getestet *gg*
Delphi-Quellcode:
var
aZeiten: array[1..10] of tTime; //Array mit den Zeiten
iTage, // Summe Tage
iStunden, // Summe Stunden
iMinuten, // Summe Minuten
iSekunden: Integer; //Summe Sekunden
procedure TForm1.Button1Click(Sender: TObject);
var
ndx: Integer;
Hour, Min, Sec, MSec: Word; // Temp Variablen
begin
iTage := 0;
iStunden := 0;
iMinuten := 0;
iSekunden := 0;
for ndx := Low(aZeiten) to High(aZeiten) do
begin
DecodeTime(aZeiten[ndx], Hour, Min, Sec, MSec);
// Die Einzelnen Zeilteile addieren;
iStunden := iStunden + Hour;
iMinuten := iMinuten + Min;
iSekunden := iSekunden + Sec;
end;
iMinuten := iMinuten + (iSekunden div 60);
iSekunden := iSekunden mod 60;
iStunden := iStunden + (iMinuten div 60);
iMinuten := iMinuten mod 60;
iTage := iStunden div 24;
iStunden := iStunden mod 24;
end;
In diesem Demo müssen die Zeiten als tTime in dem Array gespeichert sein.
Dann addiere ich ersteinmal alle Stunden,Minuten und Sekunden. (For-Schleife)
Im letzen Teil werden die Überlaufe berücksichtigt.
z.B.: 123 sekunden sind 2 Minuten und 3 Sekunden. Die Minuten werden also um 2 erhöht und die sekunden auf 3 gesetzt.
Stephan B.
"Lasst den Gänsen ihre Füßchen"