5

今、私はコードを持っています:

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

そして、コードの残りの部分に進みます。それは正しい方法ですか、それとも間違っていますか?

4

3 に答える 3

12

あなたが提案するのは、チェックボックスがチェックされているかどうかを判断する完全に合法的な方法です。そうするコードは次のようになります

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 プロパティから取得した値は、値を取得した時点でのチェックボックスの状態に対応していることを覚えておいてください。

于 2009-03-19T06:14:02.497 に答える
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.
于 2009-11-30T15:54:37.303 に答える
-1

2つのifステートメントを使用しているため、それらを1つに結合することもできます。

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

ifステートメントの2番目の部分(checkbox1.Checked)は、最初の部分がTrueと評価された場合にのみ評価されます。(Delphiは短絡評価を使用しているため)

于 2009-03-19T11:25:20.657 に答える