Archief - [VB] Calculator

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Lifen

Legacy Member
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

Mee

Legacy Member
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.

pieta

Legacy Member
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?

Lifen

Legacy Member
Het is de bedoeling dat je met één tekstvak zoveel getallen als je maar wilt kan optellen/aftrekken/...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan