可以将以下if语句转换为case语句吗?
if (Number >= 5) and (Number <= 10) then
lblAnswer.Caption := 'in range'
else
lblAnswer.Caption := 'out of range';
我的回答:
是的,它可以
case (number >= 5) and (Number <= 10) of
lblAnswer.Caption := 'in range';
lblAnswer.Caption := 'out of range';
end;
这是对的吗?
答案 0 :(得分:25)
如果Number有一些整数数据类型,那么:
case number of
5 .. 10: lblAnswer.Caption := 'in range';
else lblAnswer.Caption := 'out of range';
end;
答案 1 :(得分:8)
一个小小的修正:
case (number >= 5) and (Number <= 10) of
true:lblAnswer.Caption := 'in range';
false:lblAnswer.Caption := 'out of range';
end;
答案 2 :(得分:-2)
Function InRange (Lo,Hi,Val : Integer) : Boolean;
Begin
Result := (Val>=Lo)And(Val<=Hi);
End;