J'ai fai une faute quelque par mes je ses pas ou une petite aide serai la bienve

Good2015 - 22 févr. 2013 à 00:41
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 24 févr. 2013 à 07:47
Bonjour a tous voici le code je suis depuis 3 jour dessus j'ai résolu pas mal de chose mes il a encore une chose que je trouve pas le poids du fichier fonction mes la vitesse de téléchargement ne fonctionne pas es-que ses une faute dent le code enfin voila j'aurai aimer avoir un petit avis dessus merci a d'avance pour toute aide apporter ^^




Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_dl3.Click
Try
Dim Client As WebClient = New WebClient
AddHandler Client.DownloadProgressChanged, AddressOf client_ProgressChanged

AddHandler Client.DownloadFileCompleted, AddressOf client_DownloadCompleted

Client.DownloadFileAsync(New Uri("http://julien.crahay.perso.sfr.fr/Lanceur%20BOII.exe"), "C:\Users\JuJu\Desktop\Lanceur BOII.exe Lanceur.exe")
B_dl3.Text = "Téléchargement en cours..."
B_dl3.Enabled = False
Timer1.Start()
B_dl3.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
pb.Visible = True
B_dl3.Enabled = False
Catch exception1 As Exception

MessageBox.Show("Téléchargement Echoué !")

B_dl3.Text = "Téléchargement Terminé !"

B_dl3.Enabled = False
End Try
End Sub

Private Sub client_ProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
Try
Dim bytesIn As Double = Double.Parse(e.BytesReceived.ToString())
Dim bytesIn3 As Double = bytesIn / 1024
Dim bytesIn2 As Integer = CInt(bytesIn3)
Format(bytesIn2, "#0")

Dim totalBytes As Double = Double.Parse(e.TotalBytesToReceive.ToString())

Dim totalBytes3 As Double = totalBytes / 1024
Dim totalBytes2 As Integer = CInt(totalBytes3)
Format(totalBytes, "#0")

Dim percentage As Double = bytesIn / totalBytes * 100

pb.Value = Int32.Parse(Math.Truncate(percentage).ToString())
Label1.Text = CStr(bytesIn2)
Label3.Text = CStr(totalBytes2)
Catch exception1 As Exception

MessageBox.Show("Téléchargement Echoué !")

B_dl3.Text = "Téléchargement Terminé !"

B_dl3.Enabled = False
End Try
End Sub

Private Sub client_DownloadCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
Try
pb.Value = pb.Minimum
B_dl3.Enabled = True
B_dl3.Text = "Téléchargement Terminé !"

B_dl3.Enabled = False

MessageBox.Show("Téléchargement Terminé !")
Timer1.Stop()
Catch exception1 As Exception

MessageBox.Show("Téléchargement Echoué !")

B_dl3.Text = "Téléchargement Terminé !"

B_dl3.Enabled = False
End Try
End Sub


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Control.CheckForIllegalCrossThreadCalls = False 'n'intercepte pas les erreur inter-thread
End Sub



Private WithEvents Dl As New Download_File
Private SizeFile As Long 'variable pour la taille du fichier
Private StartTime As Long 'variable pour le temps du dl



Private Sub Dl_Debut_Dl(ByVal Taille_Fichier As Long, ByVal resumepos As Long, ByVal Temps_Depart As Long) Handles Dl.Debut_Dl
SizeFile = Taille_Fichier 'stocke la taille du fichier
L_Info.Text = "Debut du dl : Taille du fichier : " & Taille_Fichier.ToString
StartTime = Date.Now.Ticks 'stocke le temps de départ
End Sub

Private Sub Dl_Fin_Dl(ByVal actual_pos As Long) Handles Dl.Fin_Dl
pb.Value = 0 'reinitialise la progressbar
SizeFile = 0 'idem
StartTime = 0 'idem
L_Info.Text = "Telechargement terminé."
End Sub

Private Sub Dl_Progression_Dl(ByVal actual_pos As Long) Handles Dl.Progression_Dl
Try
pb.Value = CInt((actual_pos / SizeFile) * 100) 'etat de la progression du dl
Dim speed As Long = CLng((actual_pos * 10000000) / (DateTime.Now.Ticks - StartTime)) 'calcule de la vitesse
If speed <> 0 Then
Dim TpsEstime As Date
L_Info.Text = "Vitesse : " & ConvertLen(speed) & " Tps estimé : " & CStr(DateAdd(DateInterval.Second, Math.Round((SizeFile - actual_pos) / speed), TpsEstime))
End If
Catch ex As OverflowException
Exit Sub
Catch e As Exception
MsgBox("Erreur fatale : " & e.Message)
End Try
End Sub
Private Function ConvertLen(ByRef fileLen As Long) As String 'fonction pour convertir la vitesse
Dim Resultat As String = ""

