Aulesen von Quelltextteilen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von s.0.l.4.r.i.s.

    Aulesen von Quelltextteilen

    Hallo..
    Da ich keinerlei Antworten mehr auf mein altes Thema bekomme, poste ich es einfach erneut in der Hoffnung eine Antwort zu bekommen..
    Ich bin momentan dabei eine Art Player für Simfy-Lieder zu schreiben...
    Jedenfalls möchte ich den Namen, Künstler.. in einer ListView anzeigen lassen.. Ich habe leider einen kleinen Fehler in meinem Code, kann ihn aber leider nicht finden und verzweifle mitlerweile.
    Würde mich freuen, wenn mir jemand helfen kann!


    VB.NET-Quellcode

    1. Private Sub cmdSuchen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSuchen.Click
    2. WebBrowser2.Navigate("http://www.google.de/#hl=de&source=hp&q=" + TextBoxsuche.Text & " Simfy" + "&aq=f&aqi=g10&aql=&oq=&gs_rfai=&fp=81443f5e551dfc1c")
    3. While WebBrowser2.ReadyState <> WebBrowserReadyState.Complete
    4. Application.DoEvents()
    5. End While
    6. RichTextBox1.Text = WebBrowser2.Document.Body.OuterText
    7. SendKeys.Send("{Enter}")
    8. End Sub
    9. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    10. Dim ArtistID_Start As Integer = RichTextBox1.Text.IndexOf(" /www.simfy.de/artists/ / ") + 5
    11. Dim ArtistID_Ende As Integer = RichTextBox1.Text.IndexOf("-", ArtistID_Start)
    12. Dim ArtistID As String = RichTextBox1.Text.Substring(ArtistID_Start, ArtistID_Ende - ArtistID_Start)
    13. MsgBox(ArtistID)
    14. ' ListView1.Items.Add(ArtistID)
    15. End Sub


    MFG
    Ich nehme mal an, dass er dir eine ganze Menge Quelltext in die msgbox schreibt...
    ich erledige solche Aufgaben mit InStr() und Mid()
    mit InStr() kannst du eine Position raussuchen (Integer)
    Beispiel:

    VB.NET-Quellcode

    1. ' Code getestet mit vb08
    2. Dim satz As String = "<span class=""album_artist_name"">Pearl Jam</span>"
    3. Dim anfang As Integer
    4. Dim ende As Integer
    5. Dim länge As Integer
    6. Dim Interpret As String
    7. anfang = InStr(satz, "album_artist_name") +19
    8. ende = InStr(satz, "</span>")
    9. länge = ende - anfang
    10. Interpret = Mid(satz, anfang, länge)
    11. ' Ausgabe - > Interpret = Pearl Jam

    mit Mid kannst du, wenn du die Anfangsposition & Länge des Interpretennamen kennst den Teilstring/Interpreten ermitteln.
    genaueres hir:
    vbarchiv.net/commands/cmd_instr.html
    vbarchiv.net/workshop/workshop…z-neu-und-mit-klasse.html

    VB.NET-Quellcode

    1. Dim satz As String = RichTextBox1.Text
    2. Dim anfang As Integer
    3. Dim ende As Integer
    4. Dim länge As Integer
    5. Dim Interpret As String
    6. anfang = InStr(satz, "www.simfy.de/artists/") + 7
    7. ende = InStr(satz, "/")
    8. länge = ende - anfang
    9. Interpret = Mid(satz, anfang, länge)
    10. MessageBox.Show(Interpret)


    Das ist mein aktueller Code. Vb sagt nun, dass ArgumentException wurde nicht behandelt. Das Argument Length muss größer als oder gleich 0 (null) sein.
    Was ist falsch?
    Es müsste doch meinen Künstler in einer MessageBox anzeigen?!
    MFG

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

    Ich dachte du willst den Interpreten von den unterschiedlichen Liedern raussuchen... - momentan durchsuchst du ja die url :D
    du solltest mal den quelltext der website durchsuchen

    wenn dein code funktionieren würde, kommt "artists" raus - das willst du doch nicht, oder ?(

    lg solaris
    Ich möchte, dass ich in meiner TextBox zB.: Marteria eingebe. Dann überprüft das Programm den Quelltext und zeigt Marteria (falls Marteria im Quelltext vorkommt, allerdings nur auf der Simfy Platform) in einer ListView an.

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