Cómo editar una calculadora simple con VB (preferiblemente usando una matriz de control) ¡Urgente!
' Copyright (C) 1994 Microsoft Corporation
<'
'
' Usted es libre de usar, modificar, copiar y distribuir
' los archivos de la aplicación de muestra (o cualquier versión modificada de los mismos) de cualquier forma que considere útil. Microsoft no ofrece ninguna garantía y no asume ninguna responsabilidad por los archivos de aplicación de muestra.
'------------------------------------------ ------ ----------------------------------
Opción explícita
Dim Op1, Op2 ' Escriba adelante los operandos.
Dim DecimalFlag As Integer ' ¿Hay un punto decimal?
Atenuar NumOps como operandos enteros.
Dim LastInput ' representa el tipo del último evento clave.
Dim OpFlag ' indica una operación sin terminar.
Dim TempReadout
' Procedimiento de evento de clic del botón C (Cancelar)
' Restablece la visualización e inicializa las variables.
Sub privado Cancel_Click()
Lectura = Formato(0, "0.")
Op1 = 0
Op2 = 0
Form_Load
End Sub
' El procedimiento de evento de clic del botón CE (cancelar entrada).
Sub privado CancelEntry_Click()
Lectura = Formato(0, "0."
DecimalFlag = False
Última entrada = "CE "
End Sub
'Punto decimal del botón (.) haga clic en procedimiento de evento
' Si la última pulsación de tecla es un operador, el valor de lectura se inicializará es "0.";
' De lo contrario, se agregará un punto decimal a la pantalla
Private Sub Decimal_Click()
If LastInput = "NEG" Entonces
Lectura = Formato(0, "-0.")
De lo contrario, si LastInput <> "NUMS" Entonces
Lectura = Formato(0, "0 ." "
Fin si
DecimalFlag = True
LastInput = "NUMS"
Fin Sub
' ventana El proceso de inicialización del cuerpo
' establece todas las variables a sus valores iniciales.
Sub privado Form_Load()
DecimalFlag = False
NumOps = 0
LastInput = "NONE"
OpFlag = " "
Lectura = Formato(0, "0."
'Decimal.Caption = Formato(0, ".")
Fin Sub
'Procedimiento de evento de clic para teclas numéricas (0-9)
'Agregar un nuevo número al número mostrado
Sub privado Number_Click( Index As Integer )
Si LastInput <> "NUMS" Entonces
Lectura = Formato(0, ".")
DecimalFlag = False
Fin si
Si DecimalFlag Entonces
Lectura = Lectura + Número(Índice).Caption
Else
Lectura = Izquierda (Lectura, InStr(Lectura, Formato(0, "."))- 1) + Número(Índice).Caption + Formato(0, ".")
Finalizar si
Si LastInput = "NEG" Entonces Readout = "-" & Readout
LastInput = "NUMS"
End Sub
' Operador (+, -, x , /, =) Evento de clic del programa
' Si la siguiente clave es una clave numérica, aumente NumOps
' Si solo hay un operando, configure Op1.
'Si hay dos operandos, establezca Op1 con
'El resultado de la operación en la cadena de entrada actual y muestre el resultado.
Suboperador privado_Click(Índice como entero)
TempReadout = Lectura
Si LastInput = "NUMS" Entonces
NumOps = NumOps + 1
Finalizar si
Seleccione Caso NumOps
Caso 0
Si Operador(Index).Caption = "-" Y LastInput < > "NEG" Entonces
Readout = "-" & Readout
LastInput = "NEG"
Finalizar si
Caso 1
Op1 = Lectura
Si Operador(Index).Caption = "-" Y LastInput <> " NUMS" Y OpFlag <> "Entonces
Readout = "-"
LastInput = "NEG"
Fin si
Caso 2
Op2 = TempReadout
Seleccionar caso OpFlag
Caso "+"
Op1 = CDbl(Op1) + CDbl(Op2)
Caso "-"