Hi everyone, i am making this calculator and i already have a source code which i will post later. I have two textboxes, the 1st one(TextBox1) displays the answer while the 2nd one(TextBox2) shall display the equation. The problem is, The 2nd textbox doesn't display it. for example,
1. Click "1", TextBox1 and TextBox2 Displays " 1 "
2. Click "+" TextBox1 becomes empty, TextBox2 displays " 1 + "
3. Click "2", TextBox1 displays " 2 ", TextBox2 displays " 1 + 2 "
4. Click "+" again, TextBox1 displays " 3 ", TextBox2 displays " 3 + " but TextBox2 should have been displaying " 1 + 2 + "
So how am I going to display all the equation or the input on TextBox2 while the answers are on TextBox1???
Help me out please. Thank you very much
This is the code i found online which i manipulated a bit.
Thank YOU SO MUCH!!!
)
1. Click "1", TextBox1 and TextBox2 Displays " 1 "
2. Click "+" TextBox1 becomes empty, TextBox2 displays " 1 + "
3. Click "2", TextBox1 displays " 2 ", TextBox2 displays " 1 + 2 "
4. Click "+" again, TextBox1 displays " 3 ", TextBox2 displays " 3 + " but TextBox2 should have been displaying " 1 + 2 + "
So how am I going to display all the equation or the input on TextBox2 while the answers are on TextBox1???
Help me out please. Thank you very much
This is the code i found online which i manipulated a bit.
VB.NET:
Public Class Calculator
Dim total1 As Double
Dim total2 As Double
'variables to hold operands
Private valHolder1 As Double
Private valHolder2 As Double
'Variable to hold temporary values
Private tmpValue As Double
'True if "." is use else false
Private hasDecimal As Boolean
Private inputStatus As Boolean
Private clearText As Boolean
'variable to hold Operater
Private calcFunc As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Check the inputStatus
If inputStatus Then 'Its True
'Append values to the value
'in the input box
TextBox1.Text += Button1.Text
TextBox2.Text += Button1.Text
Else 'Value is False
'Set the value to the value of the button
TextBox1.Text = Button1.Text
TextBox2.Text += Button1.Text
'Toggle inputStatus to True
inputStatus = True
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If inputStatus Then
TextBox1.Text += Button2.Text
TextBox2.Text += Button2.Text
Else
TextBox1.Text = Button2.Text
TextBox2.Text += Button2.Text
inputStatus = True
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If inputStatus Then
TextBox1.Text += Button3.Text
TextBox2.Text += Button3.Text
Else
TextBox1.Text = Button3.Text
TextBox2.Text += Button3.Text
inputStatus = True
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If inputStatus Then
TextBox1.Text += Button4.Text
TextBox2.Text += Button4.Text
Else
TextBox1.Text = Button4.Text
TextBox2.Text += Button4.Text
inputStatus = True
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
If inputStatus Then
TextBox1.Text += Button5.Text
TextBox2.Text += Button5.Text
Else
TextBox1.Text = Button5.Text
TextBox2.Text += Button5.Text
inputStatus = True
End If
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
If inputStatus Then
TextBox1.Text += Button6.Text
TextBox2.Text += Button6.Text
Else
TextBox1.Text = Button6.Text
TextBox2.Text += Button6.Text
inputStatus = True
End If
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
If inputStatus Then
TextBox1.Text += Button7.Text
Else
TextBox1.Text = Button7.Text
inputStatus = True
End If
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
If inputStatus Then
TextBox1.Text += Button8.Text
Else
TextBox1.Text = Button8.Text
inputStatus = True
End If
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
If inputStatus Then
TextBox1.Text += Button9.Text
Else
TextBox1.Text = Button9.Text
inputStatus = True
End If
End Sub
Private Sub Button0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button0.Click
'Check the input status
If inputStatus Then 'If true
'Now check to make sure our
'input box has a value
If TextBox1.Text.Length >= 1 Then
'Add our zero
TextBox1.Text += Button0.Text
TextBox2.Text += Button0.Text
End If
End If
End Sub
Private Sub ButtonDot_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDot.Click
'Check for input status (we want true)
If inputStatus Then
'Check if it already has a decimal (if it does then do nothing)
If Not hasDecimal Then
'Check to make sure the length is > than 1
'Dont want user to add decimal as first character
If TextBox1.Text.Length > 0 Then
'Make sure 0 isnt the first number
If Not TextBox1.Text = "0" Then
'It met all our requirements so add the zero
TextBox1.Text += ButtonDot.Text
TextBox2.Text += ButtonDot.Text
'Toggle the flag to true (only 1 decimal per calculation)
hasDecimal = True
End If
Else
'Since the length isnt > 1
'make the text 0.
TextBox1.Text = "0."
TextBox2.Text = "0."
End If
End If
End If
End Sub
Private Sub ButtonAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAdd.Click
'Make sure out input box has a value
If TextBox1.Text.Length <> 0 Then
'Check the value of our function flag
If calcFunc = String.Empty Then 'Flag is empty
'Assign the value in our input
'box to our holder
valHolder1 = CType(TextBox1.Text, Double)
'Empty the input box
TextBox1.Text = String.Empty
Else 'Flag isnt empty
'Call our calculate totals method
CalculateTotals()
End If
TextBox2.Text += ButtonAdd.Text
'Assign a value to our calc function flag
calcFunc = "Add"
'Toggle the decimal flag
hasDecimal = False
End If
End Sub
Private Sub ButtonSub_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSub.Click
'Make sure out input box has a value
If TextBox1.Text.Length <> 0 Then
'Check the value of our function flag
If calcFunc = String.Empty Then 'Flag is empty
'Assign the value in our input
'box to our holder
valHolder1 = CType(TextBox1.Text, Double)
'Empty the input box
TextBox1.Text = String.Empty
TextBox2.Text += ButtonSub.Text
Else 'Flag isnt empty
'Call our calculate totals method
CalculateTotals()
End If
'Assign a value to our calc function flag
calcFunc = "Subtract"
'Toggle the decimal flag
hasDecimal = False
End If
End Sub
Private Sub ButtonMul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonMul.Click
'Make sure out input box has a value
If TextBox1.Text.Length <> 0 Then
'Check the value of our function flag
If calcFunc = String.Empty Then 'Flag is empty
'Assign the value in our input
'box to our holder
valHolder1 = CType(TextBox1.Text, Double)
'Empty the input box
TextBox1.Text = String.Empty
Else 'Flag isnt empty
'Call our calculate totals method
CalculateTotals()
End If
'Assign a value to our calc function flag
calcFunc = "Multiply"
'Toggle the decimal flag
hasDecimal = False
End If
End Sub
Private Sub ButtonDiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDiv.Click
'Make sure out input box has a value
If TextBox1.Text.Length <> 0 Then
'Check the value of our function flag
If calcFunc = String.Empty Then 'Flag is empty
'Assign the value in our input
'box to our holder
valHolder1 = CType(TextBox1.Text, Double)
'Empty the input box
TextBox1.Text = String.Empty
Else 'Flag isnt empty
'Call our calculate totals method
CalculateTotals()
End If
'Assign a value to our calc function flag
calcFunc = "Divide"
'Toggle the decimal flag
hasDecimal = False
End If
End Sub
Private Sub ButtonRes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRes.Click
'Make sure theres a value in the input box
'And that our temp value isnt 0
If TextBox1.Text.Length <> 0 AndAlso valHolder1 <> 0 Then
'Call the calculate totals method
CalculateTotals()
'Clear the calcFunction value
calcFunc = String.Empty
'Toggle the decimal flag
hasDecimal = False
End If
End Sub
'Private Sub ButtonBs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBs.Click
' 'Declare locals needed
' Dim str As String
' Dim loc As Integer
' 'Make sure the text length is > 1
' If TextBox1.Text.Length > 0 Then
' 'Get the next to last character
' str = TextBox1.Text.Chars(TextBox1.Text.Length - 1)
' str = TextBox2.Text.Chars(TextBox2.Text.Length - 1)
' 'Check if its a decimal
' If str = "." Then
' 'If it is toggle the hasDecimal flag
' hasDecimal = False
' End If
' 'Get the length of the string
' loc = TextBox1.Text.Length
' loc = TextBox2.Text.Length
' 'Remove the last character, incrementing by 1
' TextBox1.Text = TextBox1.Text.Remove(loc - 1, 1)
' TextBox2.Text = TextBox2.Text.Remove(loc - 1, 1)
' End If
'End Sub
Private Sub ButtonClr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonClr.Click
'Empty the text in the input box
TextBox1.Text = String.Empty
TextBox2.Text = String.Empty
'Clear out both temp values
valHolder1 = 0
valHolder2 = 0
'Set the calc switch to empty
calcFunc = String.Empty
'Toggle the hasDecimal flag
hasDecimal = False
End Sub
Private Sub CalculateTotals()
valHolder2 = CType(TextBox1.Text, Double)
Select Case calcFunc
Case "Add"
valHolder1 = valHolder1 + valHolder2
Case "Subtract"
valHolder1 = valHolder1 - valHolder2
Case "Divide"
valHolder1 = valHolder1 / valHolder2
Case "Multiply"
valHolder1 = valHolder1 * valHolder2
End Select
TextBox1.Text = CType(valHolder1, String)
TextBox2.Text = CType(valHolder1, String)
inputStatus = False
End Sub
End Class