现在,我有代码:
begin
If odd(GetAsyncKeyState(VK_snapshot)) then
If CheckBox1.Checked then
begin
然后继续使用剩下的代码。这是正确的做法,还是我做错了?
答案 0 :(得分:11)
您建议的是确定是否选中复选框的完全合法方式。这样做的代码可能看起来像
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属性获得的值对应于您获取值时复选框的状态。
答案 1 :(得分:0)
if DT.FieldByName('name_of_checkbox').AsBoolean=True then begin ..... end;
// In this case dt is TADOquery that you had used in your program.
答案 2 :(得分:-1)
因为您使用了2个if语句,所以您也可以将它们组合成一个:
if odd(GetAsyncKeyState(VK_snapshot)) and CheckBox1.Checked then
begin
...
...
end;
if语句的第二部分(checkbox1.Checked)只有在第一部分评估为True时才会被评估。 (因为Delphi使用Short-circuit evaluation)