Delphi特有の型に、集合型というのがあります。
型の取り得る値をor演算みたいにまとめられるというものです。
type
TSetType = set of ( st1, st2, st3, st4 );
:
var
a : TSetType ;
とかすると、aにはst1, st2, st3, st4を必要なだけ格納できるようになります。
a := []; // aは空になる
a := [st1]; // aはst1になる
a := a + [st3]; // aはst1とst3になる
a := a - [st1]; // aはst3になる
よくWindowsAPIなんかで、パラメータをorで渡すようなものがありますが、あんな感じですね。例えば、
CreateWindowExのdwExStyleなんかがそうですね。WS_EX_APPWINDOW or WS_EX_CLIENTEDGE...みたいな感じで、必要なものをorしてやります。