Cómo escribir una calculadora usando VB
Cree 14 botones. El nombre del botón debe ser Comando1. Establezca el atributo Índice 0~9 corresponde a los números 0~9 respectivamente, 10 es el punto decimal, 11 es el signo igual. 12~14 corresponde a + y - respectivamente, *y/.
2. Ingrese el siguiente código:
Dim Num1, Num2 As Single
Dim StrNum1, StrNum2 As String
Dim FirstNum As Booleano
Atenuar PointFlag como booleano
Atenuar Runsign como entero
Atenuar SignFlag como booleano
Subcomando privado1_Click(Índice como entero)
p>
Seleccione índice de casos
Caso 0 a 9
Si FirstNum entonces
StrNum1 = Str(Index) p>
FirstNum = False
Else
StrNum1 = LTrim(StrNum1) + LTrim(Str(Index))
End If
Text1.Text = Val(StrNum1)
Caso 10
Si no es PointFlag entonces
Si FirstNum entonces
StrNum1 = "0."
p>FirstNum = False
Else
StrNum1 = LTrim(StrNum1) + LTrim(".")
Finalizar si
Else
Salir de Sub
Finalizar si
PointFlag = True
Text1.Text = Val(StrNum1)
Caso 12 a 15
FirstNum = True
PointFlag = False
Si SignFlag Entonces
Llamada Ejecutar
Else
SignFlag = True
StrNum2 = StrNum1
StrNum1 = ""
Finalizar si
Runsign = Index - 11
Caso 11
En caso de error, continuar a continuación
Si no es SignFlag, entonces
Text1.Text = StrNum1
equal = Val(StrNum1)
FirstNum = True
PointFlag = False
Else p>
Ejecutar llamada
SignFlag = False
Finalizar si
Caso en caso contrario
Llamar a ClearData
End Select
End Sub
Private Sub Form_Load()
If App.PrevInstance Then MsgBox "No ejecute este programa varias veces, ¡gracias! ", vbAbortRetryIgnore: Descargarme
Num1 = 0
Num2 = 0
StrNum1 = ""
StrNum2 = ""
FirstNum = True
PointFlag = False
Runsign = 0
SignFlag = False
End Sub
Sub Run()
En caso de error, reanudar siguiente
Atenuar igual como simple
Atenuar igual2 como doble
Num1 = Val(StrNum2)
Num2 = Val(StrNum1)
Seleccione Case Runsign
Caso 1
igual = Num1 + Num2
Si Num1 >= 65536 O Num2 >= 65536 O igual >= 65536 Entonces
igual = 0
igual2 = Num1 + Num2
Fin Si
Caso 2
igual = Num1 - Num2
Si Num1 >= 65536 O Num2 >= 65536 O igual >= 65536 Entonces
equal = 0
equal2 = Num1 - Num2
Fin si
Caso 3
igual = Num1 * Num2
Si Num1 >= 65536 O Num2 >= 65536 O igual >= 65536 Entonces
igual = 0
igual2 = Num1 * Num2
Fin Si
Caso 4
igual = Num1 / Num2
Si Num1 >= 65536 O Num2 >= 65536 O igual >= 65536 Entonces
equal = 0
equal2 = Num1 / Num2
Finalizar si
Fin Seleccionar
Si igual = 0 Entonces a = igual2 Si no a = igual
StrNum2 = Str(a)
StrNum1 = StrNum2
Text1.Text = Val(StrNum2)
End Sub
Sub ClearData()
Num1 = 0
Num2 = 0
StrNum1 = ""
StrNum2 = ""
FirstNum = True
PointFlag = False
Runsign = 0
SignFlag = Falso
Texto1.Texto = 0
End Sub