Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo escribir una calculadora usando VB

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)

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

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