我如何将其更改为循环版或短版?

时间:2013-07-08 04:27:38

标签: delphi loops checkbox delphi-7

我有以下代码。如何使用循环或不同的较短版本来简化此操作?

if checkbox1.Checked = true then
    begin
      a := 1;
    end
   else
      begin
      a := 0;
      end;
    if checkbox2.Checked = true then
      begin
      b := 1;
      end
    else
      begin
      b := 0;
      end ;
    if checkbox3.Checked = true then
      begin
      c := 1;
      end
    else
      begin
      c := 0;
      end;

1 个答案:

答案 0 :(得分:1)

a := Ord(Checkbox1.Checked);
b := Ord(Checkbox2.Checked);
c := Ord(Checkbox3.Checked);

如果你想使用循环:

private
  Values: array[0..2] of Integer;
  CheckBoxes: array[0..2] of TCheckBox;

CheckBoxes[0] := CheckBox1;
CheckBoxes[1] := CheckBox2;
CheckBoxes[2] := CheckBox3;

var
  I: Integer;
begin
  for I := 0 to 2 do
    Values := Ord(CheckBoxes[I].Checked);
end;