ListView laden fehler

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von .NET Fr3akY.

    ListView laden fehler

    hi leute
    hab ein problem..

    ich hab ein programm gemacht mit dem ich verschiedene profile anlegen kann und diese dann laden kann.
    das ganze wird in einer textdatei gespeichert.

    nur komme ich beim auslesen nicht weiter =/

    hier mein code:

    VB.NET-Quellcode

    1. Private Sub loadprofiledata()
    2. For Each profile As String In IO.File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\iDevice App Installer\data\profiles.dat").Split("#")
    3. Dim profilename As String = profile.Split("|")(0).ToString
    4. Dim profileip As String = profile.Split("|")(1).ToString
    5. Dim profilepw As String = profile.Split("|")(2).ToString
    6. Dim profileidevicetype As String = profile.Split("|")(3).ToString
    7. Dim item As New ListViewItem() With {.Text = profilename}
    8. item.SubItems.Add(profileip)
    9. item.SubItems.Add(profilepw)
    10. item.SubItems.Add(profileidevicetype)
    11. ListView1.Items.Add(item)
    12. Next
    13. End Sub


    Jedes mal wenn ich dann die sub starten will kommt
    Fehler der Index war außerhalb des bereichs -.-

    Der Aufbau der .txt sieht so aus:

    |Testprofilname|192.168.2.123|passwort123|Apple iPod Touch#

    als trennzeichen zwischen den profilen nehme ich bis jetzt das zeichen #
    aber irgendwie will das ganze nicht klappen =(

    hoffe mir kann jemand helfen :)

    thx


    EDIT:
    es funktioniert jetzt aber wie kann ich in der schleife überprüfen ob der eintrag also das profil schon in der listview existiert, weil ich denke daran leigt der fehler ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „.NET Fr3akY“ ()

    Räume zunächst Deinen Code etwas auf.
    Ruf nur einmal die Split-Funktion auf und werte dann das Feld aus:

    VB.NET-Quellcode

    1. Dim profileLine As String = "|Testprofilname|192.168.2.123|passwort123|Apple iPod Touch#"
    2. Dim profile() As String = profileLine.Split("|"c)
    3. Dim item As New ListViewItem()
    4. item.SubItems.Add(profile(1))
    5. item.SubItems.Add(profile(2))
    6. item.SubItems.Add(profile(3))
    7. ListView1.Items.Add(item)

    Wenn Deine Daten alle mit einem "|" anfangen, ist das Element mit Index 0 stets leer.
    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!