NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosLivrodelphibas › Capítulo 2 : 04
Quer receber novidades e e-books gratuitos?
« Anterior Δ Página principal ¤ Índice Próxima »
Delphi Básico
Autor: Rodrigo Costa e Silvio Ferreira
Lição 14 de 29 - Estruturas de Decisão

Estrutura de Decisão If..Then..Else

A estrutura de decisão If..Then..Else é utilizada para verificar se uma determina condição é falsa ou verdadeira. Por exemplo, para verificar o sexo de uma pessoa, poderíamos utilizar:

If sexo = ‘M’ then
      Showmessage(‘Sexo Masculino’)
Else
      Showmessage(‘Sexo Feminino’);
        
No exemplo acima, estamos verificando se a variável sexo é igual a ‘M’, caso seja verdadeiro então exibe a mensagem: ‘Sexo Masculino’, caso contrário exibe a mensagem: ‘Sexo Feminino’. O comando condicional if pode ser composto de uma ou mais condições de processamento, por exemplo:

If (sexo = ‘M’) and (idade <= 10) then
      Showmessage(‘Menino’);

Neste exemplo, além de verificar se a variável sexo é igual a ‘M’, também estamos verificando se a variável idade é menor ou igual a 10. Observe que colocamos cada condição entre parênteses, isto é necessário caso deseje verificar mais de uma condição. Caso alguma das condições não seja verdadeira, não será exibida a mensagem, isto somente ocorrerá se sexo for igual a ‘M’ e idade for igual ou menor a 10. Neste exemplo não utilizamos o else, pois não queremos fazer nada caso sexo seja diferente de ‘M’ e/ou idade não seja menor ou igual a 10.

Você também pode criar estruturas de condição mais complexas utilizando o IF, por exemplo, para verificar várias possibilidades:

If cor = azul then
      Showmessage(‘Cor azul’)
Else if cor = amarelo then
      Showmessage(‘Cor amarela’)
Else if cor = vermelho
      Showmesage(‘Cor vermelha’)
Else
      Showmessage(‘A Cor não é azul, amarela ou vermelha’);

Caso você deseje programar mais de uma linha de comando (instrução) dentro de um bloco if, você deve fazê-lo entre os delimitadores begin e end. Exemplo:

If sexo = ‘M’ then
 begin
      sexo := ‘Sexo Masculino’;
Showmessage(sexo);
 end
Else
 begin
      sexo := ‘Sexo Feminino’;
Showmessage(sexo);
 End;

Neste exemplo utilizamos os delimitadores begin e end, pois programamos mais de uma linha em cada bloco do if. Observe que não há ponto e vírgula (‘;’) antes da palavra reservada Else.

Estrutura de Decisão Case..of

A instrução case consiste em uma expressão usada para selecionar um valor em uma lista de possíveis valores, ou de faixa de valores. Estes valores são constantes e devem ser únicos e de tipo ordinal. Finalmente pode haver uma instrução else que será executada se nenhum dos rótulos corresponder ao valor do seletor. A instrução case também é útil quando precisamos lidar com intervalos de valores, por exemplo, classificar pessoas por faixa etária:

Case IDADE of
      1..10   : Showmessage(‘Criança’);
      11..16  : Showmessage(‘Adolescente’);
      17..25  : Showmessage(‘Jovem’);
      26..60  : Showmessage(‘Adulto’);
      61..150 : Showmessage(‘Idoso’);
end;

A utilização dos marcadores de início e fim (Begin e End), é considerada opcional, se o case for executar apenas um único comando. O case ainda pode ser encadeado, ou seja, um case dentro do outro. Particularmente, quase nunca utilizamos o comando case, pois conseguimos tratar todas as condições utilizando o comando IF.

Para exercitar a utilização do comando case, vamos criar um pequeno programa que classifica uma pessoa segundo a sua faixa etária. Neste exercício também iremos utilizar o comando IF.

Crie um novo projeto, e insira ao Form um objeto Edit e um objeto Button. Apague o conteúdo da propriedade text do Edit e altere a propriedade Caption do Button para “Classificar”. Insira também um objeto Label e altere a propriedade Caption dele para: “Informe a sua idade:”. Você também pode formatar a fonte destes objetos como quiser utilizando a propriedade Font de cada um deles. Organize-os conforme a figura abaixo:


Programa que classifica faixa etária

No evento OnClick do objeto Button, digite o código abaixo:


Evento OnClick do Button “Classificar”

Vamos entender o código acima:

var idade : integer;

Antes do begin da procedure do evento OnClick do Button, declaramos a variável idade do tipo inteiro. Esta variável será utilizada no comando case.

if trim(edit1.Text) = '' then

Esta linha checa se o usuário digitou alguma coisa no Edit verificando se o mesmo está vazio. Utilizamos a função trim() para retirar os espaços que existirem no Edit.

   begin
      showmessage('Informe sua idade !');
      edit1.SetFocus;
   end

Caso o Edit esteja vazio, então é exibida uma mensagem solicitando que seja informada a idade e em seguida posiciona o cursor no Edit (SetFocus).

  else
   begin
      idade := strtoint(edit1.Text);

      Case idade of
        1..10   : Showmessage('Criança');
        11..16  : Showmessage('Adolescente');
        17..25  : Showmessage('Jovem');
        26..60  : Showmessage('Adulto');
        61..150 : Showmessage('Idoso');
      else
        showmessage('Muito idoso !');
      end;
   end;

Caso o Edit não esteja vazio, então atribuímos o que foi digitado no Edit (o que o usuário digita num Edit fica armazenado na propriedade Text do mesmo) à variável idade.

Observe que utilizamos a função StrtoInt (String to Integer ou Texto para Inteiro) para converter o conteúdo do Edit (que é texto) para Inteiro pois a variável idade é numérica do tipo inteiro. Isto é necessário porque não podemos atribuir valores de propriedades e variáveis de tipos incompatíveis. O Delphi possui várias funções de conversão de valores, abaixo segue alguma delas:

StrtoInt

Converte de String para Integer

InttoStr

Converte de Integer para String

StrtoDate

Converte de String para DateTime

DateToStr

Converte de DateTime para String

StrtoFloat

Converte de String para Float (Decimal)

FloattoStr

Converte de Float (Decimal) para String

Após atribuir o conteúdo do Edit à variável idade, utilizamos o case para verificar em que faixa de valores a idade se encaixa exibindo a mensagem correspondente. Caso a idade não esteja em nenhum dos intervalos do case é exibida a mensagem: “Muito idoso”.

« Anterior Δ Página principal ¤ Índice Próxima »

* Você pode baixar (fazer download) do conteúdo completo deste curso, em formato PDF, com 179 páginas, comprando o seguinte e-book:

DELPHI BÁSICO

LIVROS INDICADOS DE DELPHI:

Gostou deste artigo?

Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI