Cassic

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

Autor: Tadeu Pereira


  A instrução if... then... tem por finalidade tomar uma decisão, quando a condição for verdadeira o bloco de comandos pertencente ao if... then... será executado.

  Sintaxe:
  if condição then {bloco de comandos}

  begin
    { ... comandos iniciais ... }
      if x > 2 then
     { ... boco verdadeiro ... }
    { ... comandos finais ... }
  end;

Crie um novo projeto, insira no formulário um Edit, um Button e configure:

Formulário
Propriedade
Valor
Height
151
Width
190
 
Edit
Propriedade
Valor
Left
30
Name
EdNum
Text
 
Top
24
Button
Propriedade
Valor
Caption
Conferir
Left
53
Name
BtnConferir
Top
64



Figura 1 – Projeto MaiorQueDez

No evento OnClick do componente BtnConferir digite o código em negrito:

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
  ShowMessage('Comandos Finais');
09
end;

  A linha 03 mostra a frase "Comandos Iniciais" em uma caixa de mensagem, que nesse caso está simulando um bloco de comandos existente antes da instrução if... then...

  A linha 04 verifica se o número digitado pelo usuário é maior que 10, caso seja será executado o que existe entre o begin(linha 05) e o end;(linha 07), essas palavras chaves indicam onde um bloco de comando começa e termina respectivamente. Neste caso o bloco de comando só tem a linha 06, essa linha mostra uma caixa de mensagem com o conteúdo "O Número é maior que 10", ou seja, se o usuário digitar um número maior que 10 a linha 06 será executada.

  Semelhante a linha 03, a linha 08 mostra uma caixa de mensagem simulando um bloco de comandos existentes depois da instrução if... then... que será executado independente da linha 06 ser ou não executada.

Observação
  Caso o bloco de comandos possua apenas uma linha, as palavras reservadas begin e end são dispensáveis, nesse caso as linha 05 e 07 poderiam ser suprimidas, ficando o código como abaixo :
procedure TForm1.BtnConferirClick(Sender: TObject);
begin
  ShowMessage('Comandos Iniciais');
  if ( StrToInt( EdNum.Text ) > 10 ) then
   ShowMessage('O Número é maior que 10');
  ShowMessage('Comandos Finais');
end;