Você está na página 1de 2

1 C:\Users\Jorge Carranza\Documents\Visual Studio 2010\Projects\Calculadora\Form1.

vb
1 Public Class Form1
2 Private Enum Entrada
3 NINGUNA
4 DIGITO
5 OPERADOR
6 CE
7 End Enum
8
9 Private ultimaEntrada As Entrada
10 Private comaDecimal As Boolean
11 Private operador As Char
12 Private numOperandos As Byte
13 Private operando1 As Double
14 Private operando2 As Double
15
16 Private Sub btDigito_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btDigito7.
Click, btDigito8.Click, btDigito9.Click, btDigito4.Click, btDigito5.Click, btDigito6.Click, btDigito1.
Click, btDigito2.Click, btDigito3.Click, btDigito0.Click
17 Dim objButton As Button = CType(sender, Button)
18
19 If (ultimaEntrada <> Entrada.DIGITO) Then
20 If (objButton.Text = "0") Then Return
21 etPantalla.Text = ""
22 ultimaEntrada = Entrada.DIGITO
23 comaDecimal = False
24 End If
25
26 etPantalla.Text += objButton.Text
27 End Sub
28
29 Private Sub btComaDec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btComaDec.
Click
30 If (ultimaEntrada <> Entrada.DIGITO) Then
31 etPantalla.Text = "0,"
32 ultimaEntrada = Entrada.DIGITO
33 ElseIf (comaDecimal = False) Then
34 etPantalla.Text = etPantalla.Text + ","
35 End If
36 comaDecimal = True
37 End Sub
38
39 Private Sub btOperacion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btDividir.Click, btMenos.Click, btPor.Click, btMas.Click, btIgual.Click
40 ' Obtener el id del botn que gener el evento
41 Dim objButton As Button = CType(sender, Button)
42 ' Obtener el texto del botn pulsado
43 Dim textoBoton As String = objButton.Text
44
45 If ((numOperandos = 0) And (textoBoton(0) = "-"c)) Then
46 ultimaEntrada = Entrada.DIGITO
47 End If
48
49 If (ultimaEntrada = Entrada.DIGITO) Then
50 numOperandos += 1
51 End If
52
53 If (numOperandos = 1) Then
54 operando1 = Double.Parse(etPantalla.Text)
55 ElseIf (numOperandos = 2) Then
56 operando2 = Double.Parse(etPantalla.Text)
57 Select Case (operador)
58 Case "+"c : operando1 += operando2
59 Case "-"c : operando1 -= operando2
60 Case "x"c : operando1 *= operando2
61 Case "/"c : operando1 /= operando2
62 Case "="c : operando1 = operando2
63 End Select
64 ' Visualizar el resultado
65 etPantalla.Text = operando1.ToString()
2 C:\Users\Jorge Carranza\Documents\Visual Studio 2010\Projects\Calculadora\Form1.vb
66 numOperandos = 1
67 End If
68 operador = textoBoton(0) ' carcter de la posicin 0
69 ultimaEntrada = Entrada.OPERADOR
70 End Sub
71
72 Private Sub btTantoPorCiento_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btTantoPorCiento.Click
73 Dim resultado As Double
74 If (ultimaEntrada = Entrada.DIGITO) Then
75 resultado = operando1 * Double.Parse(etPantalla.Text) / 100
76 ' Visualizar el resultado
77 etPantalla.Text = resultado.ToString
78 ' Simular que se ha hecho clic en "="
79 btIgual.PerformClick()
80 ' Enfocar la tecla %
81 btTantoPorCiento.Focus()
82 End If
83 End Sub
84
85 Private Sub btIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btIniciar.
Click
86 etPantalla.Text = "0,"
87 ultimaEntrada = Entrada.NINGUNA
88 comaDecimal = False
89 operador = Convert.ToChar(0)
90 numOperandos = 0
91 operando1 = 0
92 operando2 = 0
93 End Sub
94
95 Private Sub btBorrarEntrada_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btBorrarEntrada.Click
96 etPantalla.Text = "0,"
97 ultimaEntrada = Entrada.CE
98 comaDecimal = False
99 End Sub
100 End Class
101

Você também pode gostar