kostenloser Webspace werbefrei: lima-city


Problem mit WebDownloader in Visual Basic

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    fabipht

    fabipht hat kostenlosen Webspace.

    Ich habe ein kleines Problem:
    Ich habe einen WebDownloader mit VisualBasic entwickelt, alles perfekt, doch nun:
    Eigentlich wollte ich wie die anderen Downloadmanager noch eine Speedanzeige!?
    Wie kann ich dies machen Timer oder so?? Helft mir!
    THX
    bb
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Dazu müsstest du erstmal noch ein paar Informationen liefern, z.B.
    VB Version? Mit .NET Framework?
    Welche Klasse, API etc. hast du verwendet um die Dateien herunterzuladen?
    Wenn du mit Streams arbeitest, kannst du doch einfach die bisher geschriebene Stream-Größe abfragen. Die Größe der gesamten Datei kann man im Voraus auslesen lassen.
  4. Autor dieses Themas

    fabipht

    fabipht hat kostenlosen Webspace.

    Am besten hier mal mein Quelltext aus der Form1:

    Imports System.Net
    Public Class Form1
        Private WithEvents httpclient As webclient
    
    
        Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim save As New SaveFileDialog
            save.Title = ("Downloaded")
            save.ShowDialog()
            TextBox2.Text = save.FileName
        End Sub
    
        Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            httpclient = New WebClient
            Dim SourceURL = TextBox1.Text
            Dim filedir = TextBox2.Text
            ProgressBar1.Value = 0
            ProgressBar1.Maximum = 100
            Try
                httpclient.DownloadFileAsync(New Uri(SourceURL), (filedir))
            Catch ex As Exception
                MsgBox("Fehler! Der Angegebende DLD Link konnte nicht geöffnet werden! Eventuell hast du dich vertippt oder einen veralteten Link! Versuche es erneut. Fehler Code 404 (Support)" + ErrorToString(), MsgBoxStyle.Critical)
    
            End Try
    
            Button1.Enabled = False
            Button7.Enabled = True
    
    
        End Sub
    
        Private Sub httpclient_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles httpclient.DownloadFileCompleted
            MsgBox("Der Download ist nun komplett fertiggestellt! Viel Spaß noch mit Downloaded by FabiP!" + ErrorToString(), MsgBoxStyle.OkOnly)
            Button1.Enabled = True
            Button7.Enabled = False
        End Sub
    
        Private Sub httpclient_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles httpclient.DownloadProgressChanged
            ProgressBar1.Value = e.ProgressPercentage
            Dim Totalbytes As Long = e.TotalBytesToReceive / 1024
            Dim mTotalbytes As Long = Totalbytes / 1024
    
            Dim bytes As Long = e.BytesReceived / 1024
            Dim mbytes As Long = bytes / 1024
    
            If Totalbytes < 1 Then Totalbytes = 1
            If bytes < 1 Then bytes = 1
    
            If Totalbytes > 1024 Then Totalbytes = 1
    
            Label1.Text = bytes.ToString & " KB von " & Totalbytes.ToString & " KB"
    
            Label1.Text = mbytes.ToString & " MB von " & mTotalbytes.ToString & " MB"
    
        End Sub
    
        Private Sub Button6_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button6.Click
            Form2.Show()
        End Sub
    
        Private Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
            Form3.Show()
        End Sub
    
        Private Sub Button5_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button5.Click
            Form5.Show()
        End Sub
    
        Private Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click
            Form4.Show()
        End Sub
    
        Private Sub Timer1_Disposed(ByVal sender As Object, ByVal e As System.EventArgs)
    
        End Sub
    
        Private Sub Button7_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button7.Click
            httpclient = New WebClient
            Dim SourceURL = TextBox1.Text
            Dim filedir = TextBox2.Text
            ProgressBar1.Value = 0
            ProgressBar1.Maximum = 100
    
            Button1.Enabled = True
        End Sub
    End Class


    Ich verwende NET.Framework 3.5
    und Visual Basic 2008 Express Edition mit dem SP 1!

    mfG
    bb

    Beitrag zuletzt geändert: 12.8.2009 19:27:30 von fabipht
  5. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Du willst ja anzeigen, wie viel Bit pro Sekunde heruntergeladen wurden, dazu kannst du z.B. einen Timer einfügen, der jede Sekunde die bereits heruntergeladene Dateigröße festhält. Dann kannst du den Downloadspeed so anzeigen: (Größe2 - Größe1) / s
  6. Autor dieses Themas

    fabipht

    fabipht hat kostenlosen Webspace.

    eben das ist ja mein problem! ich weis nicht wie man das macht!
    könntest du mir den quelltext posten, so dass ich ihn nur noch einsetzen muss?
    danke
    bb
    mfg

    EDIT//::// Problem hat sich gelöst! Danke nochmals! Ich habe mich verlesen =)

    bb mfg fabian

    Beitrag zuletzt geändert: 13.8.2009 11:05:39 von fabipht
  7. Ich hab da was für dich:

    als erstes machst du ne globale var (ganz oben eine zeile unter "class")
    Dim OldFileSize As Integer = 0


    dann fügst du diese funktion hinzu:
    Private Function GetDownRate(TargetFile As String) As Interger
        Dim NewFileSize As Integer = My.Computer.FileSystem.GetFileInfo(TargetFile).Length
        Dim DownRate As Integer = NewFileSize - OldFileSize
    
        OldFileSize = NewFileSize
        Return DownRate
    End Function


    hoffe ich konte dir helfen!

    schreib mir wenn du probleme hast...
    ich programmier seit über 3 jahren. :wink:
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!