Aula de Delphi - parte 2 - Calculadora basica em Delphi ou Lazarus.

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

Aula de Delphi - parte 2 - Calculadora basica em Delphi ou Lazarus.

Mensagem por Da Galáxia em Qua 08 Dez 2010, 20:54

Aula de Delphi parte 2
Link da aula anterior:
http://www.gamemakerbrasil.com/tutoriais-diversos-f34/aula-de-delphi-parte-i-t12273.htm

Tambem pode ser feito no LAZARUS.

O que vai ser feito:
Botões: somar, subtrair, multiplicar, dividir, limpar e sair
Caixa: EditCx1, EditCx2 e EditCxTotal
3 variaveis do tipo real .

Começando
1 – entre no delphi (dãaaa)

2 – vai aparecer uma tela (formulário), click nela e no object inspector (à esquerda), click na abinha properties (propriedades), ali estão todas as propriedades ou atributos do nosso form, va em cada botão por vez e mude para:>>
caption >> Calculadora (o caption é o nome do form que o usario vai ver)
name >> FormCalc (o name é o nome do form que vai ser tratado pelo compilador)
height>>400 (altura do form (tela))
width>>300 (largura do form (tela))
color>>click na setinha escolha a preferida.

3 – Na barra de ferramenta na parte de cima do programa, entre na abinha standart, nela se encontram vários botões, ao passar o mouse em um, seu nome aparece)é um botão ok). Click no botão “button” e em seguida clik no FormCalc (o formulário – tela), repita esse procedimento(clicar no botão “button” e em seguida clicar no formulário(FormCalc)) até criar-mos um total de 6 botões. Enfileire-os um de baixo do outro. Selecione um por vez e em todos eles em object inspector (à esquerda) na aba propriedade coloque 30 para height e 60 para width, agora em seus respectivos Captions escreva para cada um na ordem de cima para baixo:
para o 1° no Caption>>Somar
para o 2° no Caption>>Subtrair
para o 3° no Caption>>Multiplicar
para o 4° no Caption>>Dividir
para o 5° no Caption>>Limpar
para o 6° no Caption>>Sair

Ainda no formulário insira, 3 botoes “Edit”(que se encontra na abinha standart (caixinha abI) ), e coloque-os no formulário, (como foi feito com os Buttons”) selecione um de cada vez e no object inspector na aba properties, la em baixo, em text, apague o que esta escrito, façam isso para os 3 Edit. Agora, selecione novamente o 1° Edit, e ainda na aba properties, em Name apague o que esta escrito e substitua por EditCx1, para o segundo Edit EditCx2 e para o terceiro EditCxTotal, enfileire-os um de baixo do outro. Para finalizarmos a parte visual de nossa calculadora, à esquerda de cada Edit (ou onde vc quiser) coloque um Label (barra de ferramenta na parte de cima do programa, abinha standart (A), botão Label) e em seus Caption, escrevam respectivamente, 1° número, 2° número e para o ultimo, Valor total.

Terminamos a parte visual, agora vamos programar.

Na Unit (tela branca em que escrevemos os códigos) vc vai ver que tem:
Unit >> nome do arquivo fonte.
Interface
Uses>>são as bibliotecas padrão do Delphi, à casos que temos que acrescentar.
Type >> o primeiro é o formulário(tela) ele já começa criado, os outros são os nossos botoes, a cada botao que criamos um type foi criado automaticamente (e isso, essa ajuda do Delphi, nos polpa muito tempo de programação)
private
{ Private declarations }
public
{ Public declarations }
end;

var
FormCalc: TFormCalc;

implementation

{$R *.dfm}

end.

Na construção desta calculadora, na unit vamos trabalhar apenas no var(as variáveis declaradas aqui são todas variáveis globais), e quando for o momento, e clicarmos em um botão, em sua procedure.

A variável FormCalc: TFormCalc; foi criada automaticamente, ela significa... FormCalc: nome da variável (nós que colocamos este nome, lembra?), TFormCalc; é o tipo da variável (o (;) ponto e virgula deve ser colocado sempre quando terminamos a informação), agora abaixo de FormCalc: TFormCalc; vamos criar 3 variavei do tipo real (que pode suportar números quebrados, como 1,7 po ex.) Lembrete: No GM usa-se o ponto, no Delphi a virgula.

abaixo de FormCalc nossas 3 variaveis criadas
Valor1, Valor2, ValorTotal: real;

Dê duplo click no botão que chamamos de Somar, automaticamente o Delphi te leva para o procedimento(procedur) deste botão >>> procedure TFormCalc.Button5Click(Sender: TObject); (no nosso caso é isso mesmo que queremos que o resultado seja efetuado pelo clicar do mouse, se desejássemos que o procedimento fosse outro, é só entrar no object inspector do tal botão e na abinha Events escolher o que desejar, clicar em um evento e dar duplo click na caixa ao lado, e criar-se-á um procedimento para o evento, entre lá e veja que no onclick já esta o nosso botão. É que o Delphi deixa default onclick para o “Button”, por isso nos bastou um duplo click no botão para criar o procedimento onclick, sem que para isso tivéssemos que entrar no seu evento), ok, voltando ao que interessa:
Abaixo da procedure entre o begin e o end; coloque:


Valor1:=strtofloat(EditCX1.Text);
nossa variável Valor1 passa a ter o valor do que for digitado no EditCX1 pelo usuário.

Explicando:
Valor1>> uma de nossas variáveis.
:= >> como o sinal de igual (atribuição), quando na pergunta usa-se = (sinal do Delphi de comparação) ex: if Valor1 = 4 then Valor1:=Valor2;
strtofloat>>convertendo uma string para um float(inteiro ou real), é que quando o usuário digita um valor, a principio, o Delphi trata esse valor como uma string, ou seja, letras e números são apenas caracteres sem valor matemático, ao convertemos indicamos ao delphi que o numero digitado é realmente um numero, por isso se o usuário digitar uma letra ao invés de um numero, retorna um erro.
(EditCX1.Text);>>indica ao Delphi que tudo o que foi dito acima é pego do EditCX1 e o .Text é um atributo do objeto Edit (ver aula 1 em:)
http://www.gamemakerbrasil.com/tutoriais-diversos-f34/aula-de-delphi-parte-i-t12273.htm
continuando...

Valor2:=strtofloat(EditCX2.Text);//repare que mudou a variável e o Edit
ValorTotal:= Valor1 + Valor2;//a variável total, tem o valor somado das duas variáveis.
EditCxTotal.Text:=floattostr(ValorTotal);//aqui é o contrario dos outros dois Edit, vai transformar float para string
Explicando:
È que na memória do compilador já vai estar somado as duas Edits, então não precisa entender como um numero matemático, mas sim como caracteres, como se estivesse colando este resultado, sem fazer calculo algum, pois isto já foi feito.

Limpando o código acima:
------------------------------------------------------------------
Valor1:=strtofloat(EditCX1.Text);
Valor2:=strtofloat(EditCX2.Text);
ValorTotal:= Valor1 + Valor2;
EditCxTotal.Text:=floattostr(ValorTotal);

Esses codes acima são do botão Somar. Agora copie esses codes, dê duplo click no botão Subtrair, e entre o begin e o end, cole os códigos copiados. APENAS modifique o SINAL +(mais) PELO SINAL – (menos). Façam o mesmo, para o botão Multiplicar e Dividir, colocando, é claro o sinal *(multiplicar) para o botão multiplicar e o sinal /(dividir) para o botão Dividir.
Agora vá na setinha verde lá em cima e click para rodar o nosso programa calculadora. Ela funciona assim:
Primeiro digite um numero no primeiro Box, depois digite outro numero no segundo Box, e por fim, click no botão da operação que quiser fazer.

Beleza, a calculadora opera, esta pronta, mas ainda vamos usar os outros 2 botoes.
Click no botão limpar e entre o begin e o end; coloque:
EditCx1.Clear;
EditCx2.Clear;
EditCxTotal.Clear;
Isso limpa os nossos Edits, sem que precisamos recorrer ao teclado.

E por fim, ufa, click no botão Sair e entre seu begin e end; coloque:
Close;

Esta pronta nossa calculadora, é claro que para um uso comercial, além de termos que aumentar e muito, seus recursos, teríamos que fazer as exceções(quando um usuário digita algo errado, o programa acusa um erro, isso já é automático do Delphi, poi ele usa uma API do Windows, para não ter esse padrão e quisermos explicar melhor e em português para o usuário, devemos programar as exceções. Mas, isso é outra historia.)

DICAS:
Se por acaso o formulario(tela) a qual chamamos de FormCalc, sumir, va la em cima, em view e escolha forms, aparecera uma telinha a view form, escolha o formCalc e dê ok. Se a unit não aparecer ou sumir, basta teclar F12.

Espero que tenham gostado, comentem. Na próxima aula vamos fazer um jogo (apenas uma nave se movimentando e atirando).


Da Galáxia

Número de Mensagens : 348
Data de inscrição : 14/01/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

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