Clube VB - Funções VB6

Aula 13

Neste módulo iremos gerar nossa segunda aplicação VB, sendo que o objetivo da mesma é gerar uma calculadora. Nesta calculadora, iremos utilizar as funções e diversos eventos, o que irá facilitar o aprendizado dos tópicos estudados nos módulos anteriores. Para este projeto, siga os passos a seguir:

Inicie uma nova aplicação VB;

No formulário, na parte superior deste, inclua um objeto TEXTBOX, fazendo com que o mesmo ocupe toda a parte superior do form;

Altere a propriedade Caption do formulário para PROJETO CALCULADORA;

Apague o conteúdo da propriedade Text do objeto TextBox;

Vamos agora, com o uso dos objetos CommandButton montar as teclas de nossa calculadora, para isso, posicione 17 objetos CommandButton conforme mostra a figura a seguir:

 O próximo passo é alterar a propriedade Caption dos CommandButton 01 ao 10 para 0,1,2,3,4,5,6,7,8,9,0 respectivamente, formando assim o teclado numérico de nossa calculadora. 

Agora, iremos gerar os botões que irão representar as operações aritméticas de nossa calculadora. Estes botões serão os de número 11 ao 16, contendo respectivamente o seguinte conteúdo: +,-,*,/,=,C. Altere o Caption dos mesmos para os valores apresentados.

Finalmente, configure o Caption do Command17 para "FIM".

Ao final deste procedimento, seu formulário deverá ter o seguinte visual:

O primeiro passo é configurar os botões de comando que representam os números que irão ser utilizados no teclado numérico de nossa calculadora. A lógica é a seguinte: Cada vez que o usuário clicar sobre um dos botões numéricos, este deverá se acrescentado ao TextBox. Ou seja, teríamos a seguinte situação:

Conteúdo do TextBox = Conteúdo do TextBox + valor representado pelo botão.

Observe que, o TextBox é uma String e, deveremos realizar uma concatenação, ou seja, soma do valor já armazenado nesta objeto com o valor representado pelo botão clicado. Assim sendo, para o botão que representa o número "1" teremos o seguinte código:

Private Sub Command1_Click()
    Text1.Text = Text1.Text + "1"
End Sub

Este mesmo procedimento será utilizado para os botões 2, 3, 4, 5, 6, 7, 8, 9 e 0, apenas substituindo o "1" por "2" ... "3" .... e assim sucessivamente. Observe a sequência a seguir:

Código para o botão 2:

Private Sub Command2_Click()
  Text1.Text = Text1.Text + "2"
End Sub

Código para o botão 3:


Private Sub Command3_Click()
Text1.Text = Text1.Text + "3"
End Sub

Código para o botão 4:


Private Sub Command4_Click()
Text1.Text = Text1.Text + "4"
End Sub

Código para o botão 5:


Private Sub Command5_Click()
Text1.Text = Text1.Text + "5"
End Sub

Código para o botão 6:


Private Sub Command6_Click()
Text1.Text = Text1.Text + "6"
End Sub

Código para o botão 7:


Private Sub Command7_Click()
Text1.Text = Text1.Text + "7"
End Sub

Código para o botão 8:


Private Sub Command8_Click()
Text1.Text = Text1.Text + "8"
End Sub

Código para o botão 9:


Private Sub Command9_Click()
Text1.Text = Text1.Text + "9"
End Sub

Código para o botão 0:


Private Sub Command10_Click()
Text1.Text = Text1.Text + "0"
End Sub

Pronto, nossa calculadora já possui a codificação para que, ao clicar sobre os botões que representam os números, estes sejam repassados ao visor de nossa calculadora (TextBox). Lembramos que esta calculadora irá operar apenas com cliques do Mouse.

A seguir, vamos codificar os botões que representam as operações aritméticas. Ao clicar sobre um botão de soma, subtração, etc... temos que saber o seguinte:

