Vorgang inerhalb einer Schleife zählen

  • VB6
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von TVX.

    Vorgang inerhalb einer Schleife zählen

    Guten Abend,
    Ich besitze eine ListBox1 mit n Einträgen, die über einen Button mit weiteren Einträgen gefüllt werden. Ich möchte zählen wie oft ein Wert (im Beispiel unten 2) in der ListBox auftaucht.Dazu benutze ich eine Schleife, die jeden Eintrag mit dem Wert vergleicht und einer Variabeln (im Beispiel bla) den Wert 1 für ja oder 0 für nein zuordnet. Wie kann man zählen, wie oft der Variabeln bla der Wert 1 zugeordnet wird?


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim item_neu As String = 2
    Dim treffer As Boolean = False
    Dim bla
    For i As Integer = 0 To ListBox1.Items.Count - 1
    If ListBox1.Items.Item(i) = item_neu Then
    treffer = True
    bla = 1
    Else
    bla = 0
    End If
    Next
    End Sub

    Danke
    gar nicht.

    Wenn du allerdings nicht immer Bla = 1 sondern Bla +=1 schreiben würdest UND Blah als Double Dimst dann hast du einen Zählervariable die du auslesen kannst.


    Übrigens funktioniert "Dim item_neu As String = 2" nicht. Denn 2 = Zahl und item_neu = Folge von Buchstaben (String)
    Du könnstest "2" schreiben oder mit Zahlen Arbeiten.
    Hier würde Option Strict On helfen.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim zähler As Integer = 0
    3. For i As Integer = 0 To ListBox1.Items.Count - 1
    4. If ListBox1.Items(i) = ("2") Then
    5. zähler += 1
    6. End If
    7. Next
    8. MsgBox(zähler)
    9. 'oder
    10. For Each item As String In ListBox1.Items
    11. If item.Contains("1") Then
    12. zähler += 1
    13. End If
    14. Next
    15. MsgBox(zähler)
    16. End Sub
    Natürlich funktioniet das.
    Aber hast du das auch verstanden.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Kannst es aber auch so machen , beliebig erweiterbar ....

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim zähler1 As Integer = 0
    3. Dim zähler2 As Integer = 0
    4. For Each item As String In ListBox1.Items
    5. If item.Contains("1") Then
    6. zähler1 += 1
    7. ElseIf item.Contains("2") Then
    8. zähler2 += 1
    9. End If
    10. Next
    11. MsgBox(zähler1)
    12. MsgBox(zähler2)
    13. End Sub​