Sejam bem vindos ao nosso forum, onde havera hacks, utilitários tutoriais e dicas para diversos jogos, fique conosco e desfrute do melhor.

Criando uma Calculadora

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Criando uma Calculadora

Mensagem por bielzinx em Dom Maio 15, 2011 7:27 am

Autor: Jonathan Lamim Antunes |
nesse artigo vamos estudar alguns comandos e componentes do Delphi de forma bem prática, desenvolvendo no decorrer do tutorial a nossa calculadora. Será uma calculadora simples, mas que ajudará bastante a compreender algumas coisas importantes, como por exemplo:

- Uso de variáveis;
- Cálculo com variáveis e outros conceitos;

Chega de conversa e vamos colocar a mão na massa.

Abra o Delphi (eu utilizei a versão 6 Enterprise) e altere as seguintes propriedades no formulário:

BORDERS ICONS: biMaximize: false | biHelp: false
CAPTION: Calculadora Oficina da Net
HEIGHT: 350
NAME: calc_on
POSITION: poDesktopCenter
WIDTH: 250



Após ter alterado essas propriedades, salve o arquivo com o nome de frmcalc_on para o arquivo do formulário (.frm) e calculadora para o arquivo do projeto (.dpr).

Agora que você já preparou a base da sua calculadora, vamos colocar nela o visor e os botões. Para isso, insira no formulário:

1 Edit (para fazer o visor)
16 Buttons (para fazer os botões)

Altere as propriedades dos componentes de acordo com as informações abaixo:

EDIT

HEIGHT: 30
NAME: visor
TEXT: “deixe em branco”
WIDTH: 240

BUTTONS (para todos os componentes buttons inseridos no formulário)

HEIGHT: 50
NAME e CAPTION: os valores dessas propriedades dos buttons serão dados de acordo com a função de cada um deles, siga a tabela abaixo para nomear cada Button.



WIDTH: 50

Dica: quando você possui vários componentes onde eles terão valores iguais em propriedades iguais, não é necessário fazer a alteração dos valores um a um, basta você selecionar todos os componentes (no nosso caso os buttons) e fazer a alteração das propriedades; assim todos eles receberão os valores de uma só vez.

Após concluídas as operações acima, a sua calculadora deverá estar assim:



Canal: Delphi | Autor: Jonathan Lamim Antunes | Publicado em: 12/03/2008 | Views: 21.833
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.

Código:
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 (,).

Código:

Código:
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.

Código:

Código:
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.

Código:

Código:
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.

Código:

Código:
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.

Código:

Código:
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.

Código:

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.

Código:

Código:
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.

Créditos:pierrout25


Última edição por bielzinx em Seg Maio 16, 2011 9:56 pm, editado 1 vez(es)

bielzinx
Membro
Membro

Mensagens : 79
Agradecimentos : 8
Data de inscrição : 14/05/2011
20 / 10020 / 100



Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por -eHou- em Dom Maio 15, 2011 8:36 am

Bem eu aj sabia faser mais vlw por compartilhar...

-eHou-
Silver Member
Silver Member

Mensagens : 319
Agradecimentos : 16
Data de inscrição : 10/01/2011
Idade : 19
Localização : Logo ali no suna suna
0 / 1000 / 100



Ver perfil do usuário http://cheatshot.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por Mt' em Dom Maio 15, 2011 2:25 pm

Se esforce e quem sabe será um futuro geek!
Gostei do tópico!
Bem organizado, com cores, SS!
Tem créditos?
Flws t+

Mt'
Elite Member
Elite Member

Mensagens : 625
Agradecimentos : 17
Data de inscrição : 14/01/2011
0 / 1000 / 100



Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por bielzinx em Dom Maio 15, 2011 6:47 pm

Siim mano, tem crédito, No final do Tópico ! '-'

bielzinx
Membro
Membro

Mensagens : 79
Agradecimentos : 8
Data de inscrição : 14/05/2011
20 / 10020 / 100



Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por รнαdσω™ em Seg Maio 16, 2011 10:13 am

[center]Curti ,
Muito bem explicado ,
[stroke]nomeucasobemsimplesporqueeujaseikkk'[/stroke]
Mais mesmo assim valeu por compartilhar ,
-.-
Será que sera o novo Geek ?

รнαdσω™
Membro
Membro

Mensagens : 53
Agradecimentos : 1
Data de inscrição : 12/04/2011
40 / 10040 / 100



Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por bielzinx em Seg Maio 16, 2011 11:41 am

Prefiro ser mod Gc, Pq eu acho que entendo melhor ;D Espero ter ajudado ! '-'

~Abrç´z

bielzinx
Membro
Membro

Mensagens : 79
Agradecimentos : 8
Data de inscrição : 14/05/2011
20 / 10020 / 100



Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por DeStRoYa em Seg Maio 16, 2011 3:00 pm

Shadow,
ele copiou.
Olha nao estou descriminando.
nós sabemos que vc quer nos ajudar.
tanto que eu gostei do topico
mt mesmo

DeStRoYa
Banido
Banido

Mensagens : 239
Agradecimentos : 7
Data de inscrição : 13/05/2011
Localização : Design Zone
Humor : HADIUKE
80 / 10080 / 100



Ver perfil do usuário http://cheatshot.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por bielzinx em Seg Maio 16, 2011 7:13 pm

Mano, Copiei mesmo, mais me coloca pra fazer uma se eu num sei.., Só não tenho paciência, E Deixa eu copia po ! '-' Quanto mais Conteúdo melhor rs'
E Vai Falar que vc Nunca copio um tópico ? Hein ? Rs'

@Off Se que, Que eu não seja geek, Se Eu num for foi porque eu não me esforcei, pq Capacidade eu tenho (Ýn]

~Abrç´z

bielzinx
Membro
Membro

Mensagens : 79
Agradecimentos : 8
Data de inscrição : 14/05/2011
20 / 10020 / 100



Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por DeStRoYa em Seg Maio 16, 2011 8:35 pm

Obtenha 50 post que eu te indico.
é olha cara, eu nao falei nada.
Só que vc copiou,
mas vc merece geek.
Continue assim.

DeStRoYa
Banido
Banido

Mensagens : 239
Agradecimentos : 7
Data de inscrição : 13/05/2011
Localização : Design Zone
Humor : HADIUKE
80 / 10080 / 100



Ver perfil do usuário http://cheatshot.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por hotyuri em Dom Maio 29, 2011 1:46 am

Bem Funcional mais eu ja fiz um desse vlw por compartilhar vai ajudar muitos.

Hotyuri Para:



ou


hotyuri
Membro
Membro

Mensagens : 11
Agradecimentos : 0
Data de inscrição : 28/05/2011
Idade : 21
Localização : Cheats HoT
Humor : :D :S Kero Ser Disigner
0 / 1000 / 100



Ver perfil do usuário http://www.global-cheats.tk

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por .:JR:. em Sex Mar 30, 2012 10:13 pm

Nas imagens já tem o nome do lugar de onde ele copiou...

.:JR:.
Membro
Membro

Mensagens : 8
Agradecimentos : 0
Data de inscrição : 30/03/2012
0 / 1000 / 100



Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Criando uma Calculadora

Mensagem por Conteúdo patrocinado Hoje à(s) 6:48 pm


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum