Announcement

Collapse
No announcement yet.

Addition von mehreren Zahlen in einer Richtextbox

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Addition von mehreren Zahlen in einer Richtextbox

    Hallo,
    ich bin noch ein ziemlicher Anfänger und wollte wissen wie man zwei Zahlen die man in zwei Textboxen geschrieben hat addieren oder multiplizieren und dann in einer Richtextbox ausgeben kann um sie dann später mit den gesamten Eingaben speichern zu können. Wahrscheinlich ist das eine der einfachsten Übungen aber ich konnte in der Hilfe leider nichts finden.
    Ich benutze übrigens MS Visual Basic 2005.

    Mfg
    Lukas Zapf

  • #2
    Hi

    das ist wirklich ganz einfach aber besser dumm fragen als dumm sterben ;-)

    ich erläutere es am besten in einem beispielcode

    dim zahl1 as double
    dim zahl2 as double

    zahl1 = convert.ToDouble(me.textbox1.text)
    zahl2 = convert.ToDouble(me.textbox2.text)

    me.textbox3.text = zahl1 + zahl2

    das müsste problemlos gehen

    die funktion convert.ToDouble ist dafür da, den typ string (die textbox) in double umzuwandeln. wolltest du zwei strings addieren (zb. 1+2) würde er sie nur zusammenhängen also würde 12 rauskommen

    erklären ist nicht meine stärke ich hoffe aber trotzdem das ich dir helfen konnte

    mfg

    benedik

    Comment


    • #3
      Also beim debuggen sagt er mir das ein Fehler aufgetreten sei und zwar an der Stelle:

      zahl1 = Convert.ToDouble(TextBox1.Text)

      er macht die Zeile gelb und schreibt in ein Fenster:

      Eine Ausnahme (erste Chance) des Typs "System.FormatException" ist in mscorlib.dll aufgetreten.

      Ich hab keine Ahnung was das bedeutet

      Comment


      • #4
        Hallo,

        die <i>FormatException</i> teilt nur mit, dass die in der TextBox vorgefundene Zeichenkette nicht in eine Zahl konvertiert werden kann. Das folgende Beispiel demonstriert eine erfolgreiche Konvertierung:

        <div style="font-family: Courier New; font-size: 10pt; color: black; background: white; border-top: windowtext 1pt solid; padding-top: 0pt; border-left: windowtext 1pt solid; padding-left: 0pt; border-right: windowtext 1pt solid; padding-right: 0pt; border-bottom: windowtext 1pt solid; padding-bottom: 0pt;"><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">Dim</span> zahl1 <span style="color: blue;">As</span> <span style="color: blue;">Double</span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">Dim</span> zahl2 <span style="color: blue;">As</span> <span style="color: blue;">Double</span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; zahl1 = Convert.ToDouble(<span style="color: maroon;">"12,5"</span>)</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; zahl2 = zahl1 * 2</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MessageBox.Show(zahl2.ToString())</p></div&gt

        Comment


        • #5
          Und wie kann ich jetzt dafür sorgen das ich mit dem ersten Code der soweit ja auch funktioniert auch das Programm öffnen kann. Er stoppt ja immer beim Debuggen

          Comment


          • #6
            Ok vielen dank euch allen ich habs selbst rausbekommen.
            Jetzt hab ich noch zwei andere Frage. Und zwar wenn ich jetzt im Code geschrieben habe das er in der Textbox das Ergebnis schreiben soll, was so aussieht:

            2 + 3

            RichTextBox1.Text = "Ergebnis:" & " " & 2 + 3

            Wie bring ich es jetzt fertig das ich mir in der nächsten Zeile der Box etwas anderes angezeigt bekommen lassen kann?

            Und jetzt zweitens
            wenn das nun alles in zwei zeilen dasteht und ich in den Textboxen wieder etwas einegebe wird das vorherige Ergebnis ersetzt. Wie geht das jetzt das das neue Ergebnis unter das alte gehängt wird?

            Mfg Lukas Zap

            Comment


            • #7
              das einhste ist denke ich wenn du den ihalt der richtextbox in eine varialble einließt

              dim strInhalt as string

              strinhalt = me.richtextbox1.text

              und dann beim berechnen deinen neuen wert an die variable anhängst
              RichTextBox1.Text = strInhalt &= "Ergebnis:" & " " & 2 + 3 & vbNewline dann gehts

              ps: vbNewline gibt an einen zeilenumbruch darzustellen

              mfg

              benedik

              Comment


              • #8
                Vielen Dank. Meine letzte Frage bezieht sich auf das laden und speichern. Wenn den Code zum speichern so eingebe wie vb das verlangt und den savefiledialog einfüge zeigt er mir beim speichern keinen Dateitypen an und ohne den gehts nicht. Gebe ich in den Eigenschaften beim dialog z.B. Textdateien an zeigt er mir das dann auch im Programm. Speichern tut er trotzdem nicht. Wie kann ich ihn dazu bringen das Programm abzuspeichern und hinterher wieder genauso zu laden.

                mfg Lukas Zap

                Comment


                • #9
                  Vielen Dank klappt alles super

                  Comment

                  Working...
                  X