Visual Basics In my code I'am getting the user to enter the length and height of each of the four walls. I got the code to multiply the length by the height to work out the area of each wall and display each of the four areas in separate text boxes. Now I want to add up the four numbers that are in the text boxes and display the answer in a separate text box when I click a button.
This is the code that I have at the moment;
Dim txtLength1 As Integer
Dim txtLength2 As Integer
Dim txtLength3 As Integer
Dim txtLength4 As Integer
Dim txtHeight1 As Integer
Dim txtHeight2 As Integer
Dim txtHeight3 As Integer
Dim txtHeight4 As Integer
Dim Area As Integer
Area = TotalArea.Text
txtLength1 = Length1.Text
txtHeight1 = Height1.Text
txtLength2 = Length2.Text
txtHeight2 = Height2.Text
txtLength3 = Length3.Text
txtHeight3 = Height3.Text
txtLength4 = Length4.Text
txtHeight4 = Height4.Text
Area1.Text = txtLength1 * txtHeight1
Area2.Text = txtLength2 * txtHeight2
Area3.Text = txtLength3 * txtHeight3
Area4.Text = txtLength4 * txtHeight4
Area = Area1.Text + Area1.Text + Area3.Text + Area4.Text
End Sub
End Class
When I run this code I get an error saying "Conversion from string "" to type 'Integer' is not valid."
Without taking into account peoples tendency to write other stuff than integers this would do the trick:
Dim txtLength1 As Integer
Dim txtLength2 As Integer
Dim txtLength3 As Integer
Dim txtLength4 As Integer
Dim txtHeight1 As Integer
Dim txtHeight2 As Integer
Dim txtHeight3 As Integer
Dim txtHeight4 As Integer
Dim Area As Integer
Area = Convert.ToInt32(TotalArea.Text)
txtLength1 = Convert.ToInt32(Length1.Text)
txtHeight1 = Convert.ToInt32(Height1.Text)
txtLength2 = Convert.ToInt32(Length2.Text)
txtHeight2 = Convert.ToInt32(Height2.Text)
txtLength3 = Convert.ToInt32(Length3.Text)
txtHeight3 = Convert.ToInt32(Height3.Text)
txtLength4 = Convert.ToInt32(Length4.Text)
txtHeight4 = Convert.ToInt32(Height4.Text)
Dim Area1Total As Integer = txtLength1 * txtHeight1
Dim Area2Total As Integer = txtLength2 * txtHeight2
Dim Area3Total As Integer = txtLength3 * txtHeight3
Dim Area4Total As Integer = txtLength4 * txtHeight4
Area1.Text = Area1Total
Area2.Text = Area2Total
Area3.Text = Area3Total
Area4.Text = Area4Total
Area = Area1Ttotal + Area2Total + Area3Total + Area4Total
Edit: Did some minor adjustments in order for you to be able to have the last Area part as it should aswell (since the .Text will make it into a string again).
Edit 2:
If the "TotalArea" Control is not a field that the user should fill in, but rather a sum of the total area as calculated from the various lengths and heights, your code should look like this:
Dim txtLength1 As Integer
Dim txtLength2 As Integer
Dim txtLength3 As Integer
Dim txtLength4 As Integer
Dim txtHeight1 As Integer
Dim txtHeight2 As Integer
Dim txtHeight3 As Integer
Dim txtHeight4 As Integer
Dim Area As Integer
txtLength1 = Convert.ToInt32(Length1.Text)
txtHeight1 = Convert.ToInt32(Height1.Text)
txtLength2 = Convert.ToInt32(Length2.Text)
txtHeight2 = Convert.ToInt32(Height2.Text)
txtLength3 = Convert.ToInt32(Length3.Text)
txtHeight3 = Convert.ToInt32(Height3.Text)
txtLength4 = Convert.ToInt32(Length4.Text)
txtHeight4 = Convert.ToInt32(Height4.Text)
Dim Area1Total As Integer = txtLength1 * txtHeight1
Dim Area2Total As Integer = txtLength2 * txtHeight2
Dim Area3Total As Integer = txtLength3 * txtHeight3
Dim Area4Total As Integer = txtLength4 * txtHeight4
Area1.Text = Area1Total
Area2.Text = Area2Total
Area3.Text = Area3Total
Area4.Text = Area4Total
Area = Area1Ttotal + Area2Total + Area3Total + Area4Total
TotalArea.Text = Area