ここでは「case」を使った条件分岐について述べていきます。
「case」を使った構文では整数型変数の数値によって処理の仕方を細かくわけることができます。その書式は下記の通りです。
この書式で,具体的に記述すると下記のようになります。
これは,「i」が1なら文字変数にに「月曜日」を代入し,2なら「火曜日」を代入する…。そして1から7以外の数字なら文字変数に空の文字列を代入するというものです。
これを使って,ボタンをクリックするとフォームの色が緑→黄色→赤に変わるソースコードを書いてみます。(これは if のページでも作りました)
「 case 」を使ったコードを書くときには,整数型の変数を用意しないと行けないのですが,ここで問題が発生します。今までの変数の宣言は[OnClick]などのイベントの中で行ってきました。この場合,イベントが終了すると,変数に代入した数値は廃棄されてしまいます。そのため新たに[OnClick]イベントを発生させたときは変数の値は0になっています。これを解決するために,イベントが終了しても値を保持できる変数を作らなければいけないのですが,今回は変数を使わない方法でやってみます。
いろいろなコンポーネントのプロパティの中に,[tag]という項目があります。この項目は数字を自由に書き込んでよいことになっています。したがって,この項目を整数型の変数の代わりとして使うことができます。ここに書かれた数字はイベントが終了しても保持されたままなので今回はこれを使ってソースコードを書いてみます。
まずフォームにボタンコンポーネントを貼り付け,[OnClick]イベントを呼び出してください。[tag]は,[Form1]と[Button1]のどちらを使ってもよいのですが今回は[Form1]の[tag]を使ってみます。
[OnClick]のイベントに下のように記述します。
form1.tagの初期値は0なので,0を緑色にしました。また使う数字は0,1,2の3種類だけなので,「 else 」は使いませんでした。