delphi为对象属性分配条件

nor*_*537 1 delphi conditional-statements

我想以更漂亮的方式编写这段代码

if some_condition then
  checkbox.Checked := true
else
  checkbox.Checked := false;
Run Code Online (Sandbox Code Playgroud)

我想要类似的东西

checkbox.checked := boolean_value_of_condition_is_met;
Run Code Online (Sandbox Code Playgroud)

Dav*_*nan 8

您确实可以完全按照您的想象编写代码.例如,使用这样的布尔表达式:

CheckBox.Checked := SomeValue = 42;
CheckBox.Checked := SomeValue > 0;
CheckBox.Checked := SomeBoolean;
CheckBox2.Checked := not CheckBox1.Checked;
Run Code Online (Sandbox Code Playgroud)

或者通过调用返回如下布尔值的函数:

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

...

CheckBox.Checked := GetSomeBooleanValue(42);
Run Code Online (Sandbox Code Playgroud)


Dsm*_*Dsm 5

写吧

checkbox.Checked := some_condition;
Run Code Online (Sandbox Code Playgroud)

some_condition根据定义是布尔值,因此可以分配给checkbox.checked.