Das funktioniert, weil:
a1, a2, ..., c8 nur Aliaswerte für 1, 2, ..., 24 sind. Ein Mengentyp ist so gesehen nur eine Zahlenfolge, deren Elemente Namen haben. Genauso könntest du Konstanten benutzen. Allerdings sind Sets und Enumerations viieel komfortabler zu benutzen
Um genauso effektiv zu testen drehts du den Spiess um:
Delphi-Quellcode:
function ContainsElement(M: TMenge; E: Byte): Boolean;
begin
Result := TMengenElement(Ord(a1) + E - 1) in M;
end;
Zu deinem Nachfolgebeitrag weiß ich leider nix..