2011年4月20日水曜日

FlowDecision と FlowSwitch アクティビティ

前述したように FLowchart アクティビティの子としてのみ利用できる特殊なアクティビティとして、FlowDecision と FlowSwitch の二つが用意されています。どちらも条件分岐を行うのですが、FlowDecision アクティビティが「式の結果による二分岐」なのに対して、FlowSwitch アクティビティは「対象に対しての複数分岐」と微妙に設定内容が異なります。ただこれも、プログラミングを行われている方であればイメージしやすく、FlowDecision アクティビティは IF 文、FlowSwitch アクティビティは Switch ( VB であれば Select Case ) 文による多分岐となります。

FlowDecision

FlowDecision アクティビティでは Condition プロパティに判断を行う「式」を設定します。この式は結果が True か False になる必要があります。サンプル例では [ 変数 var1 が “9” かどうか ] という判断を行い、True であれば向かって左側に、False であれば向かって右側に制御が遷移していきます。なお FlowDecision アクティビティから出ている線上に「True」「False」とありますが、ここの表示される文言は TrueLabel、FalseLabel プロパティで設定できます。

FlowSwitch

FlowSwitch アクティビティは対象となる変数等を Expression プロパティに設定します。サンプルでは var2 という変数を設定しています。これは直前のアクティビティで適当に値を入力させた結果を設定しています。

FlowSwitch2

そして FlowSwitch アクティビティから分岐するアクティビティへと線を伸ばして結合させます。その「線」に対して条件を設定する形になります。Case プロパティでは FlowSwitch の Expression プロパティに対しての値を設定し、その条件が満たされた場合に接続先のアクティビティが実行されます。IsDefaultCase プロパティは「他条件が満たされない場合」に遷移する線かどうか、を設定します。これは FlowSwitch アクティビティ1つに対して1本だけ存在できます。Select Case 文で言えば Case Else、Switch 文で言えばそのまま Default になります。

ちなみに Select Case True、として Case A = B などという設定についてですが、今のところはできません。カスタマイズが必要になると思いますが、ワークフローを使うのであれば、そういった微妙な技は使わない方がいいと思います・・・。

0 件のコメント:

コメントを投稿