Forum: Programmieren allgemein
by himitsu,
2. Apr 2015
Ja und?
Es liegt einfach daran, daß es einen speziellen Debughelper gibt, welcher den Wert des Boolean-Typen interpretiert und entsprechend anzeigt.
Dabei wird der Boolean "korrekt" ausgewertet und nicht einfach nur angezeigt. Man könnte sich jetzt streiten, ob er hier nicht vielleicht besser ein "True (2)" anzeigen sollte, aber wer will, kann das bei sich gern ändern.
var
B: Boolean;
...
Forum: Programmieren allgemein
by himitsu,
2. Apr 2015
Darum haben in Delphi/Pascal die Zuweisungen und Vergleiche unterschiedliche Operatoren, damit man das nicht verwechseln kann und nicht das Selbe raus kommt, so wie in PHP. :stupid:
If (newCustomer = True) {
newCustomer = False
}
Was macht denn !!?
Forum: Programmieren allgemein
by himitsu,
30. Mär 2015
Ja, in PHP und Co. ist das ein Sonderfall, da dort "alles" als Boolean ausgewertet werden kann, also auch 0 und 1 oder -1 (die Integer).
Genauso, wie man das auch in Delphi machen kann, z.B. mit einen Variant.
Aber etwas umgestellt, kann man das if (x === true) { ... } auch als if (is_bool(x) and x) { ... } darstellen und schon wird haben wir das =True auch weg, aber dort bevorzuge ich auch...
Forum: Programmieren allgemein
by himitsu,
30. Mär 2015
Doch.
ShowMessage(IntToStr(Ord(True)));
Deine Argumentation ist halt falsch, auch wenn sie zur Hälfte betrachtet (nur von außen und nicht von innen) schon richtig aussehen mag. :zwinker:
Es hat niemand gesagt, daß True = 1 ist, so wie du es versuchst zu erklären.
Genauso kann ich keine Char oder Pointer mit einem Integer vergleichen.
Willst du also auch behaupten, daß ein Zeilenumbruch...
Forum: Programmieren allgemein
by himitsu,
30. Mär 2015
Ein Delphi-Boolean ist intern als ein Byte (1 Byte) deklariert, denn die kleinste "adressierbare" Speicherheinheit ist nunmal ein Byte.
Der BOOL in C++ ist intern als ein INT (Integer, 4 Byte) deklariert.
Die Boolean-Variablen haben also nicht zwei Zustände, sondern 256.
Einer davon ist False, da das immer 0 ist.
"Wahr" ist dagegen als ungleich 0, bzw. "nicht Falsch" definiert.
Die...