![]() |
AW: Boolean.ToString geht nicht?!
Zitat:
|
AW: Boolean.ToString geht nicht?!
Ja, leider ist dieses ToString etwas pervers
und nicht mit
Delphi-Quellcode:
vergleichbar.
BoolToStr
Im Boolean-Helper gibt es auch zwei Versionen, also einmal von der Variable aus und dann nochmal als Class-Funktion. Und das Gewollte bekommst du nur von der normalen Funktion, in Verbindung mit diesem TUseBoolStrs, sonst springt es auf die Class-Function, bei deinem True, wo die Lösung dann
Delphi-Quellcode:
wäre, oder eben
Boolean.ToString(b, TUseBoolStrs.True)
Delphi-Quellcode:
:freak:
b.ToString(TUseBoolStrs.True)
|
AW: Boolean.ToString geht nicht?!
Zitat:
![]() Bis bald... Thomas |
AW: Boolean.ToString geht nicht?!
Jupp, weil es sonst die beiden gleichnamigen Funktionen / Class-Functions nicht unterscheiden kann, wenn sie den "selben" Parameter-Typ besitzen.
Dieser Scoped-Enum ist aber dahingehend pervers, weil man dessen Namen nicht kennt (ständig vergisst) und die Codevervollständigung ihn dir oft nicht sagen will. Statt "diesem Parameter", entweder unterschiedliche Funktionsnamen für Funktion und Klassenfunktion oder für Nummerisch (0 oder -1) und Namentlich (False oder True). Wobei, wer um Himmels Willen nutzt überhaupt die Class-Functions .... weg mit dem Schrott. (Unterschied siehe #12) Warum gegen eigentlich BoolToStr und ToString -1 aus, obwohl das True vom Delphi-"Boolean" eigentlich als +1 deklariert ist? (nur kleinstes Bit gesetzt) Ja, das TRUE vom C++ im BOOL/LongBool, sowie ByteBool und WordBool, ist als -1 deklariert (alle Bits gesetzt) Aber OK, von der Auswertung her ist es egal, da False = 0 und True = nicht 0. (PS: drum ist
Delphi-Quellcode:
immer eine schlechte Idee)
if B = True then
|
AW: Boolean.ToString geht nicht?!
Delphi-Quellcode:
Oder
var b:Boolean = true;
Showmessage(ord(b).tostring);
Delphi-Quellcode:
Für so typumwandlungen von kleinen ordinalen Typen wie Boolean oder Enums sollten Konnstanten Array und Ord() doch gut sein .
//Evtl reihenfolge umtauschen...habe hier keine IDE zur Hand um das zu prüfen.
Const B2I:Array [Boolean] of Integer = (0,1); B2S:Array [Boolean] of String = ('False, True'); I2B:array [0..1] of Boolean (false, True); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz