Das interne Datum speichern
Nach oben zu Gitter anpassen - Index
Zum Speichern des Datums benötigen Sie ein als private deklariertes Feld, das den Datumswert enthält, und eine Laufzeiteigenschaft, die den Zugriff auf diesen Wert ermöglicht.
Um dem Kalender das interne Datum hinzuzufügen, sind drei Schritte erforderlich.
- Deklarieren Sie ein Feld als private, das das Datum aufnimmt:
type TSampleCalendar = class(TCustomGrid) private FDate: TDateTime; . . . class PACKAGE TSampleCalendar : public TCustomGrid { public: __property TDateTime CalendarDate = {read=FDate, write=SetCalendarDate, nodefault}; . . . }; class PACKAGE TSampleCalendar : public TCustomGrid { private: TDateTime FDate; . . . };
Initialisieren Sie dieses Feld im Konstruktor:
constructor TSampleCalendar.Create(AOwner: TComponent); begin inherited Create(AOwner); { existiert bereits } . { hier folgen weitere Initialisierungen } . . FDate := Date { Aktuelles Datum mit RTL-Funktion ermitteln } end;
__fastcall TSampleCalendar::TSampleCalendar(TComponent *Owner) : TCustomGrid(Owner) { . . . FDate = FDate.CurrentDate(); }
Deklarieren Sie eine Laufzeiteigenschaft, die den Zugriff auf das codierte Datum ermöglicht.Das Datum wird von einer Methode gesetzt, da ja auch die Anzeige auf dem Bildschirm aktualisiert werden muss:
type TSampleCalendar = class(TCustomGrid) private procedure SetCalendarDate(Value: TDateTime); public property CalendarDate: TDateTime read FDate write SetCalendarDate; . . . procedure TSampleCalendar.SetCalendarDate(Value: TDateTime); begin FDate := Value; { Neuen Datumswert festlegen } Refresh; { Anzeige auf dem Bildschirm aktualisieren } end;
class PACKAGE TSampleCalendar : public TCustomGrid { private: void __fastcall SetCalendarDate(TDateTime Value); . . . }; void __fastcall TSampleCalendar::SetCalendarDate(TDateTime Value) { FDate = Value; // Neuen Datumswert setzen Refresh(); // Bildschirmdarstellung aktualisieren }