Montando uma calculadora no Delphi – Parte 2

Publicado em: 12/03/2008  |  Delphi  |  Visualizações: 4.904  |  2 Comentário(s)

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ática@gmail.com.

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...



Links patrocinados
Últimos artigos do editor

windows2.jpg Desabilitando Processos n.
Hoje é muito comum termos us.
html.jpg Curso de HTML - Aula 7
Nessa aula veremos como inse.
internet.jpg Criando um arquivo autoru.
Vamos ver como criar um arqu.
html.jpg Curso de HTML - Aula 6
Nessa aula vamos aprender a .
bd.jpg Adicionando horas, dias, .
A função DATE_ADD() é utiliz.
internet.jpg Atendimento online via MS.
Atendimento online hoje é si.

Compartilhe:
    Adicionar artigo no dihitt    Adicionar artigo no domelhor    Adicionar artigo no linkk    Adicionar artigo no rec6    Adicionar artigo no technorati
Opinião do leitor:
2 Comentário(s)

 Aurimar comentou:

Já deixei de fazer 02 cursos de delphi, poque a escola se prendia a "enchimento de linguiça" igual a esta rotina da calculadora. Quem quer aprender a programar, deve aprender de imediato as quatro rotinas básicas do gerenciamento de dados:inclui, alterar, excluir e imprimir informações de um banco de dados. Tenho certeza que voce pode contribuir com materias mais produtivas. atc. aurimar

Publicado em: 24/05/2008 - 08:09

  Master comentou:

faltou declarar a função val valeu!

Publicado em: 13/04/2008 - 18:17

Destaques
ÍCONES BR ÍCONES BR
A maior coletânea de ícones do Brasil. Faça suas buscas de ícones, e encontre em forma de filtro.
Especial: Notebooks Especial: Notebooks
Este especial sobre notebooks, vamos listar 3 perfis de usuários e qual a configuração ideal para cada um
Assine nosso RSS Assine nosso RSS
Assine nossos RSS e recebe as novidades do site em seu leitor.
Autor
Tags
Artigos Relacionados
Novos Artigos
Notícias Relacionados

© 2005 - 2008 - Oficina da Net - v 3.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.