2011-10-02 35 views
9

Tôi có một hàm đang được chuyển một giá trị số nguyên, đại diện cho một giá trị bước. Có 5 điều kiện riêng biệt Tôi muốn thử nghiệm cho: Value = 0 Value = 1 Value = -1 Value> 1 Value < -1Tuyên bố trường hợp Delphi cho các dãy số nguyên

Hiện nay điều này được thực hiện như một tập hợp các câu lệnh if, và Tôi muốn thay đổi điều này cho một tuyên bố trường hợp. Tôi không có vấn đề với các trường hợp giá trị cụ thể, hoặc thậm chí một phạm vi giới hạn (nói 1..10) nhưng làm thế nào để tôi viết một trường hợp đại diện cho Value> 1, hoặc Value < -1?

Trả lời

19
var 
    MyValue: integer; 

... 

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

Ah, hoàn hảo! Tôi biết phải có một số cách để làm điều đó, nhưng nó không phải là rất rõ ràng. Cảm ơn. – HMcG

+0

Tuyệt vời không phải là trường hợp mới hỗ trợ khoảng lớn hơn 255 tôi nhầm lẫn chúng với bộ – opc0de

+2

+1 có thể phải refactor này để 'thấp (NativeInt)' và 'cao (NativeInt)' trong XE2 ;-) –

Các vấn đề liên quan