Das interne Datum speichern

Aus RAD Studio
Wechseln zu: Navigation, Suche

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.

  1. 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;
    .
    .
    .
};
  1. 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();
    }
    
  2. 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
    }
    

Siehe auch