Vitesse de telechargement!

Programmation d'applications complexes
lazy
Messages : 21
Inscription : dim. 28/mars/2004 17:19

Vitesse de telechargement!

Message par lazy »

Voila apres avoir resolu mon ancien post, j'en refait un nouveau parce que ca n'as cas-y pu rien avoir avec :D
J'ai essayer de comprend ce que "Le soldat inconnu" avait essayer d'expliké a Oliv pour le calcul de vitesse mais j'ai pas compris:(
Qq1 pour me faire une tite demo pour calculé la vitesse de telechargement de mon client ftp! :D
Ca m'aiderais aussi (je crois) a faire avancé ma barre de progression :)

Merci
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

C'est normal car tu n'utilises pas les commandes PB pour ton client FTP mais l'API windows. Moi ce que je fais c'est que je regarde la taille du fichier toutes les 3 secondes avec un timer et que je divise la différence entre l'ancienne taille et la nouvelle par 3.
lazy
Messages : 21
Inscription : dim. 28/mars/2004 17:19

Message par lazy »

Pq tu t'es retirer de mes contacts? :( c'est pas gentil ca!
Et tu serai m'expliqué comment tu a fait :D
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

ben c'est pas compliqué

- tu notes le temps au début du téléchargement
- tu commences ton téléchargement
- 1)
- tu regardes le temps écoulé (diff entre le temps actuel et le temps du début)
- tu mets le temps de début au temps actuel
- tu regardes le nombre d'octect téléchargé pendant le laps de temps
- tu divise octects/temps pour avoir la vitesse de téléchargement
- retour en 1) si téléchargement pas finis, sinon, on continue le code

Pour avoir le temps actuel : ElapsedMilisecond()
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
lazy
Messages : 21
Inscription : dim. 28/mars/2004 17:19

Message par lazy »

Merci Soldat, je vais essayer de faire ca :D mais comment je sais quand le telechargement est fini ... parce ke j'utilise un API
(FTPGetFile_(hConnect,Source,Dest,0,0,0,0))
Enfaite la logique je l'ai , mais je sais pas comment faire la boucle pour ca... :( et je sais pas non pu quand ca fini de telecharger...
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

qu'est-ce que tu peux récupérer comme info au cours du téléchargement ?
tu peux savoir ou en est le téléchargement (en octects), ta taille du fichier, etc... ? dis moi
je me suis jamais penché la dessus alors je ne sais pas
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Les contacts de quoi ?
Pour ce que tu veux, en passant par les API le seul moyen et de regarder la taille du fichier avec GetFileSize()
lazy
Messages : 21
Inscription : dim. 28/mars/2004 17:19

Message par lazy »

Ben au faite je voudrais savoir comment on fait pour créé un boucle qui va tourné juste pdt le telechargement du fichier... car ca je ne sais pas comment on fait!

et dans cette boucle faudrais que je recuperer toute les 2 sec la taille de mon fichier, et comme ca je peux savoir a du combien je telecharge :D
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Utilise un timer qui appelle une fonction toutes les deux secondes, et fais in KillTimer() quand ton ficher est téléchargé

Ca devrait donner un truc comme ça:

Code : Tout sélectionner

Procedure TimerProc()
Tu récupères la taille de ton fichier ici
If la taille téléchargée = La taille totale
  KillTimer(hWnd,1)
  Procedurereturn
Endif
EndProcedure

SetTimer_(hWnd,1,2000,@TimerProc())
lazy
Messages : 21
Inscription : dim. 28/mars/2004 17:19

Message par lazy »

Merci, Et heu tu connais pas une autre fonction que : GetFileSize_() pour voir la taille d'un fichier car, cette fonction me renvoi tjs -1 meme quand le fichier est completement telecharger :(

Donc je fais des boucles infini a cause de ca :D
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Non, désolé, mais le ftp c'est pas trop mon truc :(
lazy
Messages : 21
Inscription : dim. 28/mars/2004 17:19

Message par lazy »

Merci quand meme pour ton aide ;)
Mais c pas pour le ftp que je demande ca, c'est pour un fichier local, sur le hdd :D Enfin si tu connais pas ,c'est pas grave je continue mes recherche :D

Parce que j'arrive pas a trouvé la taille d'un fichier qui est entrin de se telecharger :( , il me trouve la taille du fichier que a la fin du telechargement

C'est bon j'avais oublier la commande FileSize() :d
Répondre