Delphi-Quellcode:
function Compare(const Left, Right: T): Integer;
begin
Result := Integer(Left.BooleanValue) - Integer(Right.BooleanValue); // False < True
end;
Hinweis: True ist nicht immer gleich True. Es kann unterschiedlich definiert sein (Boolean, ByteBool, WordBool,... in C, oder etwa bei Datenbanken). Einmal sei True = -1, ein andermal sei True = 1, dann ergeben sich für Cardinal(True), Integer(True) andere Werte, und dehen ggf. die Relation False < True um. Vielleicht hilft es Integer(Boolean(...)) zu schreiben (?).