今、私はコードを持っています:
begin
If odd(GetAsyncKeyState(VK_snapshot)) then
If CheckBox1.Checked then
begin
そして、コードの残りの部分に進みます。それは正しい方法ですか、それとも間違っていますか?
あなたが提案するのは、チェックボックスがチェックされているかどうかを判断する完全に合法的な方法です。そうするコードは次のようになります
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 プロパティから取得した値は、値を取得した時点でのチェックボックスの状態に対応していることを覚えておいてください。
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つのifステートメントを使用しているため、それらを1つに結合することもできます。
if odd(GetAsyncKeyState(VK_snapshot)) and CheckBox1.Checked then
begin
...
...
end;
ifステートメントの2番目の部分(checkbox1.Checked)は、最初の部分がTrueと評価された場合にのみ評価されます。(Delphiは短絡評価を使用しているため)