| |
VB.NET - Ein- und UmsteigerSehr langsamer Download mit Backgroundworker bitte um Hilfe | | | Autor: bluedead | Datum: 25.03.11 00:49 |
| m.IO
Imports System.Net
Imports System.ComponentModel
Public Class Form1
Dim watch As Long
Private th As BackgroundWorker
Dim speed1 As Long = 0
Dim speed2 As Long = 0
Dim Temp As String = Environment.GetEnvironmentVariable("Temp")
Dim Patcherver As String = "1.0"
Dim MyPfad As String = Path.GetDirectoryName(Application.ExecutablePath)
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call DownloadItem("http://****************/************/test/filesizes.txt", "filesizes.txt", Temp)
Me.ProgressBar1.Value = 0
th.RunWorkerAsync()
Timer1.Enabled = True
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Form2.Show()
th = New BackgroundWorker
AddHandler th.DoWork, AddressOf th_DoWork
AddHandler th.RunWorkerCompleted, AddressOf th_Completed
AddHandler th.ProgressChanged, AddressOf th_ProgressChanged
th.WorkerReportsProgress = True
th.WorkerSupportsCancellation = True
End Sub
Private Sub DownloadItem(ByVal sURL As String, _
ByVal strFile As String, ByVal strFolder As String)
Dim webreq As HttpWebRequest
Dim webresp As HttpWebResponse
Dim bReader As BinaryReader
Dim bWriter As BinaryWriter
Dim stream As FileStream
Dim buffer() As Byte = New Byte(1024) {}
Dim bytesRead As Integer
' Fortschritt zunächst auf 0% setzen
Me.ProgressBar1.Value = 0
Try
' Datei-Download via HTTP "anfordern"
webreq = HttpWebRequest.Create(sURL)
webresp = webreq.GetResponse
' Download-Größe
Me.ProgressBar1.Maximum = webresp.ContentLength
' lokale Datei öffnen
stream = New FileStream(strFolder & "\" & strFile, FileMode.Create)
bReader = New BinaryReader(webresp.GetResponseStream)
bWriter = New BinaryWriter(stream)
Do
bytesRead = bReader.Read(buffer, 0, 1024)
bWriter.Write(buffer, 0, bytesRead)
ProgressBar1.Value += bytesRead
ProgressBar1.Update()
End If
Loop Until bytesRead = 0
' alle Dateien schließen
bWriter.Close()
bReader.Close()
stream.Close()
Catch ex As Exception
' Bei Fehler...
MessageBox.Show("Fehler: " & vbCrLf & ex.Message, _
"Fehler", MessageBoxButtons.OK, _
MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
End Try
End Sub | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
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.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|