Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
17. Dez 2013
Genau deswegen macht man auch nicht if B = True then, denn hier wird nicht nach booleschen, sondern nach ordinalen Regeln verglichen. :stupid:
Und ja, man kann daher wirklich dem Typ Boolean mehrere Werte zuweisen.
var
B: Boolean;
B := Boolean(2);
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
16. Dez 2013
Jupp, also False = 0 und True <> 0.
Wobei die "Konstanten" da etwas anders sind, denn diese können nunmal nur einen Wert enthalten.
In Delphi ist die Konstante True als 1 ($01 = Byte) deklariert, während es in den C-Sprachen meistens als -1 ($FFFFFFFF) deklariert ist.
In C vermutlich, damit es mit dem AND sicher klappt, wenn man den "Boolean" als Integer interpretiert.
Wieso...