AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Trunc und TTime (Wenn TTime = 1 gibt Trunc 0 zurück, warum?)

Trunc und TTime (Wenn TTime = 1 gibt Trunc 0 zurück, warum?)

Ein Thema von Schmufu · begonnen am 29. Nov 2004 · letzter Beitrag vom 30. Nov 2004
 
Schmufu

Registriert seit: 24. Sep 2003
Ort: Bremen
4 Beiträge
 
Delphi 7 Enterprise
 
#1

Trunc und TTime (Wenn TTime = 1 gibt Trunc 0 zurück, warum?)

  Alt 29. Nov 2004, 21:25
Hallo,

ich habe folgende Funktion geschrieben, um aus einem TTime (TDateTime) die Stunden und Minuten zu bekommen, und zwar auch dann die stunden wenn es sich um mehr als 24 stunden handelt.

Es Funktioniert auch wunderbar, allerdings gibt die Funktion 0:00 zurück wenn "Zeit" 1 ist, also exakt 24 Stunden.

Wenn ich mir das ganze beim Debuggen anschaue hat "Zeit" den wert 1, allerdings hat "Tage" nach dem Trunc den Wert 0!

Ändere ich den Quelltext auf "Tage := Trunc(1)" (also immer 1 an Trunc) ist Tage auch immer 1.

Irgendwie verstehe ich das nicht. Kann mir da vielleicht jemand auf die Sprünge helfen?

Code:
function TimeToStrInHoursMinutes(Zeit: TTime): String;
var Tage: Integer;
    Stunden, Minuten: String;
begin
  if Zeit >= 0 then
  begin
    Tage := Trunc(Zeit); // Ganzahl des TTime in Tage?!?
    Stunden := IntToStr(24*Tage + StrToInt(FormatDateTime('hh', Zeit - Tage)));
    Minuten := FormatDateTime('nn', Zeit - Tage);
    Result := Stunden+':'+Minuten;
  end
  else
  begin
    Tage := Trunc(Zeit) * (-1);
    Stunden := IntToStr(24*Tage + StrToInt(FormatDateTime('hh', Zeit + Tage)));
    Minuten := FormatDateTime('nn', Zeit + Tage);
    Result := '-'+Stunden+':'+Minuten;
  end;
end;
PS: Die Funktion hätte man vielleicht auch anders schreiben können, verbesserungsvorschläge werden dankbar angenommen
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz