Arrays zusammenzählen

  • VB.NET
  • .NET 5–6

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von seby1302.

    Arrays zusammenzählen

    Hallo und ein Frohes Neues Jahr erst Einmal.

    Ich versuche Grade Die Array´s die ich aus der Datenbank auslese zusammen zu Zählen.
    Allerdings Überschreibt mir die schleife den Ersten Wert ja wieder.

    Ich kann dieses soweit eingrenzen, indem ich eine if aufstelle.
    Allerdings weiß ich nicht wie ich es für die weiteren Werte, machen soll. da gibt er mir immer den Letzten.
    Also Array 0 + 4 ich möchte aber 0+1+2+3+4 haben ?(


    VB.NET-Quellcode

    1. While sqlReader.Read()
    2. IdCount = sqlReader(0)
    3. Einsatz(IdCount - 1) = sqlReader(2)
    4. If IdCount - 1 = 0 Then
    5. GesammtEinsatz1 = Einsatz(IdCount - 1)'GesammtEinsatz1 Ist nun Save wird nicht überschrieben...
    6. End If
    7. If IdCount - 1 > 0 Then
    8. GesammtEinsatz = GesammtEinsatz1 + Einsatz(IdCount - 1)'GesammtEinsatz Wird mehrmals Überschrieben da IdCount - 1 mehrmals Größer ist wie 0
    9. TextBox1.Text = GesammtEinsatz
    10. End If
    11. End While


    GesammtEinsatz wird mehrmals mit dem neuen wert Überschrieben und ich erhalte dann den Letzten.

    Loool Hat sich erledigt ?(
    Wenn ich außerhalb der While Eine For schleife gemacht habe, habe ich.
    dann nur Array1 + Array2 bekommen..
    Komischerweise auf einmal nicht mehr...
    Nun Läuft es richtig..

    VB.NET-Quellcode

    1. For i = 0 To Einsatz.Count - 1
    2. GesammtEinsatz += Einsatz(i)
    3. Next
    4. TextBox1.Text = GesammtEinsatz





    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „seby1302“ ()

    @seby1302 Probier mal diesen hier:

    VB.NET-Quellcode

    1. GesammtEinsatz = 0
    2. While sqlReader.Read()
    3. IdCount = sqlReader(0)
    4. Einsatz(IdCount - 1) = sqlReader(2)
    5. If IdCount - 1 > 0 Then
    6. GesammtEinsatz += Einsatz(IdCount - 1)
    7. End If
    8. End While
    9. TextBox1.Text = GesammtEinsatz.ToString
    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!
    Auch wenn Du das Problem selber gelöst hast:

    TextBox1.Text = GesammtEinsatz 8|
    "Gesamt" wird mit einem m geschrieben. Und Du arbeitest nicht mit Option Strict On, da TextBox1.Text einen String will, Du aber eine Zahl übergibst. Mit Option Strict Off funktioniert das zwar, wird aber als rotes Tuch gesehen, wenn deshalb Probleme auftreten und Du im Forum fragst, warum.

    Bevor Du weitermachst, daher bitte die empfohlenen VS-Einstellungen verwenden.

    Das als Schlussbemerkung. Schließlich ist das eigentliche Problem ja erledigt.
    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.

    seby1302 schrieb:

    Wie kann ich das anstellen?
    Poste mal einen Code-Vorschlag, dann sehen wir weiter.
    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!
    So in der art..
    IdCount Kennt ihr von Oben, zählt die DB Id´s auf.

    Nun Gibt es die RefCode, das sind die User die Wiederum andre User Einladen(IsRefered).

    Also möchte ich nun aufzählen, wie viele User, User1 Eingeladen hat.
    User2 IsRefered Enthält den RefCode des User1

    Nor so in etwa....

    VB.NET-Quellcode

    1. For i = 0 To IsRefered.Count - 1
    2. if IsRefered(i).tostring.contains(RefCode(i)) then
    3. RefcodeXhateingeladen = RefCode(i) - IsRefered(i)
    4. end if
    5. next


    Wohl Kleines Denkfehler grade....
    IdCount -1 durch i Ersetzt

    seby1302 schrieb:

    VB.NET-Quellcode

    1. RefcodeXhateingeladen = RefCode(i) - IsRefered(i)
    So was:

    VB.NET-Quellcode

    1. RefcodeXhateingeladen += 1
    :?:
    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!
    So EDIT Hat sich nun erledigt es tut was es soll . :D

    VB.NET-Quellcode

    1. While Refcode(Counters) > IdCount -1
    2. For i = 0 To IdCount.Count - 1
    3. If Refcode(Counters) >= 0 And IsRefered(i).ToString.Contains(Refcode(Counters)) Then
    4. RefcodeXhateingeladen(Counters) += 1
    5. End If
    6. If i = IdCount -1 Then
    7. ListBox1.Items.Add(RefcodeXhateingeladen(Counters).ToString)
    8. Label32.Text = Counters.ToString
    9. Counters += 1
    10. End If
    11. Next
    12. End While


    Nur noch Option Strict wider auf On und nach korrigieren

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „seby1302“ ()