Laden...

Windows Forms Taschenrechner erstellen mit eingebauter Logik?

Erstellt von Lens445 vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.500 Views
L
Lens445 Themenstarter:in
45 Beiträge seit 2017
vor 6 Jahren
Windows Forms Taschenrechner erstellen mit eingebauter Logik?

Hey,

habe zu erst ein Konsolen Programm programmiert dass mir alle Zahlensysteme (Dezimal, Dual, Hex) konvertieren kann und einen Taschenrechner.

Jetzt möchte ich das als WinForms haben, habe den Konvertierer auch schon fertig, aber das mit dem Taschenrechner will nicht so ganz, hab eine Logik mit Rechnungen bereits, deswegen benötige ich doch nur z.B.

        private void btnRechne_Click(object sender, EventArgs e)
        {
            Calculator calculator = new Calculator();
            string input1 = txtInputCalc1.Text;
            string input2 = txtZeichen.Text;
            string input3 = txtInputCalc2.Text;
            string result = string.Empty;

            if (rbDezCalc.Checked)
            {
                if (input2 == "+")
                {
                    result = calculator.DezAddieren(int.Parse(input1, input3));
                }
            }

        }

und input1 passt ihm so, aber bei input3, meckert er

Fehlermeldung:
Error CS1503 Argument 2: cannot convert from 'string' to 'System.Globalization.NumberStyles'

Ich versteh das nicht 🤔

J
251 Beiträge seit 2012
vor 6 Jahren

Theo. sagt die Fehlermeldung alles aus was man wissen muss 😉 Dein String lässt sich nicht einfach in NumberStyles konvertieren.

Du rufst die Methode Int32.Parse(String,NumberStyles) auf. Wenn du input1 und input3 konvertieren willst nach int, sollte in diesen Fall beide seperat konvertiert werden.

L
Lens445 Themenstarter:in
45 Beiträge seit 2017
vor 6 Jahren

Ja, aber dass ist ja nicht mal die Methode die ich brauche.

In meinem Calculator hab ich die Methode:

        public int DezAddieren(int number1, int number2)
        {
            return number1 + number2;
        }

auf die ich ja zugreifen will.

Also meinst du, ich muss dann extra nochmal die inputs als int konvertieren?

1
124 Beiträge seit 2012
vor 6 Jahren

Du hast da ein Denkfehler drinne.

du übergibts folgenden

DezAddieren(Int32.Parse(String,NumberStyles) )

möchtest aber folgendes:

DezAddieren(Int32.Parse(String),Int32.Parse(String) )
L
Lens445 Themenstarter:in
45 Beiträge seit 2017
vor 6 Jahren

Ahh, ja genau, das ist die Methode die ich brauche 👍

Jetzt klappt es, danke! 👅