AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Mit RTTI verschachtelte Eigenschaften einer Komponente auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Mit RTTI verschachtelte Eigenschaften einer Komponente auslesen

Ein Thema von weinberger · begonnen am 11. Okt 2016 · letzter Beitrag vom 27. Nov 2018
 
weinberger

Registriert seit: 29. Jul 2009
Ort: Simmling
28 Beiträge
 
Delphi XE3 Professional
 
#1

Mit RTTI verschachtelte Eigenschaften einer Komponente auslesen

  Alt 11. Okt 2016, 14:01
Delphi-Version: XE3
Hallo, ich habe eine Komponente (damals noch mit Delphi 2 erstellt) für Feiertage. Dies enthält 26 Eigenschaften mit gleichem Namen+Nummerierung. Diese enthalten wiederum jeweils drei Eigenschaften. Ich möchte nun in einer Schleife mittels RTTI von sämtlichen Feiertagen, also 01 - 26 immer das Datum auslesen. Ich habe mit RTTI keinerlei erfahrung. Kann mir jemand helfen?

Die Komponente Sieht so aus:

Delphi-Quellcode:
type
TFeiertagStatus = (Day_Off, Work_Day, not_defined);

TTag = class(TPersistent)
  private
  FDatum, FBeschreibung : String;
  FStatus : TFeiertagStatus;
  protected
  public
  published
  Property Datum : String read FDatum write FDatum;
  Property Beschreibung : String read FBeschreibung write FBeschreibung;
  Property Status : TFeiertagStatus read FStatus write FStatus;
end;

TFeiertag = class(TComponent)
  private
    LAdvent : TDateTime;
    FJahr : integer;
    FFeiertag01 : TTag;
    FFeiertag06 : TTag;
    FFeiertag12 : TTag;
    FFeiertag03 : TTag;
    FFeiertag04 : TTag;
    FFeiertag05 : TTag;
    FFeiertag08 : TTag;
    FFeiertag09 : TTag;
    FFeiertag10 : TTag;
    FFeiertag11 : TTag;
    FFeiertag17 : TTag;
    FFeiertag13 : TTag;
    FFeiertag14 : TTag;
    FFeiertag24 : TTag;
    FFeiertag25 : TTag;
    FFeiertag26 : TTag;
    FFeiertag23 : TTag;
    FFeiertag07 : TTag;
    FFeiertag15 : TTag;
    FFeiertag16 : TTag;
    FFeiertag18 : TTag;
    FFeiertag19 : TTag;
    FFeiertag20 : TTag;
    FFeiertag21 : TTag;
    FFeiertag22 : TTag;
    FFeiertag02 : TTag;
    function IsLeapYear(AYear : Integer) : Boolean;
    function GetKarfreitag(AJahr: Integer): String;
    function GetOstersonntag(nYear: Integer): String;
    function GetOstermontag(AJahr: Integer): String;
    function GetChristiHimmelfahrt(AJahr: Integer): String;
    function GetPfingstsonntag(AJahr: Integer): String;
    function GetPfingstmontag(AJahr: Integer): String;
    function GetFronleichnam(AJahr: Integer): String;
    function GetBuss_und_Bettag(AJahr: Integer): String;
    function GetMuttertag(AJahr: Integer): String;
    function GetVolkstrauertag(AJahr: Integer): String;
    function GetTotensonntag(AJahr: Integer): String;
    function GetAdvent1(AJahr: Integer): String;
    function GetAdvent2(AJahr: Integer): String;
    function GetAdvent3(AJahr: Integer): String;
    function GetAdvent4(AJahr: Integer): String;
    function GetJahr: integer;
    procedure SetJahr(Value:integer);
    procedure Ermitteln;
    procedure NeuErmitteln;
  protected
  public
    constructor Create(AOwner:TComponent);override;
    destructor Destroy;override;
  published
    Property Jahr : integer read GetJahr write SetJahr;
    Property Feiertag01 : TTag read FFeiertag01 write FFeiertag01;
    Property Feiertag02 : TTag read FFeiertag02 write FFeiertag02;
    Property Feiertag03 : TTag read FFeiertag03 write FFeiertag03;
    Property Feiertag04 : TTag read FFeiertag04 write FFeiertag04;
    Property Feiertag05 : TTag read FFeiertag05 write FFeiertag05;
    Property Feiertag06 : TTag read FFeiertag06 write FFeiertag06;
    Property Feiertag07 : TTag read FFeiertag07 write FFeiertag07;
    Property Feiertag08 : TTag read FFeiertag08 write FFeiertag08;
    Property Feiertag09 : TTag read FFeiertag09 write FFeiertag09;
    Property Feiertag10 : TTag read FFeiertag10 write FFeiertag10;
    Property Feiertag11 : TTag read FFeiertag11 write FFeiertag11;
    Property Feiertag12 : TTag read FFeiertag12 write FFeiertag12;
    Property Feiertag13 : TTag read FFeiertag13 write FFeiertag13;
    Property Feiertag14 : TTag read FFeiertag14 write FFeiertag14;
    Property Feiertag15 : TTag read FFeiertag15 write FFeiertag15;
    Property Feiertag16 : TTag read FFeiertag16 write FFeiertag16;
    Property Feiertag17 : TTag read FFeiertag17 write FFeiertag17;
    Property Feiertag18 : TTag read FFeiertag18 write FFeiertag18;
    Property Feiertag19 : TTag read FFeiertag19 write FFeiertag19;
    Property Feiertag20 : TTag read FFeiertag20 write FFeiertag20;
    Property Feiertag21 : TTag read FFeiertag21 write FFeiertag21;
    Property Feiertag22 : TTag read FFeiertag22 write FFeiertag22;
    Property Feiertag23 : TTag read FFeiertag23 write FFeiertag23;
    Property Feiertag24 : TTag read FFeiertag24 write FFeiertag24;
    Property Feiertag25 : TTag read FFeiertag25 write FFeiertag25;
    Property Feiertag26 : TTag read FFeiertag26 write FFeiertag26;
  end;
Rainer

Geändert von mkinzler (11. Okt 2016 um 14:45 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz