2011-10-02 35 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)';-) –