Ayuda calculadora.

Iniciado por Goldmoon, 26 Diciembre 2007, 13:09 PM

0 Miembros y 1 Visitante están viendo este tema.

Goldmoon

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

.
.
.

Goldmoon


Goldmoon

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...

Goldmoon

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 ;)

Goldmoon