Desvio Condicional com "case... of... else..."
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.