1. Deveremos armazenar o conteúdo do TextBox em uma determinada variável;
2. Zerar o conteúdo do TextBox para que este receba o novo valor, que irá operar com o valor anterior;
3. Em seguida, após clicar sobre o botão de igualdade, será realizada a operação entre o valor anterior do TextBox que foi armazenado em uma variável e o novo valor digitado no componente.

Com esta lógica, entre com a seguinte codificação para o botão de soma:

Private Sub Command11_Click()
valor = Val(Text1.Text)
Text1.Text = ""
operacao = "soma"
End Sub

No código acima, primeiro armazenamos na variável VALOR, o conteúdo numérico do objeto Text1.text. Esta transformação de String para número se deu pela função VAL. Em seguida, foi zerado o conteúdo armazenado no objeto TextBox e foi armazenado em uma outra variável a string SOMA, para que no ato da operação matemática a ser realizada seja identificado o tipo de operador.

Aqui temos um problema, usamos duas variáveis porém não declaramos as mesmas, assim sendo, nas declarações gerais do formulário (GENERAL ... DECLARATIONS), deveremos declara-las. Conforme mostra o código a seguir:

Public valor As Single
Public operacao As String

Agora, vamos proceder da mesma forma para a codificação do botão de subtração, substituindo o conteúdo da variável operação para SUBTRACAO, conforme mostra o código a seguir para o bota~em questão:


Private Sub Command12_Click()
valor = Val(Text1.Text)
Text1.Text = ""
operacao = "subtracao"
End Sub 

Agora, vamos codificar o botão que representa a multiplicação:

Private Sub Command14_Click()
valor = Val(Text1.Text)
Text1.Text = ""
operacao = "multiplicacao"
End Sub

Iremos então codificar o botão de divisão:


Private Sub Command13_Click()
valor = Val(Text1.Text)
Text1.Text = ""
operacao = "divisao"
End Sub

 

Agora, nosso próximo passo é codificar o botão de igualdade, que deverá fazer apresentar no TextBox o resultado da operação aritmética realizada entre os dois valores. Para isso, deveremos utilizar o atual valor do TextBox com o tipo de operação a ser realizada bem como com o valor anterior armazenado na variável VALOR. Então, teremos no botão de igualdade o seguinte código:


Private Sub Command15_Click()
Select Case operacao
Case "soma"
valor = Val(Text1.Text) + valor
Case "subtracao"
valor = valor - Val(Text1.Text)
Case "multiplicacao"
valor = valor * Val(Text1.Text)
Case "divisao"
valor = valor / Val(Text1.Text)
End Select
Text1.Text = valor
End Sub

Aqui temos a grande novidade deste código em relação ao que já estudamos, o comando SELECT CASE. Observe que, dependendo do botão que representa a operação aritmética que foi clicado teremos uma operação diferente, porém este tipo de operação está sendo realizada com uma mesma variável que representa o tipo da operação, a variável OPERACAO. Neste caso, temos o conjunto de testes do SELECT CASE, onde para uma mesma variável, testamos diversas circunstâncias. A sintaxe deste comando é:

SELECT CASE variável
    Case condição
        lista de comandos a serem executados caso condição for verdadeira
    Case condição
        lista de comandos a serem executados caso condição for verdadeira
    Case condição
        lista de comandos a serem executados caso condição for verdadeira
    ....
    ....
END SELECT

Em poucas palavras ... é uma maneira de realizar diversos testes com uma mesma variável, o que nos foi fundamental para o desenvolvimento desta calculadora.

Nos falta apenas codificao o botão FIM, que tem apenas o código END e o botão "Ce" que tem a finalidade de apagar o conteúdo do TextBox, sendo assim, neste teremos o código TEXT1.TEXT="".

Agora, basta executar o seu projeto.

 

 

Voltar

Principal | Cursos Gratuitos | Cursos Diversos | Dicas | Promoções | Mapa do Site | QUIZ |
| Classificados | Central Currículo | Fórum | Fale Conosco