Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Rtti und Boolean WhoisWho (https://www.delphipraxis.net/198166-rtti-und-boolean-whoiswho.html)

ScharfeMietze 9. Okt 2018 14:57


Rtti und Boolean WhoisWho
 
Ich hole mir mit TRtti
die property Typen
Delphi-Quellcode:
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
Delphi-Quellcode:
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
Delphi-Quellcode:
if LProperty.PropertyType.ToString = 'Boolean' then

Das ist wieder so eine "kleinigkeit" die ich nicht rausbekomme.
Habt ihr Tips? für mich?
Gruß

DieDolly 9. Okt 2018 15:01

AW: Ritti und Boolean WhoisWho
 
Hier findest du vielleicht Hilfe

https://www.delphipraxis.net/1081461-post5.html

ScharfeMietze 9. Okt 2018 15:23

AW: Ritti und Boolean WhoisWho
 
Nicht nur vielleicht!

Die Lösung
Delphi-Quellcode:
          if LProperty.PropertyType.Handle = TypeInfo(Boolean) then
             begin
             mmo2.Lines.Add('Heureka') ;
             end;
mit Gruß und Dank

DieDolly 9. Okt 2018 16:03

AW: Ritti und Boolean WhoisWho
 
Ja, das vielleicht war übertrieben. Aber ich wollte die Lösung nicht einfach nur reinkopieren :P

ScharfeMietze 9. Okt 2018 17:06

AW: Ritti und Boolean WhoisWho
 
Ich schreibe die Lösung trotzdem gerne rein, weil wie oft klickte ich schon auf kaputte Links
Wie oft hab ich schon gelesen Lösunf findest du hier Link
Antwort
Danke hat geklappt
Dann klickt man erwartungsvoll und nüscht geht ... Gruß :)

Hobbycoder 9. Okt 2018 22:10

AW: Ritti und Boolean WhoisWho
 
Vielleicht änderst du im Thread und im Threadtitel noch Ritti in Rtti, dann wird auch dieser Betrag über die Suche gefunden und hilft anderen Usern.

ScharfeMietze 9. Okt 2018 22:26

AW: Ritti und Boolean WhoisWho
 
:-D:thumb:
Zitat:

Zitat von Hobbycoder (Beitrag 1415362)
Vielleicht änderst du im Thread und im Threadtitel noch Ritti in Rtti, dann wird auch dieser Betrag über die Suche gefunden und hilft anderen Usern.



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 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