DateTimePicker - Jahre nicht beachten?



  • Guten Abend!

    Zur Zeit bin ich am Programmieren von einem Vermietungsprojekt und mir tut sich nun eine Frage auf. Ich möchte z.B. in jedem Quartal einen anderen Preis nutzen, je nachdem welches Datum mit einem DateTimePicker eingestellt wurde.

    Das Problem: Wenn ich mit dem DateTimePicker3 das Datum über 2008 hinaus stelle, also 2009, meldet das Popup "4. Quartal: 400Euro". Wenn ich 31.12.2006 einstelle erscheint keine Meldung.

    Ich denke mal, es liegt daran, dass der DateTimePicker die Jahre in irgendeiner Art und Weise mit beachtet und nur das aktuelle, auf dem PC eingestellte Jahr verarbeitet. Meine Frage ist nun ob es eine möglichkeit gibt, dass das Jahr nicht beachtet wird, sondern nur die Monate 😕

    Hier das Bsp:

    if(DateTimePicker3->Date <= TDateTime("31.12").FormatString("dd.mm"))
      ShowMessage("4. Quartal: 400Euro");
     if(DateTimePicker3->Date <= TDateTime("30.09").FormatString("dd.mm"))
      ShowMessage("3. Quartal: 300Euro");
     if(DateTimePicker3->Date <= TDateTime("30.06").FormatString("dd.mm"))
      ShowMessage("2. Quartal: 200Euro");
     if(DateTimePicker3->Date <= TDateTime("31.03").FormatString("dd.mm"))
      ShowMessage("1. Quartal: 100Euro");
    

    Hoffe auf Hilfe!



  • sorry, falscher code...

    if(DateTimePicker3->Date >= TDateTime("01.10").FormatString("dd.mm"))
      ShowMessage("4. Quartal");
     else if(DateTimePicker3->Date >= TDateTime("01.07").FormatString("dd.mm"))
      ShowMessage("3. Quartal");
     else if(DateTimePicker3->Date >= TDateTime("01.04").FormatString("dd.mm"))
      ShowMessage("2. Quartal");
     else if(DateTimePicker3->Date >= TDateTime("01.01").FormatString("dd.mm"))
      ShowMessage("1. Quartal");
    


  • Extrahiere doch den Monat aus dem DateTimePicker-Wert und prüfe, in welchen Quartal er liegt.



  • den Monat kann man z.B. mit MonthOf oder MonthOfTheYear bekommmen (siehe DateUtils.hpp)



  • Vielen Dank für die Antworten! 🙂

    Ich hatte gestern Abend den Vorschlag von "witte" schon angewandt, mit Erfolg!

    Danke nochmal!


Anmelden zum Antworten