Einzelnen Beitrag anzeigen

ScharfeMietze

Registriert seit: 5. Mär 2014
165 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#1

Rtti und Boolean WhoisWho

  Alt 9. Okt 2018, 15:57
Ich hole mir mit TRtti
die property Typen mmo5.Lines.Add(LProperty.PropertyType.ToString); dort bekomme ich ordnungsgemäß die Antwort "string" "Boolean" usw.

danach gebe ich das ganze an einen Writer der mir Json beschreibt LWriter.WriteValue(VarToStr( GetPropValue(FBotOptions[I],LProperty.Name)) );
Das läuft auch alles, aber ich würde gerne nicht alles als string verwusten.

Mein Problem ist das ich nicht den richtigen .TypeKind für für Boolean unterschieden bekomme von anderen (zahlen)
Delphi-Quellcode:
var
  LType: TRttiType;
  LProperty: TRttiProperty;

begin
LType := LContext.GetType(TBotOptions);
    for I := 0 to FBotOptions.Count-1 do
      begin

        for LProperty in LType.GetProperties do
          begin
           


            mmo5.Lines.Add(LProperty.PropertyType.ToString); // hier wird der richtige Type ausgegeben (z.B Boolean)
            If LProperty.PropertyType = // Hier ist nun mein Problem das ich nicht weiß wie ich hier Boolean von anderen unterscheide
            LWriter.WriteValue(VarToStr( GetPropValue(FBotOptions[I],LProperty.Name)) );
          end;

      end;
end
Ich das lässt sich doch bestimmt besser lösen als mit
if LProperty.PropertyType.ToString = 'Booleanthen
Das ist wieder so eine "kleinigkeit" die ich nicht rausbekomme.
Habt ihr Tips? für mich?
Gruß

Geändert von ScharfeMietze ( 9. Okt 2018 um 23:27 Uhr)
  Mit Zitat antworten Zitat