Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: aspiazu en 17 Abril 2017, 21:08 pm



Título: Multiplicacion
Publicado por: aspiazu en 17 Abril 2017, 21:08 pm
Mmmm alguien sabe que esta mal?? Tengo 8 textbox ,y un boton en el form.
Cuando escribes un numero en los textbox y das al boton quiero que el valor de cada texbox se multiplique por el valor que tienen puestos las variables.
Con el resultado ,quiero asignarlo a un label

Hace mucho que no programo en visual y estoy mas perdido..jajaja Se me hace muy raro programar ahora  :P

Código
  1. Public Class Form1
  2.    Dim Llamas As Double = 6.4
  3.    Dim Simples As Double = 5
  4.    Dim Vapor As Double = 24
  5.    Dim Morteros As Double = 22.4
  6.    Dim Misiles As Double = 28
  7.    Dim Subs As Double = 20.2
  8.    Dim Palas As Double = 6.4
  9.    Dim Globos As Double = 28
  10.    Dim Mantenimiento As Double = 16
  11.  
  12.    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  13.        Dim total As Integer = (TextBox1.Text * Llamas) + (TextBox2.Text * Vapor) + (TextBox3.Text * Simples) + (TextBox4.Text * Morteros) + (TextBox5.Text * Misiles) +
  14.            (TextBox6.Text * Subs) + (TextBox7.Text * Palas) + (TextBox8.Text * Globos) + (TextBox9.Text * Mantenimiento)
  15.    End Sub
  16. End Class


Título: Re: Multiplicacion
Publicado por: PalitroqueZ en 17 Abril 2017, 22:07 pm
¿qué error te da?




Título: Re: Multiplicacion
Publicado por: aspiazu en 17 Abril 2017, 22:18 pm
(http://image.prntscr.com/image/641a60b0101547f485ef7b61aa9517eb.png)

esto me sale


Título: Re: Multiplicacion
Publicado por: Eleкtro en 18 Abril 2017, 12:07 pm
Tengo 8 textbox

En el código que has mostrado, son nueve.

esto me sale

El mensaje de error de la excepción es auto-descriptivo, te está advirtiendo de que una cadena vacía de texto ("") no se puede tratar como un número entero, por ende, ¿qué es lo que debes evitar hacer para que no te siga apareciendo esa excepción?: no intentar convertir un String vacío a Integer. Revisa los valores que hayas escrito en esos nueve textboxes.

De todas formas, en lugar de intentar sumar directamente strings deberías añadir un control de errores para asegurarte de que no haya valores vacíos, y con el uso de la función Integer.TryParse()/Double.TryParse() asegurarte de que todos los valores que se hayan escrito sean convertibles.

Además de eso, la variable "total" debería ser del tipo Double, luego si quieres ya la representarás como un valor entero pero esa variable debería ser declarada como Double para evitar posibles errores de capacidad aritmética, puesto que estás tratando todos los valores del cálculo/suma como Double...

Por último, te sugiero que actives las sentencias Option correspondientes en el código fuente para que te sirvan como una ayuda visual de los errores que estás cometiendo en ese código:

Código
  1. Option Strict On
  2. Option Explicit On
  3. Option Infer Off
  4.  
  5. Public Class Form1
  6. ' ...
  7. End Class

Saludos.