Simple Calculator Help Needed

bigboywasim

Member
Joined
Sep 29, 2006
Messages
18
Programming Experience
Beginner
I am having a little trouble and I belive it is in equal button code.

VB.NET:
Option Strict On
Public Class frmCalculator

    Dim Var1 As Integer
    Dim Var2 As Integer


    Private Sub btn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click
        txtData.Text = txtData.Text & btn0.Text
    End Sub

    Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
        txtData.Text = txtData.Text & btn1.Text
    End Sub

    Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
        txtData.Text = txtData.Text & btn2.Text
    End Sub

    Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click
        txtData.Text = txtData.Text & btn3.Text
    End Sub

    Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
        txtData.Text = txtData.Text & btn4.Text
    End Sub

    Private Sub btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click
        txtData.Text = txtData.Text & btn5.Text
    End Sub

    Private Sub btn6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click
        txtData.Text = txtData.Text & btn6.Text
    End Sub

    Private Sub btn7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click
        txtData.Text = txtData.Text & btn7.Text
    End Sub

    Private Sub btn8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click
        txtData.Text = txtData.Text & btn8.Text
    End Sub

    Private Sub btn9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click
        txtData.Text = txtData.Text & btn9.Text
    End Sub

    Private Sub BtnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPlus.Click
        Var1 = Var1 + CInt(txtData.Text)
        txtData.Text = ""
    End Sub

    Private Sub btnEqual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEqual.Click
        Var2 = Var1 + CInt(txtData.Text)

        txtData.Text = Var2.ToString
 
use 'Val' instead of CInt function to get textbox value
it will automatically takes 0 when having invalid input
I'd recommend Integer.TryParse or Double.TryParse for this, it handles odd scenarios much more accurately than the crappy vb6 Val() function.

As for all of those individual button click events except the equals and the plus button, you could wrap them all into 1:
VB.NET:
    Private Sub btn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click
        txtData.Text &= DirectCast(sender, Button).Text
    End Sub
 
The program keeps on adding one for some reason after the first add.

Now if I continue to hit the equal button it adds one

So 1+5=6 then 6+2=9 9+3=13 etc
 
What I would suggest is making 2 text boxes and a time.

Then program some code to set the textboxes (using the timer) to what is in var1 and var2.

That way you get a visual represenation of what is happenning.

Somehow var1 is not changing (I think)
 
Back
Top