1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
{ Old file: tbs0046.pp }
{ problems with sets with values over 128 due to sign extension (already fixed ) but also for SET_IN_BYTE }
program test;
{$R-}
type byteset = set of byte;
bl = record i,j : longint;
end;
const set1 : byteset = [1,50,220];
set2 : byteset = [55];
var i : longint;
b : bl;
function bi : longint;
begin
bi:=b.i;
end;
begin
set1:=set1+set2;
writeln('set 1 = [1,50,55,220]');
i:=50;
if i in set1 then
writeln(i,' is in set1');
i:=220;
if i in set1 then
writeln(i,' is in set1');
i:=$100+220;
if i in set1 then
writeln(i,' is in set1');
i:=-35;
if i in set1 then
writeln(i,' is in set1');
b.i:=50;
i:=$100+220;
if i in [50,220] then
writeln(i,' is in [50,220]');
if Bi in [50,220] then
writeln(b.i,' is in [50,220]');
b.i:=220;
if bi in [50,220] then
writeln(b.i,' is in [50,220]');
B.i:=-36;
if bi in [50,220] then
writeln(B.i,' is in [50,220]');
end.
|