Curso de Delphi - Aula 02
By Tiago Assis

Nessa aula aprenderemos um dos processos mais importantes e utilizados no Delphi, trata-se das condições. As condições são recursos que nos permitem criar 2 ou mais situações para um software, situações essas que normalmente são escolhidas pelo usuário. Nessa aula utilizaremos 2 das principais condições mais utilizadas.


CONTEÚDO DA AULA 02
- Condições IF / ELSE
- Condição Case
- Exercícios de fixação


Condições IF / ELSE
São condições que determina uma ação do software de acordo com as escolhas do usuário, como se fosse uma pergunta e o usuário respondesse corretamente ou de forma errada.

IF = Se
ELSE = Caso contrário


Exemplo prático

Nesse exemplo iremos criar um exemplo de usuário autorizado através de uma determinada variável, e caso o nome digitado for igual ao nome gravado na variável vai retornar a mensagem "Usuário autorizado", caso contrário retornará "Usuário inválido".

Crie um novo projeto no seu Delphi e adicione 1 label (paleta standard), 1 Edit (paleta standard), 1 button (paleta standard)

- Na propriedade Text do Edit, delete a palavra Edit1
- Na propriedade Caption do Label digite: Nome do usuário
- Na propriedade Caption do Button digite: Verificar

No evento Onlick do button1 declare os seguintes comandos:

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
Usuario: String;  // Variável usuário onde será armazenado o nome válido
begin
Usuario:='PerfectZone';  // Aqui é gravado o nome válido
  if Edit1.Text=Usuario then begin  // Se o conteúdo do edit1 for igual ao conteúdo da variável usuário então faça:
    ShowMessage('Usuário autorizado!');  // Resposta caso o conteúdo do edit1 for igual ao conteúdo da variável usuário
  end  // Fim da condição IF
  else begin // Caso contrário (caso o conteúdo do edit1 for diferente do conteúdo da variável usuário
    ShowMessage('Usuário inválido!'); // Resposta caso o conteúdo do edit1 for diferente do conteúdo da variável usuário
  end; // Fim da condição IF / ELSE

end;
Note que foi utilizado um operador de igualdade (=) na condição IF acima citada. Abaixo alguns operadores mais utilizados:
= Igual
<> diferente
> Maior que
< Menor que

Nesse caso não se utiliza o +, -, *, /



Condição Case
Trata-se de uma condição que substitui o IF quando se usa números no lugar de strings(textos), para facilitar o desenvolvimento.


Exemplo prático
No mesmo projeto adicione 1 label (paleta standard), 1 Edit (paleta standard) e 1 Button (paleta standard).

- Apague a palavra Edit1 da propriedade Text do Edit adicionado
- Altere a propriedade Caption do Label2 para Idade
- Altere a propriedade Caption do Button2 para verificar Idade

No evento OnClick do Button2 digite os seguintes códigos:

Código:
procedure TForm1.Button2Click(Sender: TObject);
var
Idade: Integer; // Variável inteiro
begin
Idade:=StrToInt(Edit2.Text);  // Conversão do campo edit2 de string para inteiro
case Idade of  // caso idade for
10: ShowMessage('Você tem 10 anos'); // resposta para 10 anos
15: ShowMessage('Você tem 15 anos'); // resposta para 15 anos
20: ShowMessage('Você tem 20 anos'); // resposta para 20 anos
25: ShowMessage('Você tem 25 anos'); // resposta para 25 anos
30: ShowMessage('Você tem 30 anos'); // resposta para 30 anos
35: ShowMessage('Você tem 35 anos'); // resposta para 35 anos
40: ShowMessage('Você tem 40 anos'); // resposta para 40 anos
else   // Caso a idade digitada não bater com as idades acima
ShowMessage('Idade inválida!');   // Resposta caso contrário
end; // Fim da condição case


end;

Exercícios de fixação

1 - Crie uma aplicação onde terá uma pergunta e se a pergunta for respondida corretamente apareça a mensagem "Parabéns! Você acertou." caso contrário apareça a mensagem "Resposta incorreta".

2 - Crie uma aplicação onde serão válidos somente os códigos: 1433 (Porta SQL), 44405 (Porta ConnectServer), 55901 (Porta GameServer), 55919 (Porta Castle Siege), caso contrário imprima a mensagem "Porta inválida".



Espero que esta aula tenha sido esclarecedora para que você possa dominar as condições IF/ELSE e Case. Podem utilizar este tópico para tirarem suas dúvidas ou solicitar ajuda em possível problemas ocorridos com o acompanhamento desta aula.


Abraços a todos