AdvancedDownloadClient 1.1.0 [Einfacher Gehts Nicht]

    • Beta

    Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Snickbrack.

      AdvancedDownloadClient 1.1.0 [Einfacher Gehts Nicht]



      Beschreibung:
      Jeder kennt es, man will einen Downloader in sein Programm einbauen, der das Pausieren und wieder Fortsetzen von Downloads unterstützt. Leider
      Kann der Webclient Aus dem System.Net NameSpace das nicht, dafür aber diese Library. Downloadgeschwindigkeit, Restzeit des Downloads und vieles mehr lassen sich
      innerhalb von 10 Zeilen Code Realisieren.

      - Option Strict On
      - Reiner Vb.net Code

      Screenshot(s):


      Nutzung:
      Spoiler anzeigen

      Ersteinmal muss die Library Importiert werden :

      VB.NET-Quellcode

      1. Imports AdvancedDownloadClient

      Nun muss der Downloader selbst noch Deklariert werden :

      VB.NET-Quellcode

      1. WithEvents Downloader As DownloadClient

      Wichtig ---> Bevor Ihr den Downloader verwenden könnt müsst Ihr Ihn so Deklarieren :

      VB.NET-Quellcode

      1. Downloader = new DownloadClient(Me) 'Hier müsst Ihr ein Control angeben, auf dem der Thread ausgelagert wird

      Eine Datei wird so Heruntergeladen :

      VB.NET-Quellcode

      1. Downloader.DownloadFileAsync(New Uri("URL"),"Datei Pfad")

      Den Download könnt ihr so Pausieren :

      VB.NET-Quellcode

      1. Downloader.PauseAsync()

      Fortsetzen des Download geht So:

      VB.NET-Quellcode

      1. Downloader.ResumeAsync()

      Falls ihr den Download ganz Abbrechen wollt müsst Ihr diesen Sub aufrufen :

      VB.NET-Quellcode

      1. Downloader.DeleteFileWhenCancelled = True 'Soll die Datei Nach dem Abbrechen gelöscht werden ?
      2. Downloader.CancelAsync()

      Um die Download Informationen anzuzeigen, müsst Ihr In das DownloadProgessChanged Event:

      VB.NET-Quellcode

      1. Private Sub Downloader_DownloadProgessChanged(sender As Object, e As FileDownloadProgressChangedEventArgs) Handles Downloader.DownloadProgessChanged
      2. Dim BC As New AdvancedDownloadClient.ByteConverter(ByteConverter.ConvertType.Automatically) 'Ein Konverter Um die Bytes in GB, MB, Kb umzurechnen
      3. lblBytesreceived.Text = BC.ConvertBytes(e.BytesReceived) 'BytesReceived sind Die Erhaltenen Bytes
      4. lblBytesToreceived.Text = BC.ConvertBytes(e.TotalBytesToReceive) 'TotalBytesToReceive sind Die insgesamten Bytes die heruntergeladen werden müssen
      5. lblSpeed.Text = BC.ConvertBytes(e.DownloadSpeedBytesPerSec) & "/s" 'DownloadSpeedBytesPerSec Downloadgeschwndigkeit --> Bytes Pro Sekunde
      6. TimeRemaining.Text = e.RemainingTime.ToString 'RemainingTime Ist ein Timespan der angibt Wie Lange der Download noch dauert
      7. TimeElapsed.Text = e.ElapsedTime.ToString 'ElapsedTime Ist ein Timespan der angibt Wie lange der Download noch Läuft
      8. ProgressBar1.Value = e.ProgressPercentage 'Und ProgressPercentage ist Der Download - Fortschrittsprozentsatz
      9. End Sub


      Und noch das Event ob der Download Abgeschlossen ist :

      VB.NET-Quellcode

      1. Private Sub Downloader_DownloadFileComplete(sender As Object, e As FileDownloadCompletedEventArgs) Handles Downloader.DownloadFileComplete
      2. If e.Cancelled = False Then 'Wurde Der Download Abbgrbrochen oder Ist er wirklich fertig ?
      3. MessageBox.Show("Download Abgeschlossen!")
      4. End If
      5. End Sub



      ChangeLog :
      Spoiler anzeigen


      V 1.1.0 :
      - Proxy Einstellungen hinzugefügt
      - Online - Credentials Einstellbar
      - Headers können geändert werden




      Verwendete Programmiersprache und IDE:
      Visual Basic .NET (IDE: VB 2012 Für Desktop)

      Systemanforderungen:
      .NET Framework 3.5



      Download:
      Dll Im Anhang (32,0 KB)
      Beispielprojekt(102 KB)

      Lizenz/Weitergabe:
      -Freeware
      -Einkompilierung Erlaubt

      Bei Fragen oder Vorschläge Bitte Melden ^^

      Mit Freundlichen Grüßen Tibiamicus
      Dateien

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Tibiamicus“ ()

      Version 1.1.0
      Die Version 1.1.0 ist nun da, jetzt ist es möglich die Proxy Einstellungen des DownloadClients zu ändern, Netzwerkanmeldeinformation zu übermittel und
      die Header für das Downloaden einzustellen :

      Neue Eigenschaften :

      VB.NET-Quellcode

      1. Proxy - IWebProxy
      2. Credentials -ICredentials
      3. Headers - WebHeaderCollection


      Mit freundlichen Grüßen Tibiamicus
      1) Steht bei der Form oben dieser Titel, oder kann man den einstellen?

      2) Mir persöhnlich gefällt das Design von MAC-OS nicht so gut, wie wäre es mit mindestens auch noch dem Standart Windowsdesign?

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

      @3Angle: Das ist ja nur nen Beispielprojekt, du bindest ja nur die Lib selber ein.
      #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 :!:

      Neu

      Jefferson schrieb:

      Coole Idee, aber sowohl bei deinem Bsp Projekt, als auch bei meinem, geht er direkt ohne Download in das Downloader_DownloadFileComplete Event.
      ( ZIP Download via HTTP ) :(


      Hast du die Datei in einem Passwort geschützten Bereich?
      Hast du den Download irgendwie abgebrochen?
      Hast du Internet?
      Was steht denn in den FileDownloadProgressChangedEventArgs, also e?