Listboxitems nacheinander herunterladen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von OneWorld.

    Listboxitems nacheinander herunterladen

    Guten Abend,

    Ich arbeite zurzeit an einem Downloader und wollte der Übersichtlichkeit alle Links in einer Listbox sammeln und nacheinander herunterladen. Nur habe ich ein Problem mit meinem Code.

    Hier mal mein Code:


    VB.NET-Quellcode

    1. Dim WithEvents wc As New Net.WebClient
    2. Dim CounterList As Integer = 0
    3. Dim LinkAmount As Integer
    4. Private Sub Download()
    5. 'CounterList = CounterList + 1
    6. If CounterList > LinkAmount Then
    7. MsgBox("Alles Fertig", MsgBoxStyle.Information)
    8. Else
    9. wc.DownloadFileAsync(New Uri(ListBox1.Items.Item(CounterList)), "C:\Users\Markus\Desktop\" & CounterList.ToString & "test.flv")
    10. End If
    11. End Sub
    12. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    13. LinkAmount = ListBox1.Items.Count - 1
    14. Download()
    15. End Sub
    16. Private Sub wc_DownloadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles wc.DownloadFileCompleted
    17. CounterList = CounterList + 1
    18. Download()
    19. End Sub


    Wenn ich mehr als zwei Links in der Liste habe , wird immer nur eines heruntergeladen. Dann kommt die Meldung, dass alles fertig ist.
    Irgendwie weiß ich grad nicht was da falsch ist. Wahrscheinlich ist es nur ein kleiner Denkfehler.
    Youtube Info Library 2013 jetzt im Showroom.

    OneWorld schrieb:

    Dann kommt die Meldung, dass alles fertig ist.
    Setz einen Haltepunkt in die Download-Prozedur und überzeuge Dich selbst, dass alles so läuft, wie Du Dir das vorstellst. Wenn das Programm was anderes macht als Du glaubst, hast Du einen Fehler gefunden. :D
    --------------------
    Warum lädtst Du sie nicht parallel runter? Gugst Du hier.
    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!
    Vorsicht Pseudocode!

    Quellcode

    1. For each blabla in listbox1.items
    2. download blabla
    3. next

    Abgesehen davon, dass man Objekte nicht aus einer Listbox rauslesen sollte, sondern dafür eine List OF(downloadelement) nehmen sollte, die man mit der Datasource-Eigenschaft an die Listbox bindet.
    Hey RodFromGermany,

    Könntest du mir grad erklären, wie das mit den Haltepunkten geht. Ich habe die noch nie verwendet. zu 2. Weil mein Inet Müll ist :D

    Gruß

    EDIT: der_Kurt Das mit der List of(.....) hatte ich am Anfang gehabt. Ich wollte es wie gesagt nur zum Test machen ;)
    Youtube Info Library 2013 jetzt im Showroom.
    Haltepunkt erstellen tust du, indem du in der relevanten Zeile im Codeeditor ganz links hinklickst, damit da ein roter Kreis erscheint: weblogs.asp.net/blogs/jalpeshp…/BreakPoints_30F10137.png

    OneWorld schrieb:

    Haltepunkte
    Haltepunkt: F9 auf die Zeile, der Progtammlauf wird da unterbrochen.
    Klick auf eien Variable, Shift+F9 - diese wird in einem Dialog angezeigt.
    F10 - 1 Prozedurschritt
    F11 - Schritt in eine Prozedur hinein.
    Sieh Dir an, was das Studio zum Thema Debug sagt:
    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!
    ?( Stimmt das war dumm :D Danke ;) Mal schauen ob sich da was ergibt :thumbup:
    Das mit dem Runterladen funktioniert nun nur die erste Datei kann nicht abgespielt werden. Der Download wird ja eigentlich komplett abgeschlossen und erst im Completed Event wird der neue gestartet. Woran könnte das liegen ?

    Edit by der_Kurt:
    Bitte KEINE Doppelposts. Für Ergänzungen und Änderungen gibt es bei deinem Beitrag die "Bearbeiten"-Funktion.
    Youtube Info Library 2013 jetzt im Showroom.

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