Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

HourSpan ... Merkwürdigkeiten

  Alt 4. Jan 2023, 06:44
Hallöle...

Bei sowas macht Programmieren keinen Spaß...

Gegeben:
* 2 DateTime Felder, 1 FloatFeld
* beide DateTime Felder haben den gleichen Eventhandler
Delphi-Quellcode:
procedure TDMED.FDQAktuelleTermineAnkunftChange(Sender: TField);
var
  StartTime: TDateTime;
  EndTime: TDateTime;
  HourDifference: Double;
begin
  HourDifference := 0.0;

  StartTime := FDQAktuelleTermine.FieldByName('Ankunft').AsDateTime;
  EndTime := FDQAktuelleTermine.FieldByName('Abkunft').AsDateTime;

  if not FDQAktuelleTermine.FieldByName('Abkunft').IsNull then
  begin
    HourDifference := HourSpan(StartTime, EndTime);
  end;

  FDQAktuelleTermine.FieldByName('Dauer').AsFloat := HourDifference;
end;
Der User hat gesagt, er hat sich im Datum vertan und hat es korrigiert. Trotzdem ist der komische Wert stehengeblieben...

Wo kommt der Wert her?

PS: Ich kann es nicht repoduzieren. Es kommt immer das Richtige raus... (auch bei 2099 (Bild2))

Nachtrag:
Der Wert 1078.... kommt raus wenn man den "Ankunft" Wert auf leer setzt. (Bild3) Dann stellt sich aber die Frage, warum wurde der Handler nicht ausgeführt?
Miniaturansicht angehängter Grafiken
fehler_1.jpg   fehler_2.png   fehler_3.png  

Geändert von haentschman ( 4. Jan 2023 um 07:04 Uhr)
  Mit Zitat antworten Zitat