bug0046.pp 847 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. program test;
  2. {$ifdef fpk}
  3. {$ifdef go32v2}
  4. uses
  5. dpmiexcp;
  6. {$endif}
  7. {$endif}
  8. type byteset = set of byte;
  9. bl = record i,j : longint;
  10. end;
  11. const set1 : byteset = [1,50,220];
  12. set2 : byteset = [55];
  13. var i : longint;
  14. b : bl;
  15. function bi : longint;
  16. begin
  17. bi:=b.i;
  18. end;
  19. begin
  20. set1:=set1+set2;
  21. writeln('set 1 = [1,50,55,220]');
  22. i:=50;
  23. if i in set1 then writeln(i,' is in set1');
  24. i:=220;
  25. if i in set1 then writeln(i,' is in set1');
  26. i:=$100+220;
  27. if i in set1 then writeln(i,' is in set1');
  28. i:=-35;
  29. if i in set1 then writeln(i,' is in set1');
  30. b.i:=50;
  31. i:=$100+220;
  32. if i in [50,220] then writeln(i,' is in [50,220]');
  33. if Bi in [50,220] then writeln(b.i,' is in [50,220]');
  34. b.i:=220;
  35. if bi in [50,220] then writeln(b.i,' is in [50,220]');
  36. B.i:=-36;
  37. if bi in [50,220] then writeln(B.i,' is in [50,220]');
  38. end.