10. 様々なボックスを使う」カテゴリーアーカイブ

10.2. yesnoboxで動作を選択する

10.2.1. yesnoboxの『これから』感 前回はmessageboxと呼ばれる、単純なOKボタンを押させるだけのGUIを表示させましたが、何かを選択したくなるのが人の常というものです。 そこで、今回はyesnoboxと呼ばれるボタンを表示させてみます。  

10.2.1.1. yesnoboxとは

この画像の通り、yesnoboxはmessageboxと違って、ユーザが押すボタンが2つ存在します。 スクリーンショット 2014-12-05 12.57.15 2つ存在するということは、選択することができるということですので、選択に応じて分岐、つまり条件分岐に使えるボタンということになります。 今回は基礎編ということで、まずは「マクロを始めるか・始めないか」のyes/noを選択する仕組みを作ってみたいと思います。  

10.2.1.2. yesnoboxの構文

yesnoboxはmessageboxと同じ構文で書くことができます。

  ちなみに、上の画像はこういう書き方をしています。

  messageboxとyesnoboxの違いは選択肢に応じて、”result”に0か1が格納されるということです。 これは、filereadlnでもう読み込むものがないときと全く同じ仕様ですので、その時に作ったif文と同じ形を使うことができます。  

10.2.2. yesnoboxを実際に書いてみる

それでは、yesnoboxを実際に書いてみたいと思います。  

10.2.2.1. yesnoboxでマクロの開始を判断させる

今回はマクロを開始するかしないかを判断するため、マクロの冒頭にyesnoboxを配置する必要があります。 yesnoboxのメッセージは特になんでもいいと思いますが、今回は以下のようにしておきたいと思います。

  このコマンドの後ろでresultの判断をさせる必要があります。 コマンドリファレンスには はいを押した時 =>1 いいえを押した時 =>0 がresultに格納されると書いてありますので、if文の書きっぷりとしては、こうなります。

   

102.2.2. マクロへの取り込み

では、yesnoboxをマクロの中に取り込んでいきます。 これで、マクロが開始された時に、以下のボックスが表示されます。 スクリーンショット 2014-12-05 15.26.56 はいを押した時 =>マクロが進行する いいえを押した時 =>マクロが終了する

 ]]>