9. Construa uma espécie de máquina de calcular que permita executar cálculos numéricos envolvendo as quatro operações básicas de cálculo. O acesso à máquina deve ser conseguido através do uso de um botão de comando. No final da sua utilização, o resultado obtido no visor da máquina deve ser copiado para a célula activa. As alíneas que se seguem orientam o desenvolvimento da máquina pretendida.
9.1. No editor do Visual Basic crie um novo formulário de nome FormCalc para representar a máquina de calcular.
9.2. Adicione os controlos que se indicam e estruture-os de modo a que o aspecto do formulário se assemelhe ao da figura abaixo.
- O visor da máquina deve ser representado por uma caixa de texto de nome Visor.
- Os 10 algarismos devem ser representados por botões de comando com o respectivo algarismo e de nomes Botão0 até Botão9.
- Os sinais das operações envolvidas devem ser representados por botões de comando com o respectivo sinal e de nomes BotãoSomar, BotãoSubtrair, BotãoMultiplicar, BotãoDividir e BotãoIgual.
- A acção de limpar o visor deve ser representado por um botão de comando com a letra C e de nome BotãoClear.
- A confirmação ou cancelamento das operações realizadas devem ser representadas por botões de comando com os textos OK e Cancelar e os nomes BotãoOK e BotãoCancelar respectivamente.
![]()
9.3. À semelhança do exercício anterior, crie um botão de comando que apresente o formulário.
9.4. No editor do Visual Basic seleccione o módulo da calculadora e insira o seguinte código:
O código acima declara três variáveis para representar o conteúdo em memória (Option Explicit
Dim memoria As Double
Dim sinal As String * 1
Dim inicio As Booleanmemoria
), o último sinal que foi premido (sinal
), e se já foi ou não inserido algum número (inicio
).9.5. Para iniciar as variáveis atrás declaradas, utilize o evento
Initialize
do formulário. Este evento ocorre sempre que o formulário é iniciado.Private Sub UserForm_Initialize()
memoria = 0
sinal = ""
inicio = True
Visor = 0
End Sub9.6. Defina os eventos
Click
dos botões BotãoClear, BotãoOK e BotãoCancelar como se segue:Private Sub BotãoClear_Click()
memoria = 0
sinal = ""
inicio = True
Visor = 0
End SubPrivate Sub BotãoOK_Click()
ActiveCell = Visor
Unload Me
End SubExecute o formulário da calculadora, prima os botões em causa, verifique o sucedido e tente compreender o código respectivo.Private Sub BotãoCancelar_Click()
Unload Me
End Sub9.7. Defina o evento
Click
dos botões numéricos como uma chamada ao procedimentoNumero_Click
com o algarismo do próprio botão como argumento. O exemplo que se segue apresenta o código para os botões 0 e 1. De modo análogo escreva o código para os restantes botões.Private Sub Botão0_Click()
Numero_Click 0
End SubPara que a acção de premir um botão numérico funcione, é ainda necessário definir o procedimentoPrivate Sub Botão1_Click()
Numero_Click 1
End SubNumero_Click
acima referido. Este procedimento deve actualizar o visor da máquina de calcular à medida que os algarismos vão sendo premidos.Private Sub Numero_Click(num As Integer)
...
End Sub9.8. Defina o evento
Click
dos botões de operação como uma chamada ao procedimentoSinal_Click
com o sinal do próprio botão como argumento. Segue-se um exemplo para o botão de somar.Por fim, defina o procedimentoPrivate Sub BotãoSomar_Click()
Sinal_Click "+"
End SubSinal_Click
. Este procedimento deve guardar o sinal premido e efectuar as operações pendentes (pense no que acontece numa vulgar máquina de calcular!).Private Sub Sinal_Click(s As String)
...
End Sub