Select..Case 条件分岐

Select..Caseステートメントは条件によりいくつかのの処理に分岐させます。 Delphiでは Case 文を使用します。ただしここでしよう出来るのは順序型だけです。文字列型 (String) は順序型ではないので使用できません。

■ case の例
procedure TForm1.Button1Click(Sender: TObject);
type
  //自作の列挙型
  TWeek = (wkSun, wkMon, wkTue, wkWed, wkThu, wkFri, wkSat); 
var
  m     : integer;
  w     : char;
  Week  : TWeek;
begin
  m :=  2;
  //integer
  case  m of
    0     : w :=  'a';
    1..2  : w :=  'b';
    3..5  : w :=  'c';
  else
    w   :=  'x';
  end;

  //char
  case  w of
    'a'   :
      begin
        for m :=  0 to  10  do  begin
          Edit1.Text := Edit1.Text + w;
        end;
      end;
    'b'   : Edit1.Clear;
  else
    begin
        for m :=  0 to  10  do  begin
          Edit1.Text := Edit1.Text + ' ';
        end;
    end;
  end;

  Week  :=  wkSun;
  //Enum
  case  Week  of
    wkSun..wkTue  : Caption :=  'A';
    wkThu..wkFri  : Caption :=  'B';
  else
    Caption :=  'C';
  end;
end;

関連項目
If 条件分岐