Navigation de mois en mois et d'année en année

De RAD Studio
Aller à : navigation, rechercher

Remonter à Personnalisation d'une grille - Index

Les propriétés sont particulièrement utiles pour manipuler les composants, en particulier lors de la conception. Mais lorsque des manipulations fréquentes ou instinctives font intervenir plusieurs propriétés, il paraît judicieux de fournir des méthodes pour les gérer. Le passage au "mois suivant" dans notre calendrier est un exemple de ce type. Le bouclage sur les douze mois avec l'incrémentation de l'année est à la fois une caractéristique simple et commode pour le programmeur qui utilise le composant.

Le seul inconvénient à l'encapsulation des manipulations les plus fréquentes sous la forme de méthodes est le suivant : les méthodes ne sont accessibles qu'à l'exécution. Néanmoins, de telles manipulations ne sont fastidieuses que lorsqu'elles sont souvent répétées, ce qui est rarement le cas au moment de la conception.

S'agissant du calendrier, ajoutez les quatre méthodes suivantes pour gérer le passage de mois en mois et d'année en année. Chacune de ces méthodes utilise la fonction IncMonth de façon légèrement différente pour incrémenter ou décrémenter CalendarDate de mois en mois ou d'année en année.

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);
}

N'oubliez pas d'ajouter les déclarations des nouvelles méthodes à la déclaration de la classe.

Désormais, si vous créez une application qui utilise le composant calendrier, vous pourrez facilement implémenter le passage de mois en mois ou d'année en année.


Voir aussi


Exemples de code