If fileLen < 1024 Then Resultat = fileLen & " octets"
If fileLen > 1024 Then Resultat = Math.Round(fileLen / 1024) & " Ko"
If fileLen > 1024000 Then Resultat = Math.Round(fileLen / (1024000), 2) & " Mo"
If fileLen > 1024000000 Then Resultat = Math.Round(fileLen / (1024000000), 2) & " Go"

Return Resultat
End Function

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

End Sub

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click

End Sub
End Class
A voir également:

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 févr. 2013 à 00:58
Salut

Impossible de lire ce genre de code.
Utilise la coloration syntaxique : 3ème icone à droite.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
0
Profil bloqué
22 févr. 2013 à 23:42
Bonjour !

1 ) comme dit Jack
2 ) utilise la ponctuation dans l'énoncé de ton problème
3 ) quel est le problème rencontré
4 ) c'est quoi le poids d'un fichier ?

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
ok ok désoler alors mon projet et de télécharger un fichier a partir de internet avec son poids(mo,ko ect..) et sa vitesse (ko/s) de téléchargement mes quand je lance mon projet j'ai le poids du fichier qui s'affiche correctement le rechargeable et bon aussi mes la vitesse de téléchargement elle ne veux pas apparaitre (désoler d'avance si il manque encore un truc ^^)

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_dl3.Click
        Try
            Dim Client As WebClient = New WebClient
            AddHandler Client.DownloadProgressChanged, AddressOf client_ProgressChanged

            AddHandler Client.DownloadFileCompleted, AddressOf client_DownloadCompleted

            Client.DownloadFileAsync(New Uri("http://julien.crahay.perso.sfr.fr/Lanceur%20BOII.exe"), "C:\Users\JuJu\Desktop\Lanceur BOII.exe Lanceur.exe")
            B_dl3.Text = "Téléchargement en cours..."
            B_dl3.Enabled = False
            Timer1.Start()
            B_dl3.Visible = True
            Label1.Visible = True
            Label2.Visible = True
            Label3.Visible = True
            Label4.Visible = True
            pb.Visible = True
            B_dl3.Enabled = False
        Catch exception1 As Exception

            MessageBox.Show("Téléchargement Echoué !")

            B_dl3.Text = "Téléchargement Terminé !"

            B_dl3.Enabled = False
        End Try
    End Sub

    Private Sub client_ProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
        Try
            Dim bytesIn As Double = Double.Parse(e.BytesReceived.ToString())
            Dim bytesIn3 As Double = bytesIn / 1024
            Dim bytesIn2 As Integer = CInt(bytesIn3)
            Format(bytesIn2, "#0")

            Dim totalBytes As Double = Double.Parse(e.TotalBytesToReceive.ToString())

            Dim totalBytes3 As Double = totalBytes / 1024
            Dim totalBytes2 As Integer = CInt(totalBytes3)
            Format(totalBytes, "#0")

            Dim percentage As Double = bytesIn / totalBytes * 100

            pb.Value = Int32.Parse(Math.Truncate(percentage).ToString())
            Label1.Text = CStr(bytesIn2)
            Label3.Text = CStr(totalBytes2)
        Catch exception1 As Exception

            MessageBox.Show("Téléchargement Echoué !")

            B_dl3.Text = "Téléchargement Terminé !"

            B_dl3.Enabled = False
        End Try
    End Sub

    Private Sub client_DownloadCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
        Try
            pb.Value = pb.Minimum
            B_dl3.Enabled = True
            B_dl3.Text = "Téléchargement Terminé !"

            B_dl3.Enabled = False

            MessageBox.Show("Téléchargement Terminé !")
            Timer1.Stop()
        Catch exception1 As Exception

            MessageBox.Show("Téléchargement Echoué !")

            B_dl3.Text = "Téléchargement Terminé !"

            B_dl3.Enabled = False
        End Try
    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Control.CheckForIllegalCrossThreadCalls = False 'n'intercepte pas les erreur inter-thread
    End Sub

    

    Private WithEvents Dl As New Download_File
    Private SizeFile As Long 'variable pour la taille du fichier
    Private StartTime As Long 'variable pour le temps du dl



    Private Sub Dl_Debut_Dl(ByVal Taille_Fichier As Long, ByVal resumepos As Long, ByVal Temps_Depart As Long) Handles Dl.Debut_Dl
        SizeFile = Taille_Fichier 'stocke la taille du fichier
        L_Info.Text = "Debut du dl : Taille du fichier : " & Taille_Fichier.ToString
        StartTime = Date.Now.Ticks 'stocke le temps de départ
    End Sub

    Private Sub Dl_Fin_Dl(ByVal actual_pos As Long) Handles Dl.Fin_Dl
        pb.Value = 0 'reinitialise la progressbar
        SizeFile = 0 'idem
        StartTime = 0 'idem
        L_Info.Text = "Telechargement terminé."
    End Sub

    Private Sub Dl_Progression_Dl(ByVal actual_pos As Long) Handles Dl.Progression_Dl
        Try
            pb.Value = CInt((actual_pos / SizeFile) * 100) 'etat de la progression du dl
            Dim speed As Long = CLng((actual_pos * 10000000) / (DateTime.Now.Ticks - StartTime)) 'calcule de la vitesse
            If speed <> 0 Then
                Dim TpsEstime As Date
                L_Info.Text = "Vitesse : " & ConvertLen(speed) & " Tps estimé : " & CStr(DateAdd(DateInterval.Second, Math.Round((SizeFile - actual_pos) / speed), TpsEstime))
            End If
        Catch ex As OverflowException
            Exit Sub
        Catch e As Exception
            MsgBox("Erreur fatale : " & e.Message)
        End Try
    End Sub
    Private Function ConvertLen(ByRef fileLen As Long) As String 'fonction pour convertir la vitesse
        Dim Resultat As String = ""

        If fileLen < 1024 Then Resultat = fileLen & " octets"
        If fileLen > 1024 Then Resultat = Math.Round(fileLen / 1024) & " Ko"
        If fileLen > 1024000 Then Resultat = Math.Round(fileLen / (1024000), 2) & " Mo"
        If fileLen > 1024000000 Then Resultat = Math.Round(fileLen / (1024000000), 2) & " Go"

        Return Resultat
    End Function

End Class
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 févr. 2013 à 07:22
Bonjour,
je déplore l'intitulé de ton titre, qui ne révèle pas ta difficulté, mais qui pourrait concerner n'importe quelle difficulté ! Et qui ne facilitera donc aucune recherche ultérieure !
Qu'est une vitesse de téléchargement ? === >>
- 1) elle se constate au fur et à mesure. Et elle varie.
- 2) elle se calcule à chaque instant t ===>> vitesse moyenne en fonction du temps écoulé et du nombre d'octets reçus à l'instant t
Et ma réponse n'a rien à voir avec le développement et tout à voir avec la simple raison (c'est la même que celle que ferait un copilote à son pilote qui lui demanderait, en cours de rallye, à quelle vitesse moyenne ils en sont !).



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut
te l'expliquer comme serai trop compliquer pour moi (désolé) mais si tu veux je peux te montrer par Skype moi ses : mr.gost007 te dire la définition de la vitesse dan le code se calcule a approximative avec un temps d'estimation voila j’espère que tu ma un peux mieux compris (si non bin tempi je serai pas faire mieux extrêmement desoler )
0
Et aussi le titre je savais pas trop quoi mettre désole .
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 févr. 2013 à 18:05
te l'expliquer comme serai trop compliquer pour moi (désolé)

1) Désolé également, mais ce qui est clair dans l'esprit s'exprime toujours clairement et simplement. Si tel n'est pas le cas, qu('en serait-ilm ensuite du développement (bien plus rigoutreux que le langage naturel)
2) Skype n'est pas ce forum, ni, d'ailleurs, un forum de développement, ni même un forum de quoi que ce soit ! Ici, les communications sont faites sur ce forum, au vu et au su de tous (principe même d'un forum technique).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Pourquoi ne pas me dire que tu pas m'aider au lieu de faire un prof de français ^^ en restent poli ! ( je trouve comment supprimer se poste et je le supprime )
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 févr. 2013 à 07:47
1) Je t'ai aidé par mon message du
samedi 23 février 2013 à 07:22:59
,
à relire.?
Le reste est de l'arithmétique, avant d'être du développement (et les deux sont simples).
2) tu me proposes une discussion privée sur skype pour "t'expliquer" ! ==>> je te réponds comme je l'ai fait, persiste et signe ! Un point c'est tout .
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Rejoignez-nous