Einzelnen Beitrag anzeigen

Benutzerbild von nTE
nTE

Registriert seit: 8. Sep 2003
60 Beiträge
 
#4

Re: In Stunden, Minuten, und Sekunden umrechnen

  Alt 13. Okt 2003, 16:13
Ich glaube, da du keine TDateTime Struktur sondern eine Sekundenangabe hast, musst du diese einfach nur umrechen. Meine Variante sieht so aus:

Delphi-Quellcode:
function TFormMain.SecsToTime(dSec: LongWord): String;
begin
  // mindenstens 1 Tag
  if dSec >= 86400 then
    Result := IntToStr(dSec div 86400) + ' Tag(e), ' + IntToStr((dSec - ((dSec div 86400) * 86400)) div 3600) + ' Stunde(n), ' + IntToStr((dSec - ((dSec div 3600) * 3600)) div 60) + ' Minute(n), ' + IntToStr(dSec - ((dSec div 60) * 60)) + ' Sekunde(n)'

  // mindestens 1 Stunde
  else if dSec >= 3600 then
    Result := IntToStr(dSec div 3600) + ' Stunde(n), ' + IntToStr((dSec - ((dSec div 3600) * 3600)) div 60) + ' Minute(n), ' + IntToStr(dSec - ((dSec div 60) * 60)) + ' Sekunde(n)'

  // mindestens 1 Minute
  else if dSec >= 60 then
    Result := IntToStr(dSec div 60) + ' Minute(n), ' + IntToStr(dSec - ((dSec div 60) * 60)) + ' Sekunde(n)'
  
  // nur Sekunden
  else
    Result := IntToStr(dSec) + ' Sekunde(n)';
end;
Ich behaupte aber nicht, dass das schon die effektivste Methode ist. ;)
Zumal sie keine Abfrage bezüglich Stunde/Stunden (also Wert gleich 1 oder ungleich 1) hat.
Aber da du ja eh nur h,m,s schreiben willst sollte das ja kein Problem sein.
  Mit Zitat antworten Zitat