0

我有以下代码。我怎样才能简化这一点,使用循环或不同的较短版本?

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;
4

1 回答 1

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;
于 2013-07-08T16:10:32.343 回答