Как использовать флажок в Delphi? - PullRequest
3 голосов
/ 19 марта 2009

Прямо сейчас у меня есть код:

begin
If odd(GetAsyncKeyState(VK_snapshot)) then
If CheckBox1.Checked then
begin

И затем он продолжается с остальной частью кода. Это правильный способ сделать это, или я делаю это неправильно?

Ответы [ 3 ]

11 голосов
/ 19 марта 2009

То, что вы предлагаете, является совершенно законным способом определить, установлен ли флажок. Код, который делает это, может выглядеть как

if checkBox.Checked then begin
    //do whatever needed for checked checkbox
end

или как это

if checkBox.Checked then begin
    //do whatever needed for checked checkbox
end else begin
    //do whatever needed for unchecked checkbox
end

Просто помните, что значение, которое вы получили из свойства Checked, соответствует состоянию флажка в тот момент, когда вы получили значение.

0 голосов
/ 30 ноября 2009
if DT.FieldByName('name_of_checkbox').AsBoolean=True then begin ..... end;
// In this case dt is TADOquery that you had used in your program.
0 голосов
/ 19 марта 2009

, так как вы используете 2 оператора if, вы также можете объединить их в одно:

if odd(GetAsyncKeyState(VK_snapshot)) and CheckBox1.Checked then
begin
  ...
  ...
end;

Вторая часть оператора if (checkbox1.Checked) будет оцениваться только в том случае, если первая из них имеет значение True. (Поскольку Delphi использует Оценка короткого замыкания )

...