Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.145 Beiträge
 
Delphi 12 Athens
 
#24

AW: Datumsdifferenz berechnen?

  Alt 21. Jan 2014, 10:00
Mehr als ein Jahr liegt eh nie zwischen den Ferien
In der Überschrift ist aber nicht nur von Ferien die Rede.

Ich glaub aber die While-Schleife ist falsch, denn dort wird scheinbar ein Monat zu viel eingerechnet.

- vor der Schleife den Monat erhöhen
- und das Result := Result + ... an den Anfang der Schleife, bevor dort der Monat erhöt wird

Oder die Schleife muß einen Monat früher aufhören, also noch mal die Abbruchbedingung (mit if then break; ) nach dem Erhöhen des Monats, bevor Addiert wird.

PS: Warum BOOL (Integer) und nicht Boolean (Byte und der Standardtyp im Delphi) ?
PPS: Warum Integer Zahlen als Result, obwohl es Boolean sein sollten?

Notfalls sollte man auch B vor A abfangen, denn sonnst läuft deine Schleife ein Weilchen. (Byte+Integer = bis zu 1.099.511.627.775 Durchläufe)
- Dieses erkennen und eine Exception werfen
- Dieses erkennen und einen "Fehler"-Wert zurückgeben (z.B. -1 oder MinInt)
- Dieses erkennen, die Werte austauschen, das Minus merken und am Ende das Result umdrehen (Result := -Result; )
- erkennen, austauschen, -1 oder 1 merken und am Ende damit multiplizieren
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Jan 2014 um 10:09 Uhr)
  Mit Zitat antworten Zitat