none
consulta amigos del foro porque me da problema cuando despues de borrar todo al volver a sumar si hay un cero en un TextBox presenta problemas

    Question

  • bueno amigos mi programa consiste en que hay 4 TextBox  y cada TextBox tiene su CheckBox

    los cuatro TextBox seran para ingresar Pesos ya sea en gramos como en kilos  por el momento no estoy en esa etapa

    pero el problema es cuando despues borro todo el contenido de todos los TextBox y deschekeo los checkBox  y cuando vuelvo a hacer la suma me presenta problemas cuando hay un TextBox con cero hace mal la suma

    mi problema es amigos porque cuando inicio el programa  no presenta problemas cuando realizo la suma aun cuando hay cero en un TextBox (aparese el problema despues de apretar el boton para borrar  el contenido de todos los TextBox y deschekear los CheckBox )

    y no se como solucionarlo  miren les dejo el codigo fuente

    Public Class Form1
        Dim Porcient As Double = 100
        Dim Resultado As Double = 0



        Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox5_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox5.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox7_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox7.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox8_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox8.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox9_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox9.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox10_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox10.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox11_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox11.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox12_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox12.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox13_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox13.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox14_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox14.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox15_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox15.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub TextBox16_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox16.KeyPress
            If InStr(1, "0123456789," & Chr(8), e.KeyChar) = 0 Then
                e.KeyChar = ""
            End If
        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim val1 As Double
            Double.TryParse(TextBox1.Text, val1)

            Dim val2 As Double
            Double.TryParse(TextBox2.Text, val2)

            Dim val3 As Double
            Double.TryParse(TextBox3.Text, val3)

            Dim val4 As Double
            Double.TryParse(TextBox4.Text, val4)

            If CheckBox1.Checked Then Resultado += val1
            If CheckBox2.Checked Then Resultado += val2
            If CheckBox3.Checked Then Resultado += val3
            If CheckBox4.Checked Then Resultado += val4

            TextBox17.Text = Resultado

        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            CheckBox1.Checked = False
            CheckBox2.Checked = False
            CheckBox3.Checked = False
            CheckBox4.Checked = False

            TextBox1.Clear()
            TextBox2.Clear()
            TextBox3.Clear()
            TextBox4.Clear()
            TextBox5.Clear()
            TextBox6.Clear()
            TextBox7.Clear()
            TextBox8.Clear()
            TextBox9.Clear()
            TextBox10.Clear()
            TextBox11.Clear()
            TextBox12.Clear()
            TextBox13.Clear()
            TextBox14.Clear()
            TextBox15.Clear()
            TextBox16.Clear()
            TextBox17.Clear()


        End Sub
    End Class
    Monday, December 27, 2010 10:49 PM

Answers

  • Hola:

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim val1 As Double
            Double.TryParse(TextBox1.Text, val1)

            Dim val2 As Double
            Double.TryParse(TextBox2.Text, val2)

            Dim val3 As Double
            Double.TryParse(TextBox3.Text, val3)

            Dim val4 As Double
            Double.TryParse(TextBox4.Text, val4)

            RESULTADO = 0


            If CheckBox1.Checked Then Resultado += val1
            If CheckBox2.Checked Then Resultado += val2
            If CheckBox3.Checked Then Resultado += val3
            If CheckBox4.Checked Then Resultado += val4

            TextBox17.Text = Resultado

        End Sub

    • Proposed as answer by Focus Media Thursday, December 30, 2010 5:05 PM
    • Marked as answer by fox29 Sunday, January 02, 2011 4:14 PM
    Thursday, December 30, 2010 8:20 AM

