tw37806.pp 472 B

1234567891011121314151617181920212223242526
  1. program tw37806;
  2. {$mode delphi}
  3. procedure TurnSetElem<TSet, TElem>(var aSet: TSet; aElem: TElem; aOn: Boolean);
  4. begin
  5. if aOn then
  6. Include(aSet, aElem)
  7. else
  8. Exclude(aSet, aElem);
  9. end;
  10. type
  11. TElem = (One, Two, Three, Four, Five);
  12. TSet = set of TElem;
  13. var
  14. s: TSet = [];
  15. begin
  16. TurnSetElem<TSet, TElem>(s, Two, True);
  17. TurnSetElem<TSet, TElem>(s, Five, True);
  18. if not((Two in s) and (Five in s)) then
  19. Halt(1);
  20. //WriteLn('does not work');
  21. end.