Listbox Ausgabe von Zeilen die nicht 0-100 sind oder diese löschen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von mathysjp.

    Listbox Ausgabe von Zeilen die nicht 0-100 sind oder diese löschen

    Salut zusammen
    Ich komme irgendwie nicht weiter mit meinem Code.
    Ich habe eine Listbox in der Werte eines Counters drinn sind.
    Eigentlich sollten dort nur Werte 0-100 drinn sein.

    ein Beispiel:
    item0= 8
    item1= 7
    item2= 7
    item3= 100
    item4= 3
    item5= 58
    item6= 3
    item7= 5
    item8= 7
    item9= 13
    usw.

    Nun kann es aber sein das in einem importierten File noch was anderes drinn steht.
    Das würde dann so aussehen:
    item0= 22.11.2011 08:42:37 PBX load recording started. (Just telephony load)
    item1= 8
    item2= 100
    item3= 7
    item4= 5
    item5= 38
    item6= 5
    item7= PBX OFFLINE ...
    item8= 5
    usw.

    Ich habe nun versucht mittels folgendem Code nach diesen Zeilen zusuchen und dies auszugeben.
    (ich verwende die Ausgabe natürlich nur jetz wärend ich den Code probiere um zu sehen ob ich das richtige Item habe. Richtigerweise möchte ich natürlich alle items die nicht 0-100 haben löschen.)


    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. Dim item As String
    3. For Each item In ListBox1.Items
    4. If ListBox1.Items.Item(item).ToString.EndsWith("load)") Then
    5. MessageBox.Show(item.ToString)
    6. End If
    7. Next
    8. End Sub




    Der Code scheitert aber an einer Konvertierung.

    Ich wäre nun auf etwas Hilfe angewiesen die mich entweder mit dem obigen Code weiterbringt oder ev. auch gerade wie ich in einer Listbox alle Items lösche die nicht zwischen 0-100 liegen und maximal 3 Zeichen lang sind.

    Ich bin nicht gerade ein begnadeter Programmierer und habe auch noch nicht so viel Erfahrung. Danke für eure Hilfe.

    Gruss
    Jean-Pierre
    entweder den Wert garnicht erst in die ListBox aufnehmen (Filtern)
    oder wenn schon drin, dann Rückwärts durchlaufen und rauschmeißen.
    nicht vorwärts.

    ' Rausschmeißen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. For i = ListBox1.Items.Count - 1 To 0 Step -1
    3. If Not IsNumeric(ListBox1.Items(i)) Then
    4. ListBox1.Items.RemoveAt(i)
    5. End If
    6. Next
    7. End Sub

    ' garnicht erst rein lassen

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. ListBox1.Items.Clear()
    3. Dim Liste As New List(Of String)
    4. Liste.Add("Hallo ")
    5. Liste.Add("1")
    6. Liste.Add("2")
    7. Liste.Add("3")
    8. For Each Eintrag As String In Liste
    9. If IsNumeric(Eintrag) Then
    10. ListBox1.Items.Add(Eintrag)
    11. End If
    12. Next
    13. End Sub

    Bernd schrieb:

    ' Rausschmeißen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. For i = ListBox1.Items.Count - 1 To 0 Step -1
    3. If Not IsNumeric(ListBox1.Items(i)) Then
    4. ListBox1.Items.RemoveAt(i)
    5. End If
    6. Next
    7. End Sub

    Gott was hab ich heut Morgen an diesem "IsNumeric" herum geknorzt und nun ist es doch die einfachste Lösung.
    Ich danke dir für das Beispiel, dass bringt mich ein gutes Stück voran. Danke.

    Gruss
    Jean-Pierre