Durch Monate und Jahre navigieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Gitter anpassen - Index

Eigenschaften eignen sich besonders zur Entwurfszeit hervorragend für die Manipulation von Komponenten. Für häufig wiederkehrende Aktionen, die untrennbar mit einer Komponente verknüpft sind und zudem mehrere Eigenschaften betreffen, macht es jedoch Sinn, eigene Methoden zu implementieren. Bei einem Kalender ist eine solche Aktion der Wechsel zum nächsten Monat. Eine Funktion, die einen Monats- oder Jahreswechsel durchführt, lässt sich auf einfache Weise in die Komponente integrieren und erleichtert dem Entwickler, der die Komponente einsetzt, die Arbeit.

Einen Nachteil hat die Kapselung gängiger Aktionen in Methoden: Methoden sind nur zur Laufzeit verfügbar. Zur Entwurfszeit kommt es aber ohnehin selten vor, dass sich Manipulationen an Objekten ständig wiederholen.

Fügen Sie nun dem Beispielkalender die folgenden Methoden hinzu, die den Monats- und Jahreswechsel durchführen. Jede dieser Methoden verwendet die Funktion IncMonth auf etwas andere Weise, um CalendarDate in Schritten von einem Jahr oder einem Monat zu inkrementieren oder zu dekrementieren.


procedure TCalendar.NextMonth;
begin
  CalendarDate := IncMonth(CalendarDate, 1);
end;
procedure TCalendar.PrevMonth;
begin
  CalendarDate := IncMonth(CalendarDate, -1);
end;
procedure TCalendar.NextYear;
begin
  CalendarDate := IncMonth(CalendarDate, 12);
end;
procedure TCalendar.PrevYear;
begin
  CalendarDate := DecodeDate(IncMonth(CalendarDate, -12);
end;
void __fastcall TSampleCalendar::NextMonth()
{
  CalendarDate = IncMonth(CalendarDate, 1);
}
void __fastcall TSampleCalendar::PrevMonth()
{
  CalendarDate = IncMonth(CalendarDate, -1);
}
void __fastcall TSampleCalendar::NextYear()
{
  CalendarDate = IncMonth(CalendarDate, 12);
}
void __fastcall TSampleCalendar::PrevYear()
{
  CalendarDate = IncMonth(CalendarDate, -12);
}

Vergessen Sie nicht, die Deklarationen der neuen Methoden in die Klassendeklaration aufzunehmen.

Bei der Verwendung der Kalenderkomponente in einer Anwendung lässt sich nun das Navigieren durch die Monate und Jahre sehr einfach implementieren.

Siehe auch

Codebeispiele