Eine Listbox addieren und in ein Label oder Textbox Ausgeben

  • VB.NET

Es gibt 29 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Eine Listbox addieren und in ein Label oder Textbox Ausgeben

    Hallo und guten tag, ich habe ein problem mit eine bestimmte Listbox Addieren:

    Und zwar: Möchte ich lange zahlen mit komma von einer Listbox addieren und der Wert soll dann in eine Textbox oder Label ausgegeben werden.

    Gibt es vielleicht eine möglichkeit das die Listbox Items ohne irgendein Button zu Klicken, automatisch berechnet und dann alles in eine Textbox oder Label ausgegeben wird ?

    Ich habe das ganze internet durchsucht aber nix bedeutendes gefunden das mit Visual Basic zu tun hat.

    Ich möchte auch genau wissen wo die Formel reingehört.
    eine Listbox kann man nicht addieren.
    Zahlen kann man addieren, aber eine Listbox ist keine Zahl, und ist auch keine Zahlen (viele).
    Eine Listbox kann Zahlen anzeigen - das kann man auf verschiedene Weisen bewerkstelligen.
    Also wenn du erklärst, wie du es bewerkstelligst, die Zahlen in deiner Listbox anzuzeigen, dann ist vielleicht möglich, zu erklären, wie man diese addieren kann.

    VBUser77 schrieb:

    Gibt es vielleicht eine möglichkeit das die Listbox Items ohne irgendein Button zu Klicken, automatisch berechnet und dann alles in eine Textbox oder Label ausgegeben wird ?
    Nein.
    Eine Listbox kann eine Liste anzeigen.
    Sie kann nix automatisch berechnen.
    @VBUser77 Willkommen im Forum. :thumbup:
    Du vermengst hier einige Sachen, die nix miteinander zu tun haben.
    Vielleicht beschrfeibst Du mal Deine Vorhaben einzeln ohne Bezug zu einander und ohne Bezug zu Controls.
    Z.B.
    Ich will lange Zahlen addieren.
    Ich will eine lange Zahl editieren können.
    Ich will eine lange Zahl anzeigen können ohne dass sie editiert werden kann.
    ...
    Unter einer langen Zahl verstehe ich dies und jenes.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vollzitat eines Vorposts durch Anredefunktion ersetzt ~VaporiZed

    @ErfinderDesRades
    Hallo sorry die verspätende Antwort meinerseits deshalb entschuldigung:

    Eigentlich wollte ich nicht eine Listbox addieren sondern die Zahlen die untereinander gestapelt werden in der Listbox, addieren. Das Ergebnis soll dann in ein Label oder Textbox angezeigt werden aber nicht in der Listbox selbst.

    Das Addieren soll dann durch ein Button berechnet werden.

    Ich wäre sehr dankbar dafür wer eine Lösungsformel findet.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Quatsch!!! Sie müssen mir sagen wie die formel lauten soll mensch wozu habe ich mich hier sonst angemeldet - kann doch nicht war sein - mit was für leute habe ich hier eigentlich zu tun ? mit psychopaten oder was ??? Man Man Man

    Dafür gab es einen Rüffel der Moderation ~VaporiZed

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VBUser77“ ()

    Die Frage, wie die Daten in die ListBox kommen, ist relevant, weil man genau dort ansetzt, die Daten zu verarbeiten und nicht später irgendwelche Texte aus der ListBox rausfischt.

    VBUser77 schrieb:

    Sie müssen mir sagen
    Wir müssen gar nix. Und bei dem Ton erst recht nicht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    So, damit sind ja schon mal ein paar Fragen aus Post#4 beantwortet. Der Knackpunkt ist nur bzw. worauf ErfinderDesRades (wahrscheinlich) hinaus will: Wenn echte Zahlen bereits in die ListBox wandern, warum dann nicht bereits vorher die echten Zahlen (die womöglich schon als Double-Datentyp vorliegen) miteinander addieren? Denn Double-Zahlen lassen sinch problemlos addieren. Vor allem, wenn sie nicht nur in der ListBox angezeigt werden, sondern ggf. sogar auch in einer List(Of Double) zwischengespeichert werden. Dann ist das Rechnen damit ziemlich leicht. Und man muss ggf. die ListBox-Inhalte gar nicht anfassen.

    Oder nochmal anders gefragt: Woher kommen die Zahlen und im welchen Format liegen sie vor? Wenn sie aus einer Textdatei kommen muss man das anders behandeln als wenn sie von einem Gerät in einem bestimmten Datenformat kommen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Lustiger Thread, bei dem Tonfall bekomme ich direkt Lust zu „helfen“:

    Weg1:
    Nach dem hinzuzufügen der Werte in die ListBox (oder beim klicken auf einen Knopf) per Schleife durch die Items Eigenschaft der selbigen iterieren und die Werte summieren. Am Ende die Summe im Label oder der Textbox ausgeben.

    Weg2:
    Beim Hinzufügen der Werte in die Listbox direkt den Wert einer „Klassenweit/Formweit“ deklarierten Summenvariable hinzuaddieren und diese dann im Label oder der Textbox ausgeben.

    Weg 3: Die Werte aus der Datenquelle der Listbox verwenden und summieren. Dann die Summe im Label oder der Textbox ausgeben.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Das kommt darauf an, wie die Zahlen in die Listbox hineingekommen sind.
    Da musst du doch Code für haben - den solltest du mal zeigen. Das meinte ich mit:

    ErfinderDesRades schrieb:

    wenn du erklärst, wie du es bewerkstelligst, die Zahlen in deiner Listbox anzuzeigen, dann ist vielleicht möglich, zu erklären, wie man diese addieren kann.
    Ist denn das in irgendeiner Weise unverständlich?
    @VBUser77 Könnte es sein, dass Du in einem fremden Programm diese Zahlen siehst und denkst, dass Du die mit einem kleinen eigenen Programm da herausbekommst und in deinem Programm addieren kannst? Wenn das so ist, denke ich ist das für Dir programmiertechnisch nicht zu schaffen.
    Falls Dir der Code unten nicht im Ansatz helfen kann, dann müsstest Du Dich wohl oder übel erst selbst einlesen. Zahlen aus fremden Programmen auslesen und verarbeiten ist dann schon für Fortgeschrittene. Und um Himmels willen versuch besser zu fragen ;) .

    VB.NET-Quellcode

    1. Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
    2. Dim ergebnis As Decimal
    3. Dim zahl1 As Decimal
    4. Dim zahl2 As Decimal
    5. Decimal.TryParse(listBox1.Items(0).ToString(), zahl1)
    6. Decimal.TryParse(listBox1.Items(1).ToString(), zahl2)
    7. ergebnis = zahl1 + zahl2
    8. label1.Text = ergebnis.ToString()
    9. End Sub


    Bilder
    • Bild_2020-12-29_115956.png

      3,78 kB, 322×235, 67 mal angesehen
    codewars.com Rank: 4 kyu
    Wat? ergebnis = zahl1 + zahl2 - das ist eine (mathematische) Formel.
    Der Rest ist Programmiercode. Du redest die ganze Zeit davon, dass Du ne Formel willst. Das kam zumindest mir beim Thema Summenbildung zu lächerlich vor, um zu schreiben a = b + c. Daher die große Verwirrung.
    Was Du willst, ist Programmiercode.
    Und so, wie es jetzt vorliegt, sollte es genau nicht gemacht werden. Weil es Pfeil-Rücken-Brust-Auge ist. Aber wenn es scheinbar weiterhilft …
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ach Sorry ich hab vergessen das diese zahl 0.0000000000000000001602176634 visual basic das so nicht versteht, sondern so: 1.602176634E-19.

    Ich habe dann dadurch ein fehlermeldung bekommen; danach habe ich auch unter Combobox das so 1.602176634E-19 geschrieben und jetzt zeigt er es richtig an - joo danke

    Jetzt rechnet erdas richtig. lol 8o war eigentlich mein fehler gewesen

    vielen lieben dank

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „VBUser77“ ()