Download von Dateien mit Anzeige der Dateinnamen in einer Textbox ( Brauche Hilfe ! )

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von lordknoblauch.

    Download von Dateien mit Anzeige der Dateinnamen in einer Textbox ( Brauche Hilfe ! )

    Moin Moin ,

    (Sorry für Doppelpost :C )

    Ich habe ein kleines Problem :
    Ich wüsste gerne wie das geht (bzw. wie heißt das) das in einer Textbox angezeigt wird welche Dateien gerade
    heruntergeladen werden z.Bsp: (2.Bild, denkt euch bitte das statt " Extract" "Download" dort steht :D)

    (Warum : Ich habe einen Updater/Downloader programmiert, eine ProgressBar zeigt an wie weit der Download schon ist
    und ein Label zeigt die bereits heruntergeladenen Bytes/KB/MB an zudem zeigt das Label auch noch an wie viel
    Bytes/KB/MB noch bevor stehen siehe Bsp :

    Und jetzt wüsste ich gerne wie ich das auf die Reihe bekomme
    das die einzelnen Dateien so wie in dem 2.Bild (unten)
    so schön untereinander Dargestellt werden

    (Projektmappe als Anhang verfügbar)


    Code : ( ProgressBar1,label1,savefiledialog1 müssen zur Form hinzugefügt werden )

    Dies ist im Moment nur ein Downloader da es das 2. Programm wo er eingebunden wird noch nicht gibt !



    VB.NET-Quellcode

    1. Imports System.Net
    2. Public Class Form1
    3. Private WithEvents httpclient As WebClient
    4. Dim Pfad As String = Nothing
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. Me.Hide()
    7. ShowDialog:
    8. SaveFileDialog1.InitialDirectory = "C:\Desktop"
    9. SaveFileDialog1.FileName = "Wallpaper.jpg"
    10. SaveFileDialog1.ShowDialog()
    11. If SaveFileDialog1.FileName = Nothing Then
    12. GoTo ShowDialog
    13. End If
    14. Pfad = SaveFileDialog1.FileName
    15. Try
    16. httpclient = New WebClient
    17. Me.Show()
    18. Dim URL As String = "http://basti14.bplaced.net/Wallpaper.jpg"
    19. Application.DoEvents()
    20. httpclient.DownloadFileAsync(New Uri(URL), Pfad)
    21. Application.DoEvents()
    22. Catch ex As Exception
    23. MsgBox("Es ist folgender Fehler aufgetreten: " & vbNewLine & ex.ToString, MsgBoxStyle.Critical, "Es ist ein Fehler aufgetreten !")
    24. End
    25. End Try
    26. End Sub
    27. Private Sub httpclient_DownloadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles httpclient.DownloadFileCompleted
    28. MsgBox("Die aktuelle Version wurde im angegebenen Verzeichnis gespeichert", MsgBoxStyle.Information, " Download completed !")
    29. End
    30. End Sub
    31. Private Sub httpclient_DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Handles httpclient.DownloadProgressChanged
    32. Me.ProgressBar1.Value = e.ProgressPercentage
    33. Dim totalbytes As Double = e.TotalBytesToReceive / 1024 / 1024
    34. Dim bytes As Double = e.BytesReceived / 1024 / 1024
    35. Me.Label1.Text = bytes & " MB von " & totalbytes & " MB "
    36. End Sub
    37. End Class


    Ich würde mich sehr über ein Code + Tutorial (Ich will es auch verstehen :D ) freuen !



    Download : Shell32.dll
    Download : Layout.jpg
    ...


    Ich würde mich sehr über eine/ mehrere Antworten freuen ! <3



    PS: Falls ein Moderator das sieht könnte er bitte meinen 1. Post löschen, oder

    mir sagen wie ich meine eigenen Posts löschen kann.

    Danke :)
    Dateien
    • Updater.zip

      (85,59 kB, 196 mal heruntergeladen, zuletzt: )

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

    Ich will hier nur kurz Sagen, dass du 1. Die Farbe Rot nicht verweden darfst.
    Und 2. keine .exe als Anhang hinzufügen darfst, solande die Projektmappe nicht beiliegt.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Du weißt doch die Download-URL der Datei und da kannst einfach den Dateinamen mit angeben?!
    Wo ist das Problem?

    Du fängst an zu laden -> Datei fertig -> nächste Datei -> fertig

    Jedesmal wenn anfängst die Datei zu laden, ließt du den Dateinamen aus.

    Und bitte lass das Application.DoEvents draußen und arbeite mit .NET Funktionen, sprich Events.
    Der WebClient hat genug davon, die du benutzen solltest:)