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 = 'Boolean' then
Das ist wieder so eine "kleinigkeit" die ich nicht rausbekomme.
Habt ihr Tips? für mich?
Gruß