Mit Hilfe der System.Net.WebClient Klasse lässt sich eine Datei aus dem Internet sehr einfach asynchros downloaden und dabei auch noch der aktuelle Fortschritt anzeigen. Erstellen Sie ein neues Windows-Forms Projekt, platzieren auf die Form ein ProgressBar-Control (ProgressBar1), sowie ein Label (lblProgress) und einen Button (Button1). Imports System.Net Public Class Form1 ' WebClient für Datei-Download Private WithEvents httpClient As WebClient ' Datei-Download starten Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Fortschrittsanzeige zurücksetzen lblProgress.Text = "0 KB" ProgressBar1.Value = 0 ProgressBar1.Maximum = 100 ' Neue Instanz der WebClient-Klasse erstellen httpClient = New WebClient ' URL der Datei (hier die vollständige URL eintragen) Dim sURL As String = "http://www..." ' Ziel-Datei (lokal) Dim sLocalFile As String = "d:\temp\myFile.exe" Button1.Enabled = False Try ' Download asynchros starten, damit wir den Fortschritt ' anzeigen können httpClient.DownloadFileAsync(New Uri(sURL), sLocalFile) lblProgress.Visible = True ProgressBar1.Visible = True Catch ex As Exception MsgBox("Fehler!" & vbCrLf & ex.Message, MsgBoxStyle.Exclamation) Button1.Enabled = True End Try End Sub ' Download beendet Private Sub httpClient_DownloadFileCompleted(ByVal sender As Object, _ ByVal e As System.ComponentModel.AsyncCompletedEventArgs) _ Handles httpClient.DownloadFileCompleted MsgBox("Download erfolgreich durchgeführt", MsgBoxStyle.Information) ProgressBar1.Visible = False lblProgress.Visible = False Button1.Enabled = True End Sub ' Fortschrittsanzeige Private Sub httpClient_DownloadProgressChanged(ByVal sender As Object, _ ByVal e As System.Net.DownloadProgressChangedEventArgs) _ Handles httpClient.DownloadProgressChanged With ProgressBar1 ' prozentuale Anzeige des Fortschritts in der ProgressBar .Value = e.ProgressPercentage ' KB-Fortschrittanzeige im Label Dim TotalBytes As Long = e.TotalBytesToReceive / 1024 Dim Bytes As Long = e.BytesReceived / 1024 If TotalBytes < 1 Then TotalBytes = 1 If Bytes < 1 Then Bytes = 1 lblProgress.Text = Bytes.ToString & " KB von " & TotalBytes.ToString & " KB" End With End Sub End Class Dieser Tipp wurde bereits 16.223 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |