Delphi-PRAXiS
Seite 7 von 10   « Erste     567 89     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nächstes Datum errechnen (https://www.delphipraxis.net/126657-naechstes-datum-errechnen.html)

Larsi 30. Dez 2008 12:53

Re: Nächstes Datum errechnen
 
Edit: Ich habe vor der 2 am Anfang ne 0 vergessen.

haentschman 30. Dez 2008 12:57

Re: Nächstes Datum errechnen
 
@DeddyH
Delphi-Quellcode:
if (aDate >= date) and (aDate < minDate) then
funktioniert so nicht wirklich, da das erste gefundene Datum in der Zukunft größer als dein Startwert von minDate sein kann.
:wink:

DeddyH 30. Dez 2008 12:58

Re: Nächstes Datum errechnen
 
Sicher? ;)

haentschman 30. Dez 2008 13:03

Re: Nächstes Datum errechnen
 
eigentlich schon. Da ich bei meinen Überlegungen auf dieses Problem gestoßen war.

Delphi-Quellcode:
minDate := IncYear(StartOfAYear(YearOf(date)));
du initialisierst minDate mit 01.01.2009 00:00, wenn ich o.g. Funktion richtig interpretiere. (ausgegangen vom heutigen Datum)

wenn der erste höhere als heute gültige Eintrag (z.B. 02.05.2009) gefunden wird ist
Delphi-Quellcode:
if (aDate >= date) and (aDate < minDate) then
...False und minDate wird nicht aktualisiert.

DeddyH 30. Dez 2008 13:05

Re: Nächstes Datum errechnen
 
Die Datumsangaben werden alle auf das laufende Jahr gesetzt (OK, durch Stringfunktionen, deshalb ja suboptimal), minDate ist aber immer der 1.1. des nächsten Jahres, muss also zwangsläufig immer größer sein.

haentschman 30. Dez 2008 13:08

Re: Nächstes Datum errechnen
 
eben nicht :P

Heute: 30.12.2008
minDate: 01.01.2009
erster Eintrag in Liste: 02.05.2009

minDate < erster Eintrag sprich... aDate > minDate

prinzipiell funktioniert das, wenn minDate einen gültiger Eintrag der Liste darstellt. So lange das nicht der Fall ist würde nur ein minDate Startwert Heute + 100 Jahre weiterhelfen. 8)

DeddyH 30. Dez 2008 13:09

Re: Nächstes Datum errechnen
 
Aus dem 02.05.2009 wird doch der 02.05.2008 gemacht (zumindest bis übermorgen).

Klaus01 30. Dez 2008 13:12

Re: Nächstes Datum errechnen
 
.. um das ganze noch verwirrender zu gestalten,
sollte man da nicht zwischen wiederkehrenden und einmaligen Terminen unterscheiden?
Bei den wiederkehrenden Terminen ist die Jahreszahl irrelevant - bei den einmaligen Terminen nicht.

Grüße
Klaus

haentschman 30. Dez 2008 13:13

Re: Nächstes Datum errechnen
 
Zitat:

Aus dem 02.05.2009 wird doch der 02.05.2008 gemacht (zumindest bis übermorgen).
:gruebel:
Zitat:

minDate := IncYear(StartOfAYear(YearOf(date)));
du benutzt aber für die Initialisierung das aktuelle Datum und nicht den Eintrag aus der Liste, der bleibt völlig unberührt.

DeddyH 30. Dez 2008 13:13

Re: Nächstes Datum errechnen
 
Zitat:

Zitat von Klaus01
.. um das ganze noch verwirrender zu gestalten,
sollte man da nicht zwischen wiederkehrenden und einmaligen Terminen unterscheiden?
Bei den wiederkehrenden Terminen ist die Jahreszahl irrelevant - bei den einmaligen Terminen nicht.

Grüße
Klaus

Guter Einwand, aber das ist ja dann ein Fall für Larsi :mrgreen:

[edit]@haentschman:
Zitat:

Delphi-Quellcode:
aDate := StrToDate(Copy(sl[i],1,6) + FormatDateTime('yyyy',date));

Hier liegt der Hase im Pfeffer. Ich schneide nur Tag und Monat ab und hänge das laufende Jahr dahinter. Somit ist der 01.01. des Folgejahres immer größer als der erste Eintrag. [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 Uhr.
Seite 7 von 10   « Erste     567 89     Letzte »    

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