2016-12-15 65 views
1

我想寫這段代碼在更華麗的方式德爾福分配條件,對象屬性

if some_condition then 
    checkbox.Checked := true 
else 
    checkbox.Checked := false; 

我想是這樣

checkbox.checked := boolean_value_of_condition_is_met; 
+0

看看這個http://stevepeacocke.blogspot.hr/2007/08/have-iif-function-in-delphi.html – dllhell

+3

看來你知道答案。 – kobik

+1

簡短的形式是'CheckBox.Checked:= some_condition;'。沒有'如果'條款需要。 –

回答

8

事實上,你可以完全按照自己的想象寫的代碼。例如,使用一個布爾表達式是這樣的:

CheckBox.Checked := SomeValue = 42; 
CheckBox.Checked := SomeValue > 0; 
CheckBox.Checked := SomeBoolean; 
CheckBox2.Checked := not CheckBox1.Checked; 

或通過調用返回這樣的布爾函數:

function GetSomeBooleanValue(Value: Integer): Boolean; 
begin 
    Result := ...; 
end; 

... 

CheckBox.Checked := GetSomeBooleanValue(42); 
5

只要寫

checkbox.Checked := some_condition; 

some_condition,顧名思義一個布爾值,所以可以分配給checkbox.checked。