A petición de un colega desarrollé este código sencillo pero efectivo para una calculadora con las operaciones básicas, se trabaja con 2 matrices de controles (para los botones numéricos y para las operaciones)
la primer matriz (de numeros) tiene 10 botones
la segunda son 4, las operaciones básicas.
Luego un botón para la terminación de la cuenta.
un TextBox para los resultados y para visualizar la cuenta en todo su proceso.
Option Explicit
Dim Operacion As String
Dim xlong As Long
Dim Resultado As Long
'----------------------------------------
Private Sub cmdigual_Click()
If Operacion = "+" Then
Resultado = xlong + Val(display.Text)
display.Text = Resultado
End If
If Operacion = "-" Then
Resultado = xlong - Val(display.Text)
display.Text = Resultado
End If
If Operacion = "*" Then
Resultado = xlong * Val(display.Text)
display.Text = Resultado
End If
If Operacion = "/" Then
If CompruebaDiv(Val(display.Text)) = False Then
MsgBox "No se puede dividir entre 0", vbOKOnly + vbCritical, "Atencion:Error"
Exit Sub
End If
Resultado = xlong / Val(display.Text)
display.Text = Resultado
End If
End Sub
Private Sub cmdN_Click(Index As Integer)
display.Text = display.Text & Index
End Sub
Private Sub cmdOperacion_Click(Index As Integer)
Select Case Index
Case Is = 0
Operacion = "*"
xlong = Val(display.Text)
display.Text = ""
Case Is = 1
Operacion = "-"
xlong = Val(display.Text)
display.Text = ""
Case Is = 2
Operacion = "/"
xlong = Val(display.Text)
display.Text = ""
Case Is = 3
Operacion = "+"
xlong = Val(display.Text)
display.Text = ""
End Select
End Sub
Public Function CompruebaDiv(Valor As Integer) As Boolean
If Valor = 0 Then
CompruebaDiv = False
Else
CompruebaDiv = True
End If
End Function
La misma tiene una comprobación para la división que si se divide por 0 bloquea al usuario y no le permite continuar con la ejecución del procedimiento y lo tira del mismo.
La instrucción Val es fundamental para el manejo de los valores correctos y evitar problemas de tipos de dato.
Saludos.
No hay comentarios:
Publicar un comentario