Abra o arquivo criado na primeira parte do artigo para que possamos dar continuidade ao trabalho (estudo).

Antes de mais nada, declararemos as variáveis necessárias para armazenamento das informações para os cálculos. Veja abaixo o nome das variáveis e os seus tipos.

Valor: real; (armazenar os valores informados)
Operacao: Integer; (armazena o tipo de operação solicitada)
valorinteiro: integer;

Essas variáveis deverão ser declaradas antes de implementation, no início do código fonte da calculadora, já são variáveis globais (variáveis que podem ser usadas em qualquer parte do código).

Após criadas as variáveis, vamos começar a colocar os códigos nos botões da nossa calculadora.

Alguns botões terão praticamente o mesmo código, pra esses botões apresentarei apenas uma vez o código e indicarei as alterações a serem feitas nos demais botões.

Coloque o seguinte código no evento OnClick de cada um dos botões de números.

visor.Text:=visor.Text +'X'; (onde X é o valor do botão, indo de 0 a 9)



Esse código fará com que o visor (que é o componente Edit chamado visor) receba o valor do botão clicado.

Repita esse código pra todos os botões de números, alterando o valor de X.

Colocados os códigos nos botões de número, vamos agora colocar o código no botão da virgula. Esse botão é importante no caso de trabalharmos com números decimais.

O código é simples, basta repetir o código do botão de número e trocar o número pela vírgula (,).

visor.Text := visor.Text + ',';



Terminamos os códigos para os botões de formação dos números, agora vamos criar os códigos para os botões de cálculo (adição, subtração, divisão e multiplicação).

Botão de ADIÇÃO

O código é relativamente simples, veja abaixo o código explicado linha a linha.

if (visor.Text <> '') then {aqui iremos verificar se o valor contido no visor é vazio, ou seja,  sem nenhum valor}
Begin
valor:=strtofloat(visor.text); {a variável valor recebe o valor contido no visor, devidamente transformado em um valor float, através da variável strtofloat}
operacao:=1; {a variável operacao recebe 1, que é o valor para a operação de soma ser recohecida mais adiante}
visor.text:=''; {visor fica em branco}
end;



Botão de SUBTRAÇÃO

O código é relativamente simples, veja abaixo o código explicado linha a linha.

if (visor.Text <> '') then {aqui iremos verificar se o valor contido no visor é vazio, ou seja,  sem nenhum valor}
Begin
valor:=strtofloat(visor.text); {a variável valor recebe o valor contido no visor, devidamente transformado em um valor float, através da variável strtofloat}
operacao:=2; {a variável operacao recebe 1, que é o valor para a operação de soma ser recohecida mais adiante}
visor.text:=''; {visor fica em branco}
end;



Botão de DIVISÃO

O código é relativamente simples, veja abaixo o código explicado linha a linha.

if (visor.Text <> '') then {aqui iremos verificar se o valor contido no visor é vazio, ou seja,  sem nenhum valor}
Begin
valor:=strtofloat(visor.text); {a variável valor recebe o valor contido no visor, devidamente transformado em um valor float, através da variável strtofloat}
operacao:=3; {a variável operacao recebe 1, que é o valor para a operação de soma ser recohecida mais adiante}
visor.text:=''; {visor fica em branco}
end;



Botão de MULTIPLICAÇÃO

O código é relativamente simples, veja abaixo o código explicado linha a linha.

if (visor.Text <> '') then {aqui iremos verificar se o valor contido no visor é vazio, ou seja,  sem nenhum valor}
Begin
valor:=strtofloat(visor.text); {a variável valor recebe o valor contido no visor, devidamente transformado em um valor float, através da variável strtofloat}
operacao:=4; {a variável operacao recebe 1, que é o valor para a operação de soma ser recohecida mais adiante}
visor.text:=''; {visor fica em branco}
end;



Estamos chegando ao final, faltam apenas alguns códigos. Não desista.

Vamos codificar agora o botão de IGUAL, onde exibiremos na tela o resultado. O código desse botão é maior, mas não muito complicado de se entender. Vejamos:

Declare as seguintes variáveis dentro do evento onClick do botão de igual (=):

total : string;
valorreal : real;

Essas variáveis são de uso local, portanto devem ser declaradas dentro do evento onClick do botão.

Declaradas as variáveis, vamos ao código.

   val(visor.text, valorreal,numero); {função que passa os valores para as variáveis}
case operacao of
1: valor:= valor + valorreal; {se operação for 1, então soma os valores}
2: valor:= valor - valorreal; {se operação for 2, então subtrai os valores}
3: if (valorreal = 0) then {se operação for 3, então divide os valores, mas se por acaso um dos valores for igual a zero, então o resultado será zero, caso contrário efetua a divisão}
valor :=0
else
valor:= valor / valorreal;
4: valor:= valor * valorreal; {se operação for 4, então multiplica os valores}
end;
str(valor:2:0, total);{valor:2:0 é para colocar casa decimal}
visor.text:= total;
end;



Pronto, o código da nossa calculadora está 99% concluído. Para terminarmos, coloque mais um botão no formulário e coloque o name dele de btnclear e o caption de Limpar. Esse botão servirá para limparmos o visor e zerarmos as variáveis, podendo começar um novo cálculo sem erros.

Coloque o seguinte código dentro do evento onClick do botão Limpar.

visor.text:=''; {limpa o visor}
valor:=0; {a variável do valor do cálculo recebe zero}



Pronto pessoal, está concluída a nossa calculadora. Espero que tenha sido muito útil pra vocês. Qualquer dúvida enviem um e-mail para lamim.informá[email protected]

Cliquem aqui para baixar o arquivo .rar com o código fonte desse tutorial.

IMPORTANTE

Está no ar o meu blog, o (WWWorld) passem lá e confiram dicas, tutoriais e informações dos mais diversos tipos.

Até a próxima...