は今のところ、私はコードを持っている:Delphiでチェックボックスを使用するには?
begin
If odd(GetAsyncKeyState(VK_snapshot)) then
If CheckBox1.Checked then
begin
をし、それは、コードの残りの部分に続きます。それが正しい方法ですか、それとも間違っているのですか?
は今のところ、私はコードを持っている:Delphiでチェックボックスを使用するには?
begin
If odd(GetAsyncKeyState(VK_snapshot)) then
If CheckBox1.Checked then
begin
をし、それは、コードの残りの部分に続きます。それが正しい方法ですか、それとも間違っているのですか?
あなたが提案するのは、チェックボックスがオンになっているかどうかを判断する完全な合法的な方法です。そうするコードは、ちょうどあなたが値を取得するときに、Checkedプロパティから取得した値は、現時点では、チェックボックスの状態に対応していることを覚えておいてください
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
などのように見えるかもしれません。
2番目の場合は、Print Screenを押した場合、どのようにチェックするのですか?または、可能であれば、その人をその2番目のコードに入れることができますか? – PuppyKevin
それは同じです。あなたは "KeyPressed"または同様のイベントのイベントハンドラを持っています。あなたが実際に押されたキーかどうかをチェックしてください。そうであれば、チェックボックスの状態を読み取り、それに応じて動作するコードを呼び出します。 – sharptooth
さてさて、私はこれがあります (GetAsyncKeyState(VK_snapshot))奇数ならばCheckBox1.Checkedが、その後 を開始した場合 を開始しその後 //コードを開始し、ここで エンド他 はここ //異なるコード 終わりを始めます。 これはうまくいくようです。 – PuppyKevin
あなたは2 if文を使用しているので、あなたも1にそれらを組み合わせることがあります
if odd(GetAsyncKeyState(VK_snapshot)) and CheckBox1.Checked then
begin
...
...
end;
if文(checkbox1.Checked)の第二の部分のみが評価される最初の評価された場合真になる(デルファイはShort-circuit evaluationを使用しているため)
これを編集してください - Delphiは**必ずしも短絡評価を使用しません、その動作は '{$ B}'コンパイラ指令またはそれぞれのコマンドラインスイッチに依存します! – mghie
if DT.FieldByName('name_of_checkbox').AsBoolean=True then begin ..... end;
// In this case dt is TADOquery that you had used in your program.
達成したいことはありますか? – sharptooth
私はどこにいても、ユーザーがチェックボックスをチェックすると、そのプロシージャで続行されますが、チェックボックスがチェックされていなければ、別の手順を続行します。 – PuppyKevin