Delphi: Wie ermitteln und leer TDatetime-Wert

Scheint es keine Möglichkeit gibt, weisen Sie NULL (entweder ein "nicht zugewiesene Wert" zu TDateTime Variablen.

Nur so, ich habe gedacht ist mit so etwas wie dieses:

function isNull(aDate : TDateTime) : boolean;
const NullDate = 0.0;
var aNullDate : TDatetime;
    ms : Int64;
begin
  aNullDate := NullDate;
  ms := MilliSecondsBetween(aDate,aNullDate);
  result := (ms = Int64(0));
end;

Gibt es jemand heraus, wer kennt eine bessere Lösung, was nicht überlappt 0 Datum Wert?

Sind negative TDateTime Werte gefährlich? (Als eine Ressource für die bisherigen zwecks)

  • Wenn Sie Vorhaben, diese Funktion zu verwenden, die war glaube ich, sicherlich NullDate sollte eine Globale Konstante?
  • Ich habe Probleme beim Vergleich einen null-Wert zugewiesen TDateTime-variable const-Wert 0. Ein einfaches wenn als dieser sich nicht überprüfen Sie den Zustand ` var v_datetime: TDatetime;` ` v_datetime := 0;` ` if (v_datetime = 0), dann actionToTake`
  • Das ist, weil der floating-point-fuzz. Verwenden Math.IsZero.
  • 0 ist ein perfekt gültiges Datum ist, und negativ, Termine sind völlig in Ordnung, als gut. 0 ist Mitternacht, am 30. Dez 1899. Negative zahlen sind Termine vor.
InformationsquelleAutor xsubira | 2013-02-20
Schreibe einen Kommentar