現在のページ:ホームVIプログラミング研究室>ユーザーのボタン操作を待つ

ユーザーのボタン操作を待つ


2つ以上のボタンがあり、ユーザーがボタンをクリックしたことを判定して処理を分けます。
単純ですが、これをORやANDを組み合わせたり、何重ものCASEでやろうとする人も多いんです。ボタンが追加されたらどうします?


ダイアグラムの解説

  1. ボタンをブール配列にします。
  2. 配列の中でTrueのインデックスをサーチします。一つもTrueがなかったら-1が出ます。
  3. インデックスに応じた処理を行います。

★イベントがない(どのボタンも押されていなかった)場合は必ずウェイトを入れます。そうしないとマシン速度でループが回りCPUタイムを無駄遣いします。200msくらい遅れても人間にはわかりません。


制限または仕様

同時に2つ以上のボタンが押されても最初の一つだけしか検出しません。人間業では無理ですが、これを他のイベント処理に応用する場合は注意が必要です。

★LabVIEW6.1から装備されたイベントストラクチャを使えばもっと効率的なイベント処理ができます。でも場合によってはこちらを使ったほうがいいです。例えば同じボタンのローカル変数を他の場所でも使いたいときです(そのときはボタンの機械的動作をラッチにはできませんので、イベント処理の後にボタンのローカル変数にFalseを書き込むことが必要です)。


ダウンロード

guibutton.vi (32kB, LabVIEW5.0)


現在のページ:ホームVIプログラミング研究室>ユーザーのボタン操作を待つ