Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Abfrage: Wenn ein Datum in der Zukunft liegt (https://www.delphipraxis.net/31381-abfrage-wenn-ein-datum-der-zukunft-liegt.html)

JSB 8. Okt 2004 11:48


Abfrage: Wenn ein Datum in der Zukunft liegt
 
Ich habe ein Problem. :cry: Ich möchte eine Abfrage zu einem DateTimePicker machen. Genau: Ich möchte wissen ob das Datum im DateTimePicker noch gegenüber dem Jeztdatum in der Zukunft liegt. Ich habe es so Ausprobiert:

Delphi-Quellcode:
if ddatum.Date > Date then
  if MessageDlg('Achtung! Das Ausgewählte Datum liegt noch in der Zukunft. '+#13+#10+'wählen Sie Ja um das Datum trotzdem zu übernähmen oder '+#13+#10+'Nein um das Datum zu ändern und dann erst die Buchung '+#13+#10+'durchzuführen.', mtWarning, [mbYes,mbNo], 0) = mrNo then
aber irgendwie bekomme ich die Fehlermeldung immer *HILF* :gruebel:

Hat jemand eine :idea: ?

himitsu 8. Okt 2004 11:53

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
Zitat:

Zitat von JSB
aber irgendwie bekomme ich die Fehlermeldung immer *HILF* :gruebel:

Welche Meldung?

[edit]
achso, jetzt habsch's b
verstanden :wall:

nimm mal Now, statt Date, oder runde ddatum.Date ab [trunc(ddatum.Date)]

Denn in Date steht wirklich nur das Datum, aber in ddatum.Date ist das Datum und die Uhrzeit drin

Date < (aktuelles Datum) + (die Uhrzeit, welche im DateTimePicker ebenfalls angegeben ist ... bei dir vermutlich die Uhrzeit, als dein DateTimePicker initialisiert wurde)

JSB 8. Okt 2004 11:55

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
Diese die erscheinen soll wenn das Datum noch in der Zukunft liegt... :lol:

Delphi-Quellcode:
if MessageDlg('Achtung! Das Ausgewählte Datum liegt noch in der Zukunft. '+#13+#10+'wählen Sie Ja um das Datum trotzdem zu übernähmen oder '+#13+#10+'Nein um das Datum zu ändern und dann erst die Buchung '+#13+#10+'durchzuführen.', mtWarning, [mbYes,mbNo], 0) = mrNo

alcaeus 8. Okt 2004 11:59

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
Hi JSB,

ich habs gerade getestet, und festgestellt dass die Meldung auch angezeigt wird, wenn ich das heutige Datum wähle. Das Problem hab ich gelöst, indem ich anstatt
Delphi-Quellcode:
ddatum.Date > Date
folgendes geschrieben habe:
Delphi-Quellcode:
Trunc(ddatum.Date) > Trunc(Date)
.
Wenn ich hingegen den 7.10. ausgewählt habe, so wurde der MessageBox-Aufruf übersprungen. Evtl. hast du einen anderen Fehler.

Greetz
alcaeus

Stevie 8. Okt 2004 12:01

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
Müsste auch so funzen:
Delphi-Quellcode:
if ddatum.Date > TDate(Now) then

SubData 8. Okt 2004 12:01

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
Also ich würde das einfach so machen...

Code:
if ddate.DateTime > Now then
begin
  // blah
end;

himitsu 8. Okt 2004 12:02

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
genau ... aber Date braucht man nicht runden ;)

Begründung ist oben drin ^^

:wall: hatte deinen Kontext kurz nach'm Abschicken dann auch begriffen -.-''

JSB 8. Okt 2004 12:07

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
:? Der Sinn der Sache ist der: Ich darf als anwender den DateTimePicker vor dem Heutigem Datum in dem Heutigem Datum und nach dem Heutigem Datum stellen, nur soll ich wenn das Datum noch in der Zukunft liegt gewarnt werden und die Möglichkein haben wieder zurück zu gelangen. Deswegen: Die Meldung soll nur erscheinen wenn das Datum des DateTimePicker's nicht gestern, vorgestern ... (u.s.w in die Vergangenheit) und nicht heute sondern morgen, übermorgen... (u.s.w. in die Zukunft) ist.
Noch eine Frage zum letzten Komentar: Was erreiche ich mit:
Delphi-Quellcode:
Trunc(ddatum.Date) > Trunc(Date)
Was ist da anders??? :?: :?:

Stevie 8. Okt 2004 12:13

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
Soll es denn die Möglichkeit geben, ein zukünftiges Datum einzugeben?? Sonst kannst du über die Eigenschaft MaxDate die Datumseingabe eines Datums aus der Zukunft überhaupt nicht zu erlauben!

alcaeus 8. Okt 2004 12:17

Re: Abfrage: Wenn ein Datum in der Zukunft liegt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi JSB,

das Trunc schneidet die Nachkommastellen ab. Im Anhang mal ein Vergleich. Das Problem ist, dass auch wenn man Date verwendet, immer noch die Nachkommastellen für die Zeit dabei sind.
Nun nochmal eine Frage zum Problem: die MessageBox kommt also auch, wenn das Datum in der Vergangenheit liegt (also 8.10.2003)?

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:15 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz