type TIntSet = set of integer;var MyIntSet :TIntSet; begin MyIntSet := [4032,5011,5432,8963,9832]; if 4032 in MyIntSet then ...... end;
判断在集合内,用in就行了 if i in 集合 then
就是因为这样写不行啊,at most 256 elements啊
type TIntSet = set of integer;var MyIntSet :TIntSet; x:integer; begin MyIntSet := [4032,5011,5432,8963,9832]; x:=888; MyIntSet := MyIntSet + [ x ] + [ 123 ];
先定义一个枚举类型 TMyInt=(4032,5011,5432,8963,9832); TMyIntSet=set of TMyInt;
定义为STING型 就可以了,用的时候再StrToInteger
set of string肯定也是不行的
用数组代替集合吧。 implementation{$R *.nfm} var TIntArray : array [1..5] of integer =(4032,5011,5432,8963,9832); function IsInArray(A :integer):boolean; var i :integer; begin Result := false; for i := 1 to 5 do if A=TIntArray[i] then begin Result := True; break; end; end;procedure TForm1.Button1Click(Sender: TObject); var X :integer; begin X := 5012; if IsInArray(X) then showmessage('X is in Array!') else showmessage('X is not in Array!'); end;end.
TIntSet = set of integer;var
MyIntSet :TIntSet;
begin
MyIntSet := [4032,5011,5432,8963,9832];
if 4032 in MyIntSet then
......
end;
if i in 集合 then
type
TIntSet = set of integer;var
MyIntSet :TIntSet;
x:integer;
begin
MyIntSet := [4032,5011,5432,8963,9832];
x:=888;
MyIntSet := MyIntSet + [ x ] + [ 123 ];
TMyInt=(4032,5011,5432,8963,9832);
TMyIntSet=set of TMyInt;
set of string肯定也是不行的
implementation{$R *.nfm}
var
TIntArray : array [1..5] of integer =(4032,5011,5432,8963,9832);
function IsInArray(A :integer):boolean;
var
i :integer;
begin
Result := false;
for i := 1 to 5 do
if A=TIntArray[i] then
begin
Result := True;
break;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
X :integer;
begin
X := 5012;
if IsInArray(X) then
showmessage('X is in Array!')
else
showmessage('X is not in Array!');
end;end.