途中でループを抜ける
前項では、無条件にすべての行を表示していましたが、条件によって、ループを途中で抜けることもできます。ここでは、メッセージ表示時に[キャンセル]ボタンを押すことで、ループ処理を終了してみます。
[1][メッセージを表示]アクションのパラメーターを変更する
[Loop]ブロック配下の[メッセージを表示]アクションからパラメーター選択画面を開きます。その[メッセージボックスボタン]欄を[OK - キャンセル]に変更して保存します。これによって、メッセージダイアログに[キャンセル]ボタンを表示するようになります。
[2]条件を配置する
[条件]-[If]アクションを、[Loop]ブロック配下の[メッセージを表示]アクションの下に配置します。
[If]アクションのパラメーター選択画面を開き、[最初のオペランド]を[%ButtonPressed2%]、[演算子]を[と等しくない(<>)]、[2番目のオペランド]を[OK]と設定して、[保存]します。
ButtonPressed2はメッセージダイアログで押されたボタンです。この例では、押されたボタンが[OK]ボタンでない場合、配下の処理を実行します。
[3][ループを抜ける]アクションを配置する
[ループ]-[ループを抜ける]アクションを、手順で配置した[If]-[End]の内側に配置します。
[4]フローを実行する
この状態で再度フローを実行してみましょう。各行をダイアログ表示する点はこれまでと同じですが、[OK]ボタンをクリックした場合はそのまま処理が続行され、[キャンセル]ボタンを押した場合は処理が終了することが確認できます。
[Note][次のループ]アクション
[ループ]-[次のループ]アクションもあります。こちらはループをそのまま終了させるのではなく、現在の周回(ステップ)だけをスキップし、次の周回に移動する(=LoopIndexを+(増分)して、ループ内のフローの先頭から実行する)ことを意味します。
[ループを抜ける]アクションと同じく、[Loop]ブロックの配下の[If]-[End]に配置します。
