Są to: Boolean (8 bitów), ByteBool (8 bitów), WordBool (16 bitów) i LongBool (32 bity). Boolean jest preferowany. Inne zaimplementowano w celu kompatybilności z innymi językami programowania i systemem operacyjnym.
Wartościami logicznymi są predefiniowane stałe True i False.
Prawdziwe są następujące relacje:
Boolean ByteBool, WordBool, LongBool False < True False <> True Ord(False) = 0 Ord(False) = 0 Ord(True) = 1 Ord(True) <> 0 Succ(False) = True Succ(False) = True Pred(True) = False Pred(False) = True
Zawsze za True uznawane są wartości o numerze innym niż zero.
if X <> 0 then ...; { wyrażenie logiczne } var OK: Boolean { zmienna logiczna } ... if X <> 0 then OK := True; if OK then ...;