Hola, estoy empezando en esto y necesito ayuda en un ejercicio, consiste en hacer una calculadora con VB, es de HxC. Se supone que la he terminado, pero me salen muchos errores con las variables StrOper y LongValor. Dejo el código y los errores. A ver si alguien me puede ayudar.
Public Class Calculadora
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim StrOper As String
Dim LngValor As Long
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
Private Sub Cmd0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd0.Click
TextBox1.Text() = TextBox1.Text & "0"
End Sub
Private Sub Cmd1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd1.Click
TextBox1.Text() = TextBox1.Text & "1"
End Sub
Private Sub Cmd2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd2.Click
TextBox1.Text = TextBox1.Text & "2"
End Sub
Private Sub Cmd3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd3.Click
TextBox1.Text = TextBox1.Text & "3"
End Sub
Private Sub Cmd4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd4.Click
TextBox1.Text = TextBox1.Text & "4"
End Sub
Private Sub Cmd5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd5.Click
TextBox1.Text = TextBox1.Text & "5"
End Sub
Private Sub Cmd6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd6.Click
TextBox1.Text = TextBox1.Text & "6"
End Sub
Private Sub Cmd7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd7.Click
TextBox1.Text = TextBox1.Text & "7"
End Sub
Private Sub Cmd8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd8.Click
TextBox1.Text = TextBox1.Text & "8"
End Sub
Private Sub Cmd9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd9.Click
TextBox1.Text = TextBox1.Text & "9"
End Sub
Private Sub Cmdmas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmdmas.Click
StrOper = "+"
LngValor = TextBox1.Text
TextBox1.Text = ""
End Sub
Private Sub Cmdmenos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmdmenos.Click
StrOper = "-"
LngValor = TextBox1.Text
TextBox1.Text = ""
End Sub
Private Sub Cmdpor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmdpor.Click
StrOper = "*"
LngValor = TextBox1.Text
TextBox1.Text = ""
End Sub
Private Sub Cmdentre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmdentre.Click
StrOper = "/"
LngValor = TextBox1.Text
TextBox1.Text = ""
End Sub
Private Sub CmdIgual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdIgual.Click
If StrOper = "+" Then
TextBox1 = LngValor + TextBox1.Text
End If
If StrOper = "-" Then
TextBox1 = LngValor - TextBox1.Text
End If
If StrOper = "*" Then
TextBox1 = LngValor * TextBox1.Text
End If
If StrOper = "/" Then
TextBox1 = LngValor / TextBox1.Text
End If
End Sub
End Class
Errores
Variable local sin utilizar: 'StrOper'.
Variable local sin utilizar: 'LangValor'.
No se ha declarado el nombre 'StrOper'.
No se ha declarado el nombre 'LangValor'.
Estos dos ultimos salen mucho, por cada vez que uso esas variables.
El problema esta aki:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Declara las variables fuera ;) es decir:
Dim StrOper As String
Dim LngValor As Long
Private Sub Cmd0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd0.Click
TextBox1.Text() = TextBox1.Text & "0"
End Sub
Private Sub Cmd1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmd1.Click
TextBox1.Text() = TextBox1.Text & "1"
End Sub
.
.
.
Ok, muchas gracias ;)
Ahora me da otro error :P. Estoy por bajarme la version anterior de Visual Studio...
Es en esta parte:
Private Sub cmdigual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdigual.Click
If StrOper = "+" Then
TextBox1 = LngValor + TextBox1
End If
If StrOper = "-" Then
TextBox1 = LngValor - TextBox1
End If
If StrOper = "*" Then
TextBox1 = LngValor * TextBox1
End If
If StrOper = "/" Then
TextBox1 = LngValor / TextBox1
End If
End Sub
Me dice que "El operador '+' no está definido para los tipos 'Long' y 'System.Windows.Forms.TextBox'. " Eso con todos los operadores.
De vez en cuando me suelta, que no puedo usar tipos "Doubles" o algo asi...
CitarEstoy por bajarme la version anterior de Visual Studio...
Pero cual tienes?? es q si estas usando net, la historia cambia...
Mmm... Microsoft Visual Basic 2005 Express Edition con el MDSN o como se diga, que te da la opcion de descargar al instalarlo...
Pues ese no te vale, ya q el q usamos en este subforo y en las revistas de hack x crack es el visual basic 6.0
Bajate el 6.0 o ya q estas bajate un tuto de visual basic .net, q de cara al futuro te será mas util ;)
Oki, voy :)