AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datumsdifferenz berechnen?

Ein Thema von ThaiSon96 · begonnen am 19. Jan 2014 · letzter Beitrag vom 23. Jan 2014
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

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
Ein Therapeut entspricht 1024 Gigapeut.

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

n/a Beiträge
 
#2

AW: Datumsdifferenz berechnen?

  Alt 22. Jan 2014, 20:24
Ich glaub aber die While-Schleife ist falsch, denn dort wird scheinbar ein Monat zu viel eingerechnet.
- vor der Schleife den Monat erhöhen
Jupp, aber mehr muss nicht sein, oder?. War ja nur ne Idee in Delphi#.
Die ganzen Abfragen kann man noch einbauen, aber ich mach ja nicht alle Hausarbeiten.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Datumsdifferenz berechnen?

  Alt 22. Jan 2014, 21:10
Es ist noch ein Fehler in der Gültigkeitsabfrage
Code:
Heute: [FerienTag+x].[FerienMonat].[FerienJahr]
Also gleiches Jahr, gleicher Monat und der heutige Tag größer als der Ferientag
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
733 Beiträge
 
Delphi 12 Athens
 
#4

AW: Datumsdifferenz berechnen?

  Alt 23. Jan 2014, 07:02
In deiner while-Schleife zählst du die Monate hoch. Da wird aber ein Jahreswechsel nicht berücksichtigt. Überleg mal, was passiert, wenn du am 31.12 wissen willst, viele Tage es noch bis zu den Faschingsferien sind.
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz