Download mit Progressbar und MB Anzeige

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von sumary93.

    Download mit Progressbar und MB Anzeige

    Hey liebe Leutzz :)

    habe Aktuell ein Großes Problem ^^

    VB.NET-Quellcode

    1. Imports System.Net
    2. Public Class version322
    3. Private Const targetURL = "http://download.thinkbroadband.com/1GB.zip"
    4. Private Const targetFile = "C:/1GB.zip"
    5. Private WithEvents wc As New Net.WebClient()
    6. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles buttondwonload.Click
    7. wc.DownloadFileAsync(New Uri(targetURL), targetFile)
    8. buttoncancel.Enabled = wc.IsBusy
    9. buttondwonload.Enabled = Not wc.IsBusy
    10. End Sub
    11. Private Sub wc_UploadProgressChanged(sender As Object, e As UploadProgressChangedEventArgs) Handles wc.UploadProgressChanged
    12. DownloadProgress.Value = e.ProgressPercentage
    13. labelbytes.Text = BytesToString(e.BytesReceived) & " / " & BytesToString(e.TotalBytesToReceive)
    14. End Sub
    15. Private Async Sub buttoncancel_Click(sender As Object, e As EventArgs) Handles buttoncancel.Click
    16. wc.CancelAsync()
    17. Await Task.Delay(2000)
    18. labelbytes.Text = "? / ? "
    19. If IO.File.Exists(targetFile) Then IO.File.Delete(targetFile)
    20. buttoncancel.Enabled = wc.IsBusy
    21. buttoncancel.Enabled = Not wc.IsBusy
    22. End Sub
    23. Private Sub version322_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
    24. If wc.IsBusy Then wc.CancelAsync()
    25. End Sub
    26. Private Sub version322_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    27. End Sub
    28. End Class




    Irgendiwe passiert aber nichts sobald ich auf den Downloadbutton klicke ^^

    ist der Code vlt. Falsch ?

    Wäre erfreut über Hilfe :)

    Verschoben. ~Trade
    Bilder
    • devenv_2018-09-13_06-00-14.png

      86,22 kB, 1.901×930, 26 mal angesehen

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

    Setze mal nen Haltepunt und führe Schrittweise deinen Code aus. Prüfe dabei, ob alles seinen korrekten Wert hat. Das „nichts“ passiert ist relativ unwarscheinlich.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Hey

    Danke für deine Antwort.

    Aber ich kann einen Fehler irgendwie Entdecken :/

    hier kannst du es dir das Video Anschauen ->> drive.google.com/file/d/14jC6G…suIYzPK/view?usp=drivesdk

    Du kannst dir das Programm auch gerne selbst einmal anschauen ->> *bitte keine EXE-Dateien posten*


    Mfg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Dein Titel lautet "Download mit Progressbar und MB Anzeige", aber Du arbeitest mit "Handles wc.UploadProgressChanged". Ich hoffe, dass der Fehler nun schnell zu beseitigen ist.

    btw: Ein Link zu ner EXE-Datei wird hier wahrscheinlich keiner freiwillig anklicken (wollen). Bitte weg damit, wir haben ja den SourceCode.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    nein leider sagt mir dies grade nichts ich hatte es auch mal mit wc.DownloadProgressChanged probiert aber genauso wenig erfolg :/

    wo ist denn da der Fehler ?

    Mfg



    VB.NET-Quellcode

    1. ​Imports System.Net
    2. Public Class version322
    3. Private Const targetURL = "http://download.thinkbroadband.com/1GB.zip"
    4. Private Const targetFile = "C:/Downloads/1GB.zip"
    5. Private WithEvents wc As New Net.WebClient()
    6. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles buttondwonload.Click
    7. wc.DownloadFileAsync(New Uri(targetURL), targetFile)
    8. buttoncancel.Enabled = wc.IsBusy
    9. buttondwonload.Enabled = Not wc.IsBusy
    10. End Sub
    11. Private Async Sub buttoncancel_Click(sender As Object, e As EventArgs) Handles buttoncancel.Click
    12. wc.CancelAsync()
    13. Await Task.Delay(2000)
    14. labelbytes.Text = "? / ? "
    15. If IO.File.Exists(targetFile) Then IO.File.Delete(targetFile)
    16. buttoncancel.Enabled = wc.IsBusy
    17. buttoncancel.Enabled = Not wc.IsBusy
    18. End Sub
    19. Private Sub wc_DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Handles wc.DownloadProgressChanged
    20. DownloadProgress.Value = e.ProgressPercentage
    21. labelbytes.Text = BytesToString(e.BytesReceived) & " / " & BytesToString(e.TotalBytesToReceive)
    22. End Sub
    23. Private Sub version322_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
    24. If wc.IsBusy Then wc.CancelAsync()
    25. End Sub
    26. Private Sub version322_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    27. End Sub
    28. End Class
    Probiere folgende Sachen:
    1. Stelle sicher, dass die Zieldatei wirklich geschrieben werden kann. Ich kann nicht in C:\ schreiben, also habe mein 2t-Laufwerk (D:\) als Ziel genommen.
    2. Nutze erstmal eine kleine Datei, bevor Du ein Gig (das suggeriert zumindest der Dateiname) runterlädst. Erst wenn kleine Dateien gehen, solltest Du Dich (langsam) hocharbeiten.

    Folgendes funktioniert (bei mir):

    VB.NET-Quellcode

    1. Imports System.Net
    2. Public Class version322
    3. Private Const targetURL = "https://www.w3.org/TR/PNG/iso_8859-1.txt"
    4. Private Const targetFile = "D:/1GB.zip"
    5. Private WithEvents wc As New Net.WebClient()
    6. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles buttondwonload.Click
    7. wc.DownloadFileAsync(New Uri(targetURL), targetFile)
    8. buttoncancel.Enabled = wc.IsBusy
    9. buttondwonload.Enabled = Not wc.IsBusy
    10. End Sub
    11. Private Sub wc_UploadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Handles wc.DownloadProgressChanged
    12. DownloadProgress.Value = e.ProgressPercentage
    13. labelbytes.Text = e.BytesReceived & " / " & e.TotalBytesToReceive
    14. End Sub
    15. Private Async Sub buttoncancel_Click(sender As Object, e As EventArgs) Handles buttoncancel.Click
    16. wc.CancelAsync()
    17. Await Threading.Tasks.Task.Delay(2000)
    18. If IO.File.Exists(targetFile) Then IO.File.Delete(targetFile)
    19. buttoncancel.Enabled = wc.IsBusy
    20. buttoncancel.Enabled = Not wc.IsBusy
    21. End Sub
    22. Private Sub version322_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
    23. If wc.IsBusy Then wc.CancelAsync()
    24. End Sub
    25. Private Sub version322_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    26. End Sub
    27. End Class
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Vollzitat entfernt. ~Trade

    Ich muss echt mal sagen es Funktioniert mit einem Mal endlich *-*

    Mir ist auch aufgefallen das ein paar Codezeilen weniger da stehen ^^ war es jetzt nur der Fehler das er auf C: nicht schreiben konnte ?

    Ich danke dir vielmals du hast mir sehr geholfen :)

    Mfg

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

    Mit der „Math“ Klasse und den zugehörigen Methoden kann man Zahlen runden.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @sumary93 Bitte unterlasse das vollständige Zitieren eines Posts, wenn er direkt über Dir steht. Stattdessen kannst Du die @-Schreibweise benutzen mit @'User'.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: