![]() |
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:
aber irgendwie bekomme ich die Fehlermeldung immer *HILF* :gruebel:
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 Hat jemand eine :idea: ? |
Re: Abfrage: Wenn ein Datum in der Zukunft liegt
Zitat:
[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) |
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
|
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:
folgendes geschrieben habe:
ddatum.Date > Date
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 |
Re: Abfrage: Wenn ein Datum in der Zukunft liegt
Müsste auch so funzen:
Delphi-Quellcode:
if ddatum.Date > TDate(Now) then
|
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; |
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 -.-'' |
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:
Was ist da anders??? :?: :?:
Trunc(ddatum.Date) > Trunc(Date)
|
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!
|
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:16 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