All replies

  • bueno amigos del foro les cuento los checkBox son para elegir si usare 3 o mas textBox para ingresar el peso que quedo retenido en la malla o tamis el tamis es como un colador  algo asi para que me entiendan

    lo que pasa que mi programa es para analisis granulometrico  y  cuando no queda nada retenido en el tamis  queda en cero

    y hay es cuando me da problemas al sumar todos los pesos  retenidos

    espero que se entienda amigos del foro

    Monday, December 27, 2010 11:00 PM
  • buenas tardes amigos 

    bueno aqui en este codigo es el problema que no puedo solucionar

    bueno lo que pasa que cuando no queda nada retenido en   peso  ya sea en gramos o en kilos   en un tamis (un TextBOx)

    queda en cero y hay es cuando me sale mala la suma  el  total de los demas (suma de los demas TextBox)

    bueno por ese es mi problema principal que cuando hay un textBox con cero (nada de peso ) al sumar los demas

    no queda bien la suma total


        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim val1 As Double
            Double.TryParse(TextBox1.Text, val1)

            Dim val2 As Double
            Double.TryParse(TextBox2.Text, val2)

            Dim val3 As Double
            Double.TryParse(TextBox3.Text, val3)

            Dim val4 As Double
            Double.TryParse(TextBox4.Text, val4)

            If CheckBox1.Checked Then Resultado += val1
            If CheckBox2.Checked Then Resultado += val2
            If CheckBox3.Checked Then Resultado += val3
            If CheckBox4.Checked Then Resultado += val4

            TextBox17.Text = Resultado
    Monday, December 27, 2010 11:06 PM
  • buenas noches amigos descubri que al ejecutar por primera vez funciona todo bien ejemplo

    para probar el codigo estoy trabajando con 4 TextBox  ingreso los datos en los cuatro TextBox  y dejo un TextBox en cero para probar

    y apreto el boton calcular la suma funciona bien pero el problema surge cuando apreto el boton Borrar borra todo en los TextBox y deschekea los CheckBox  y vuelvo a relizar la suma nuevamente y dejo un TextBox cualquiera de los cuatro con un numero  cero y hay pasa el problema que me suma mal los TextBox

    porque pasa eso amigos  bueno espero que alguien me ayude aqui en el foroya que no puedo avanzar por mi programa

    bueno ahora me voy en la noche regreso al foro

    buenas noches a todos

    Tuesday, December 28, 2010 1:04 AM
  • Hola:

    No incializas la variable resultado al 'empezar' a sumar:

    Resultado = 0   ' Inicializar la suma.

            If CheckBox1.Checked Then Resultado += val1
            If CheckBox2.Checked Then Resultado += val2
            If CheckBox3.Checked Then Resultado += val3
            If CheckBox4.Checked Then Resultado += val4

            TextBox17.Text = Resultado

    Saludos

    • Proposed as answer by Focus Media Thursday, December 30, 2010 5:05 PM
    Tuesday, December 28, 2010 8:28 AM
  • HOLA FOX TE RECOMENDARIA QUE AL MOMENTO DE HACER LA SUMA DE LOS TEXTBOX UTILIZARAS ESTO POR EJEMPLO:

     

    txttotal.text = val(txt1.text) + val(txt2.text) y asi sucesivamente

     

    y para borrar los textbox usa simplemente txt1.text = ""

     

    y listo

     

    espero te halla servido.

    Tuesday, December 28, 2010 5:50 PM
  • buenas tardes  Focus  muchas gracias por tu ayuda pero sabes descubri que tengo problemas despues de borrar todo

    hay recien me empieza a fallar cuando sale un cero en un TextBox

    cuentame sabes porque pasa amigo

    bueno gracias

    Tuesday, December 28, 2010 11:03 PM
  • hola walox gracias por responder a mi problema

    pero sabes descubri que funciona bien todo hasta cuando borro para volver a trabajar con el

    hay recien empieza a fallar cuando sale un cero en un TextBox

    trabajo en vb 2010

    dime sabes porque pasa eso

    bueno gracias

    Tuesday, December 28, 2010 11:05 PM
  • buenas noches amigos del foro alguien sabe porque despues de borrar todo el contenido en los TextBox y dejar Deschekeado los checkBox

    y vulevo a relizar una suma  presenta problemas porque hace la suma mal cuando tiene algun TextBox con un cero

    los checkBox no los puedo eliminar porque los utilizo para cuando utilizo 3 o mas o menos Textbox al sumar

    bueno espero que alguien me ayude ya que no se que hacer proble otros codigo pero no tengo ni idea porque me esta pasando

    lo hice en vb 2010

    Wednesday, December 29, 2010 12:21 AM
  • Hola:

    ¿Has probado mi solución? Si no inicializas la variable Resultado, la tienes a nivel global, la segunda vez NUNCA te sumará bien.

    Por cierto, el tipo de este hilo es 'debate' cuando debería ser pregunta.

    Saludos

    • Proposed as answer by Focus Media Thursday, December 30, 2010 5:05 PM
    Wednesday, December 29, 2010 12:31 PM
  • buenas noches  a todos en el foro

    te quiero dar las gracias Focus por responder a mis consultas con mi problema

    bueno si  declare al principio  Resultado y le asigne cero

    o debo hacerlo de otra forma cuentame  Focus entonces como la declaro cuentame por favor

    ya que me encuentro pegado aqui y aun no puedo solucionar mi problema

    disculpa si tienes razon no se porque dice debate si yo hice una consulta aqui en el foro

    bueno estoy usando Visual Basic  2010

    Public Class Form1
        Dim Porcient As Double = 100
        Dim Resultado As Double = 0
    Wednesday, December 29, 2010 11:47 PM
  •  

    buenas  noches Focus  te debo dar las gracias por toda tu ayuda ya que sin ella no podria averme dado cuenta de como salir del error

    en el cual me encontraba si ya lo pude solucionar  ahora podre seguir adelante  con mi aplicasion que estoy haciendo

    te muestro como quedo el codigo

     

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim val1 As Double
            Double.TryParse(TextBox1.Text, val1)

            Dim val2 As Double
            Double.TryParse(TextBox2.Text, val2)

            Dim val3 As Double
            Double.TryParse(TextBox3.Text, val3)

            Dim val4 As Double
            Double.TryParse(TextBox4.Text, val4)

            Dim Resultado As Double = 0

            If CheckBox1.Checked Then Resultado += val1
            If CheckBox2.Checked Then Resultado += val2
            If CheckBox3.Checked Then Resultado += val3
            If CheckBox4.Checked Then Resultado += val4

            TextBox17.Text = Resultado

        End Sub
    Thursday, December 30, 2010 1:27 AM
  • Hola:

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim val1 As Double
            Double.TryParse(TextBox1.Text, val1)

            Dim val2 As Double
            Double.TryParse(TextBox2.Text, val2)

            Dim val3 As Double
            Double.TryParse(TextBox3.Text, val3)

            Dim val4 As Double
            Double.TryParse(TextBox4.Text, val4)

            RESULTADO = 0


            If CheckBox1.Checked Then Resultado += val1
            If CheckBox2.Checked Then Resultado += val2
            If CheckBox3.Checked Then Resultado += val3
            If CheckBox4.Checked Then Resultado += val4

            TextBox17.Text = Resultado

        End Sub

    • Proposed as answer by Focus Media Thursday, December 30, 2010 5:05 PM
    • Marked as answer by fox29 Sunday, January 02, 2011 4:14 PM
    Thursday, December 30, 2010 8:20 AM