Desvio Condicional com "if... then... else if... then... else..."
A instrução if... then... else if... then... 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:
if condição then {bloco de comandos}
else if condição then {bloco de comandos}
else {bloco de comandos}
begin
{ ... comandos iniciais ... }
if x > 2 then
{ ... bloco verdadeiro da primeira condição ... }
if else x = 2 then
{ ... bloco verdadeiro da segunda condição ... }
else
{ ... bloco falso ... }
{ ... 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 |
begin |
03 |
ShowMessage('Comandos Iniciais'); |
04 |
if ( StrToInt( EdNum.Text ) > 10 ) then |
05 |
begin |
06 |
ShowMessage('O Número é maior que 10'); |
07 |
end |
08 |
else if ( StrToInt( EdNum.Text ) = 10 ) then |
09 |
begin |
10 |
ShowMessage('O Número é igual a 10'); |
11 |
end |
12 |
else |
13 |
begin |
14 |
ShowMessage('O Número é menor que 10'); |
15 |
end; |
16 |
ShowMessage('Comandos Finais'); |
17 |
end; |
Na linha 04 temos a primeira avaliação do número digitado pelo usuário, caso seja verdadeira executa a linha 06 e pula para a linha 16.
No caso da linha 08, ela só será avaliada se a linha 04 for falsa, no caso da linha 08 ser verdadeira será executada a linha 10 e em seguida vai a linha 16.
No caso das duas primeiras avaliações serem falsas, o bloco de comandos do else será executado.