unit ... interface var K_RepairCode_orders: set of 5..8; 这里定义 然后声明 var orderIn: boolean; 然后判断: if order in K_RepairCode_orders then orderIn:=true else orderIn:=false; 当order是5的时候,order还是false 这是怎么搞的啊?应该怎么判断呢?
你的写法没错,但是少了一句:赋初值。
var
K_RepairCode_orders: set of 5..8; //这只是声明
需要在适当的地方加一句:
K_RepairCode_orders := [5,6,7,8];
当然,你完全可以不用集合变量,而这样写:
procedure TForm1.Button1Click(Sender: TObject);
var
orderIn: boolean;
Order : Byte;
begin
Order := 5; //测试值
OrderIn := Order in [5,6,7,8];//////注意这里
if OrderIn then showmessage('true') else showmessage('false');
end;