Thread: [VB] Calculator

  1. #1
    Lifen's Avatar
    Registered
    05/09/08
    Location
    3500
    Posts
    2,835
    iTrader
    32 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/36

    [VB] Calculator

    Ik ben dus een klein projectje aan het maken, een calculator.
    Nu zou het interessant zijn om te kunnen optellen/delen/vermenigvuldigen/... met slechts één tekstvak.

    Dit lukt me helaas niet zo goed.

    GUI= 1 tekstvak (txtNumber1.text), de knoppen voor +, -, / en * en een delete knop die het label waar de uitkomst in komt reset.

    Code:
    Public Class frmMain
    
        Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim intTotaal As New Integer
        End Sub
    
        Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
            lblUitkomst.Text = ""
            txtNumber1.Clear()
        End Sub
    
        Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click
            'Bewaren van getal in geheugen...
            Dim dblNumberA As New Double
            Dim dblNumberB As New Double
            Dim dblNumberC As New Double
            Dim dblSubTotaal As New Double
    
            dblNumberA = Double.Parse(txtNumber1.Text)
            dblSubTotaal = dblSubTotaal + dblNumberA
            txtNumber1.Text = ""
            dblNumberB = Double.Parse(txtNumber1.Text)
            dblSubTotaal = dblSubTotaal + dblNumberB
            txtNumber1.Text = ""
            ' dblNumberC = dblNumberA + dblNumberB
    
            ' dblSubTotaal = dblNumberC
    
            'Tonen van uitkomst...
            lblUitkomst.Text = dblSubTotaal
        End Sub
    End Class
    no votes  

  2. #2
    Mee's Avatar
    Registered
    19/02/03
    Location
    Herent
    Posts
    13,647
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/17
    En wat is juist het probleem...?


    Probeer eens van "lblUitkomst.Text = dblSubTotaal"
    Code:
    lblUitkomst.Text = dblSubTotaal + ""
    te maken zodat je een string in het tekstveldje zet ipv een double (geen idee of dat nodig is bij VB, ik zou verwachten dat de compiler dan komt zagen).


    edit: Vergeet wat hier boven staat.
    Wat probeer je nu eigenlijk juist te doen:
    - Zoals bij de Windows calculator een begincijfer indrukken, +,-,*,/ klikken en dan wat ge er bij wilt optellen/aftrekken/etc? In dit geval zie ik niet waar je die beginwaarde opslaagt, vergeet niet dat elke keer je in btnPlus_Click terechtkomt die variabelen terug op 0 worden geïnitialiseerd.
    - Wil je een regeltje maken die vervolgens wordt uitgevoerd (zodat er in het tekstveld bv "3 + 5" staat)? In dat geval moet je die regel splitten op het teken, en op beide "kanten" een Double.parse doen.
    Last edited by Mee; 02-02-2010 at 02:31.
    no votes  

  3. #3
    pieta's Avatar
    Registered
    21/02/04
    Location
    bilzen
    Posts
    4,668
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/7
    mm, als ik naar uw code kijk en wat ge bedoelt snap ik het toch nie goed.

    ge hebt 1 tekstvak waar ge vb 5 intikt, dan duwt ge op + en dan moet ge opnieuw iets intikken? (telmachine stijl)

    in uw medthod + zitten redelijk wa fouten, ma voor ik alles zeg zou uw bedoeling toch tof zijn

    vb. uw numberB is toch altijd leeg?
    no votes  

  4. #4
    Lifen's Avatar
    Registered
    05/09/08
    Location
    3500
    Posts
    2,835
    iTrader
    32 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/36
    Het is de bedoeling dat je met één tekstvak zoveel getallen als je maar wilt kan optellen/aftrekken/...
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in