Solange ich in Delphi arbeite ist True = 1
True war noch niemals 1.
Seit ich mit Delphi und dies ist schon seit Version 1, arbeite war True immer True.
Einfach einmal testen:
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.
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 nicht 10 und/oder 13 ist?
Rate mal, warum ich in meinem Beispiel den
nummerischen ordinalen Wert in einen Boolean gecastet hatte, anstatt Ihn einfach so zu versuchen zuzuweisen.
Boolean ist intern ein Byte, aber wie dieses Byte behandelt und ausgewertet wird, hängt vom Typ ab. (Byte, ShortInt, AnsiChar, Enum, Set usw.)