Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Tage eines Monats abfragen


spacemanspiff - Mi 16.03.11 12:23
Titel: Tage eines Monats abfragen
Hallo zusammen,

ich erstelle grad ein kleines Tool, dass Daten aus einer Datenbank filtert und diese als Graph (TeeChart) anzeigt. Dabei ist es möglich, sich unterschiedliche Zeiträume anzeigen zu lassen. Dazu habe ich einen TMonthCalendar eingebunden, aus dem ich das vom User gewählte Datum ablese.

-> ich kann einen Tag anzeigen lassen

Des Weiteren kann der User einen beliebigen Tag auswählen und dann in einer Textbox einen Integer-Wert eintragen, wie viele Tage er sich ab dem gewählten Datum anzeigen lassen will

-> ich kann einen vom User bestimmten Zeitraum anzeigen

Jetzt zu meinem Problem:
Ich möchte einen kompletten Monat anzeigen können. Dazu soll der User einen beliebigen Tag im gewünschten Monat auswählen. Ich lese dann das Datum ein >>TMonthCalender.Date<<, und kann via >>DecodeDate<< an den besagten Monat gelangen. Aber leider habe ich keine Ahnung, wie ich herausbekomme, wie viele Tage der Monat genau hat (Stichwort: Schaltjahr). Hat jemand eine Idee, wie ich an die Anzahl Tage eines Monats komme, ohne selbst einen Algorithmus für die Berechnung des Schaltjahres zu implementieren?

Danke und Gruß!


Moderiert von user profile iconNarses: Topic aus Windows API verschoben am Mi 16.03.2011 um 15:16


guinnes - Mi 16.03.11 12:32

Ich hab da eine Function in Erinnerung, die heisst LeapYear oder IsLeapYear in der Unit SysUtils


Nersgatt - Mi 16.03.11 12:33

Schau Dir mal DateUtils.DaysInAMonth an.


spacemanspiff - Mi 16.03.11 12:40

Danke euch beiden, die Funktionen in DateUtils stellen alles nötige zur Verfügung. Bin in der Hilfe-Datei nicht darauf gestossen.