Cassic

Desvio Condicional com "case... of... else..."

Autor: Tadeu Pereira


  A instrução case... of... else... é semelhante a anterior, só que nesse caso quando nenhuma das condições forem verdadeiras será executado o bloco de comandos referente ao else.

  Sintaxe:
  case variável of
   condição_1: {bloco de comandos da condição 1}
   condição_2: {bloco de comandos da condição 2}
   ...
   condição_n: {bloco de comandos da condição n}
   else {bloco de comando da condição falsa}
  end;

  begin
   { ... comandos iniciais ... }
   case x of
    1:  { ... bloco da condição 1 ... };
    2:  { ... bloco da condição 2 ... };
    ...
    n:  { ... bloco da condição n ... };
    else { ... bloco da condição falsa ... };
   end;
   { ... comandos finais ... }
  end;

  Utilizando o projeto anterior, altere apenas o código existente no evento OnClick do componente BtnConferir:

01
procedure TForm1.BtnConferirClick(Sender: TObject);
02
var
03
  valor: Integer;
04
begin
05
  valor := SEdValor.Value;
06
  case valor of
07
   1: ShowMessage('O valor é igual a 1');
08
   2: ShowMessage('O valor é igual a 2');
09
   3..9: ShowMessage('O valor está entre 3 e 9');
10
   10: ShowMessage('O valor é igual a 10');
11
   else ShowMessage('O valor está fora do raio de alcance da rotina');
12
  end;
13
  ShowMessage('Comandos Finais');
14
end;

  A única diferença entre esse código e o anterior é a linha 11, essa linha será executada se o valor verificado for menor que 1 ou maior que 10.