Delphi中如何使用复选框?

发布于 2024-07-15 11:38:49 字数 162 浏览 4 评论 0原文

现在,我有了代码:

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

然后继续处理其余的代码。 这是正确的做法,还是我做错了?

Right now, I have the code:

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

And then it continues on with the rest of the code. Is that the correct way of doing that, or am I doing it wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一世旳自豪 2024-07-22 11:38:49

您建议的是一种完全合法的方式来确定是否选中复选框。 执行此操作的代码可能类似于

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 属性获取的值对应于获取该值时复选框的状态。

What you suggest is a perfectly legal way to determine if a checkbox is checked. The code doing so might look like

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

or like this

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

Just remember that the value you obtained from Checked property corresponds to the checkbox's state at the moment when you obtained the value.

毅然前行 2024-07-22 11:38:49
if DT.FieldByName('name_of_checkbox').AsBoolean=True then begin ..... end;
// In this case dt is TADOquery that you had used in your program.
if DT.FieldByName('name_of_checkbox').AsBoolean=True then begin ..... end;
// In this case dt is TADOquery that you had used in your program.
扛刀软妹 2024-07-22 11:38:49

由于您使用了 2 个 if 语句,因此您也可以将它们合并为一个:

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

仅当第一个部分的计算结果为 True 时,才会计算 if 语句的第二部分 (checkbox1.Checked)。 (因为Delphi使用短路评估

since you are using 2 if-statements, you might also combine them into one:

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

The second part of the if-statement (checkbox1.Checked) will only be evaluated if the first one evaluates to True. (Since Delphi uses Short-circuit evaluation)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文