misteriöse Fehler

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Load-soft.ch.vu.

    misteriöse Fehler

    Hey,
    Ich habe ein kleines Programm geschrieben es funktioniert auch so weit aber das Programm soll prüfen ob bla (Ein Item der List was die Funktion Findhrefs zurückgibt) das gleiche wie eine Zeile von das was in einer txtdatei steht (sburls)
    Hier mein Code:

    Visual Basic-Quellcode

    1. Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
    2. Do
    3. Try
    4. For Each addressen In URLS
    5. Dim qlltxt As String
    6. qlltxt = Look(addressen)
    7. Label2.Text = "Liest gerade " & addressen & " aus!" & vbNewLine & subitem
    8. SubURLS.Clear()
    9. For Each Findlinks In FindHrefs(qlltxt)
    10. Dim uris() As String = File.ReadAllText(sburls).Split(vbCrLf)
    11. For Each Item In uris
    12. If Item = Findlinks Then
    13. vorhanden = True
    14. End If
    15. Next
    16. If Not vorhanden = True Then
    17. If Findlinks.EndsWith("/") Then
    18. Findlinks = Findlinks.Remove(bla.Length - 1, 1)
    19. End If
    20. If Findlinks.Contains("www.") Then
    21. Findlinks = Findlinks.Replace("www.", Nothing)
    22. End If
    23. If Not Findlinks.Contains("http://") Then
    24. Findlinks = "http://" & Findlinks
    25. End If
    26. allurls.Add(Findlinks)
    27. SubURLS.Add(Findlinks)
    28. ListBox1.Items.Add(Findlinks)
    29. File.AppendAllText(sburls, vbNewLine & Findlinks)
    30. subitem = vbNewLine & Findlinks & " wurde gerade hinzugefügt!"
    31. Label2.Text = "Liest gerade " & addressen & " aus!" & vbNewLine & subitem
    32. durchsucht += 1
    33. Label1.Text = durchsucht.Tostring
    34. End If
    35. vorhanden = False
    36. Next
    37. Next
    38. Hinzufügen()
    39. Catch ex As Exception
    40. MsgBox(ex.Message)
    41. End Try
    42. Loop
    43. End Sub

    Aber er nimmt immer noch doppelte Items auf, leider.
    Weiß einer wie das passieren kann?
    Ich bin voll am verzweifeln.
    (er gibt kein Fehler aus)
    Freue mich über antworten
    mfg
    load soft

    Edit:
    Achja wegen dem Titel sry was besseres fällt mir echt nicht ein.

    Thema verschoben und bitte anständigen Titel wählen. MfG gs93

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

    P mal daumen würd ich sagen, dass du einen Logikfehler machst (eig sogar 2):

    erstens: Du entfernst bei allen urls das www - Einige Seiten sind aber nur mit www erreichbar. -> ungut.

    zweitens: du vergleichst ob der "gefundene" Link in der Txt ist, und veränderst ihn vor dem speichern...

    du findest: google.de

    du schaust in deiner txt - da ist nur google.de drin

    -> Speichern. Du veränderst nun hier :

    Visual Basic-Quellcode

    1. If Findlinks.EndsWith("/") Then
    2. Findlinks = Findlinks.Remove(bla.Length - 1, 1)
    3. End If
    4. If Findlinks.Contains("www.") Then
    5. Findlinks = Findlinks.Replace("www.", Nothing)
    6. End If
    7. If Not Findlinks.Contains("http://") Then
    8. Findlinks = "http://" & Findlinks
    9. End If


    das gefundene google.de wieder zu google.de - das gibts nun zwei mal.

    im nächsten durchlauf wo google.de gefunden wird, passiert das gleiche.

    grüße,
    dognose
    Mhh mit den speichenr und www hattest du recht aber er speichert immer noch doppelte Links.
    Aber es kann eigentlich nicht sein dass eine Seite mit www. erreichbar ist aber nicht mit http:// weil www. ist die eigentliche Subdomain.