2011-10-02 33 views
9

我有一个函数正在传递一个整数值,表示一个步长值。 有5个单独的条件我想测试: 值= 0 值= 1 值= -1 值> 1 值< -1整数范围的Delphi case语句

目前这被实现为一组的if语句,和我想要改变这个案例陈述。我对具体的价值案例,甚至是有限的范围(比如1..10)都没有问题,但是我如何写一个代表价值> 1或价值< -1的案例?

回答

19
var 
    MyValue: integer; 

... 

case MyValue of 
    Low(Integer)..-2: 
    beep; 
    -1: 
    beep; 
    0: 
    beep; 
    +1: 
    beep; 
    2..High(Integer): 
    beep; 
end; 
+0

啊,完美!我知道必须有办法做到这一点,但这不是很明显。谢谢。 – HMcG

+0

伟大的没有新的情况下,支持大于255的间隔我把它们与 – opc0de

+2

的集合混淆+1可能必须在XE2中将此重构为'low(NativeInt)'和'high(NativeInt)';-) –