V1.5 : inet et barre de progression

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 737 fois - Téléchargée 42 fois

Contenu du snippet

Pas mal de monde cherche ca...
J'éspère que sa servira à bcp de monde !

V 1.5 :
- Etat de la connection Inet
- Téléchargement en Inet avec une barre de progression
- Test l'existance du fichier ( v1.5 )

Il vous faut :
- 1 Protocole Inet -> Inet1
- 1 CommandButton -> Command1
- 1 Label -> etat
- 1 ProgressBar -> ProgressBar1

Prévu :
- V 2.0 -> Vitesse de Dl + Temps restant de DL + Detection de la taille automatique !
- V 3.0 -> Resuming !!! Reprendre le dl la ou il s'est arreter !
- V 4.0 -> A vous de me dire :)

Source / Exemple :


Dim sizetotal As String
Dim sizedl As String
Dim filelocal As String
Dim fileserver As String
Public Function Fichier_Existe(Path As String) As Boolean
If Dir(Path) = "" Then
        Fichier_Existe = False
Else
        Fichier_Existe = True
End If
End Function
Private Sub Command1_Click()
sizetotal = "81536858"       ' Taille du fichier sur le ftp ( en octet )
ProgressBar1.Max = "100"
ProgressBar1.min = "0"
filelocal = "C:\FocomDemo.exe"   'Adresse du fichier sur le DD
fileserver = "demos/pc/FocomDemo.exe" 'Adresse du fichier sur le FTP
With Inet1
     .URL = "ftp://ftp.lucasarts.com"
     .UserName = "anonymous"
     .Password = "anonymous"
     .Execute , "GET " & fileserver & " " & filelocal
End With
Do While Inet1.StillExecuting
If Fichier_Existe(filelocal) = True Then
sizedl = FileLen(filelocal)
ProgressBar1.Value = (sizedl * ProgressBar1.Max) / sizetotal
Else
ProgressBar1.Value = "0"
End If
DoEvents
Loop
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Select Case State
Case 1
etat.Caption = "Recherche l' IP de l'ordinateur hôte."
Case 2
etat.Caption = "IP de l'ordinateur hôte spécifié."
Case 3
etat.Caption = "En cours de connexion avec l'ordinateur hôte."
Case 4
etat.Caption = "La connexion avec l'ordinateur hôte est réussie."
Case 5
etat.Caption = "Envoie une demande à l'ordinateur hôte."
Case 6
etat.Caption = "La demande a été envoyé  avec succès."
Case 7
etat.Caption = "Reçoit une réponse de l'ordinateur hôte."
Case 8
etat.Caption = "Contacte avec l'ordinateur hôte réussi."
Case 9
etat.Caption = "En cours de déconnexion avec l'ordinateur hôte."
Case 10
etat.Caption = "La déconnexion avec l'ordinateur hôte est réussie."
End Select

If State = 11 Then
MsgBox "Erreur"
End If
If State = 12 Then
MsgBox "Transfert : OK"
End If
End Sub

Conclusion :


Merci a vous tous et à cette communtée !

A voir également

Ajouter un commentaire

Commentaires

cs_Sator2
Messages postés
137
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
10 septembre 2006
-
salut tous le monde, un truc bizard m'arrive... quand j'essaie de le copier ailleur que le chemin : "C:\ " il ne me le copie pas... quelqu'un sait-il pourquoi????
@+ Sator
cs_Tioneb
Messages postés
193
Date d'inscription
dimanche 16 décembre 2001
Statut
Membre
Dernière intervention
29 juillet 2015
-
Voici la fonction qui permet de récupérer la taille d'un fichier (le controle inet passe par le protocole http donc bien le paramétrer.

Public Function Taille(URL As String) As Long
Dim StrHeader
StrHeader = ""
Inet1.URL = URL
Inet1.Execute , "GET"
'Fait patienter le control Inet jusqu'a ce qu'il
'ait terminé ses taches
While Inet1.StillExecuting
DoEvents
Wend
'Cherche la taille
StrHeader = Inet1.GetHeader("Content-Length")
Taille = Val(StrHeader)
End Function
pcpunch
Messages postés
1247
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
18 février 2019
3 -
non le truc c d utiliser la commande size de inet!!! sinon ce code ser a rien!!!!!!!!! voila mon code :
Download avec progressbar : http://www.vbfrance.com/article.aspx?Val=8628
Upload avec progressbar : http://www.vbfrance.com/article.aspx?Val=8629
cs_Pof
Messages postés
78
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
7 février 2006
-
pour la taille du fichier ya un truk ché plu komen avec les headers kan tenvoies une requete...
cs_NeoEsteban
Messages postés
7
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
4 juin 2014
-
Ce code serai vraiment sympathique et utile si il pouvait déterminer la taille du fichier à l'avance ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.