Académique Documents
Professionnel Documents
Culture Documents
End Sub
' Procedure para os teclas de operadores (+, -, x, /, =).
' Se a tecla pressiona imediatamente foi parte de um
' numero, incrementa a variavel NumOps. Se um operando esta presente,
' "seta" Op1. Se dois operandos estao presentes, "seta" Op1 igual ao
' resultado da operacao em Op1 com a string entrada por ultimo e mostra
' o resultado.
'
Private Sub Operator_Click(Index As Integer)
Operator(4).SetFocus 'Volta o Controle para matriz de Numeros
If UltimaEntrada = "NUMS" Then
NumOps = NumOps + 1
End If
If NumOps = 1 Then
Op1 = Val(Visor.Caption)
ElseIf NumOps = 2 Then
Op2 = Val(Visor.Caption)
Select Case FlagOperacao
Case "+"
Op1 = Op1 + Op2
Case "-"
Op1 = Op1 - Op2
Case "X"
Op1 = Op1 * Op2
Case "/"
If Op2 = 0 Then
MsgBox "Erro, Divisão por zero impossível", 48, "Spasso Calc"
Else
Op1 = Op1 / Op2
End If
Case "="
Op1 = Op2
End Select
Visor.Caption = Format$(Op1)
NumOps = 1
End If
UltimaEntrada = "OPS"
FlagOperacao = Operator(Index).Caption
End Sub
Private Sub Operator_KeyPress(Index As Integer, KeyAscii As Integer)
'*** FAZ LEITURA DE TECLAS PRESSIONADAS ***
If KeyAscii = 61 Then
Operator_Click (4) 'Sinal de Igual
ElseIf KeyAscii = 67 Or KeyAscii = 99 Then
Cancel_Click 'Botao de Limpar
ElseIf KeyAscii = 37 Then
Percent_Click 'Sinal de Porcentagem
ElseIf KeyAscii = 42 Or KeyAscii = 120 Or KeyAscii = 88 Then
Operator_Click (2) 'Sinal de Multiplicação
ElseIf KeyAscii = 43 Then
Operator_Click (1) 'Sinal de Mais
ElseIf KeyAscii = 45 Then
Operator_Click (3) 'Sinal de Igual
ElseIf KeyAscii = 46 Then
Decimal_Click 'Ponto decimal
ElseIf KeyAscii = 47 Then
Operator_Click (0) 'Sinal de Divisao
ElseIf KeyAscii = 48 Then
Number_Click (0)
ElseIf KeyAscii = 49 Then
Number_Click (1)
ElseIf KeyAscii = 50 Then
Number_Click (2)
ElseIf KeyAscii = 51 Then
Number_Click (3)
ElseIf KeyAscii = 52 Then
Number_Click (4)
ElseIf KeyAscii = 53 Then
Number_Click (5)
ElseIf KeyAscii = 54 Then
Number_Click (6)
ElseIf KeyAscii = 55 Then
Number_Click (7)
ElseIf KeyAscii = 56 Then
Number_Click (8)
ElseIf KeyAscii = 57 Then
Number_Click (9)
End If
End Sub
' Procedure para a tecla de percentagem (%).
' Computa and mostra a percentagem do primeiro operando.
'
Private Sub Percent_Click()
Visor.Caption = Format$(Op1 * Val(Visor.Caption) / 100)
End Sub
Public Sub CENTRALIZA_FORM(Formulario As Form)
On Error Resume Next 'Evita erro caso o usuário minimize o Form
With Formulario
.Left = (Screen.Width - .Width) / 2 'Alinha o form no horizontalmente no centr
o
.Top = (Screen.Height - .Height) / 2 'Alinha o form no verticalmente no centro
End With