Cassic

Desvio Condicional com "if... then... else if... then... else..."

Autor: Tadeu Pereira


  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.