Irgendwas ist faul. Aus einem TDateTime von 42173,681694 wird durch Trunc(Frac(DateTime) * 24 * 60 * 60 * 1000) ein Integer von 58898345. Werde es wohl doch in einen String speichern müssen damit ich es wieder finde.
Bezeichne bitte nicht etwas als faul was nicht faul ist. Alles ist so wie es sein soll. Aber seit Menschengedenken weiß man, dass man Fließkommawerte nicht miteinander vergleicht, bzw. es dabei zu Problemen kommen kann. Was glaubst du bedeutet das Wort: Fließkomma?
Ich hab schon zig Projekte geschrieben in deinen ich Daten miteinander verglichen oder gesucht habe. Das klappt schon, man muss sich nur der Problematik bewußt sein.
Eben, es gibt Rundungsfehler und ich finde den Record nicht wieder.
Wenn du das Datum und Uhrzeit in zwei Integer zerlegst, warum machst du dann wieder ein Double daraus um es zu vergleichen. Warum machst du den Double mit dem du suchst nicht zu zwei Integern? Und schon ist das Problem beseitigt. Und sollte es nötig sein mit Double-Werten zu vergleichen, wie wäre es den Double zuerst zu zerlegen und dann wieder zum Double zu machen. Dann haben beide Double-Werte, der gespeicherte und der mit dem du vergleichst, die gleiche Rundungs-Ungenauigkeiten.