Retour d'une variable

Résolu
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 28 janv. 2006 à 15:00
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 28 janv. 2006 à 16:23
Bonjour,

je me demande comment il est possible d'afficher ou en est une action, je m'explique, on voit de partout dans les programmes des ProgressBar afin de montrer a l'utilisateur ou en est un téléchargement ou un transfert de fichier,

mais comment savoir a peu pres ou en est l'action que l'on fait par rapport au total,

ex: si l'on fait
My.Computer.Network.DownloadFile()

comment savoir combien de pour cent ont déja été télécharger par exemple...

et je voudrai pouvoir faire ca pour n'importe quelle action que je rencontre

1 réponse

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 25
28 janv. 2006 à 16:23
Ta question est très vague... d'autant plus que tu ne nous précise pas le langage (et sa version) avec lequel tu programmes (pense-y).

La meilleur technique consiste déjà à faire "le calcul" de manière régulière dans le temps. Donc, on utilise souvent un contrôle Timer.

Mais on ne peut connaître la progression qu'a partir d'un minimum d'informations. Donc, tout dépend de ce que tu utilises! Si c'est un contrôle qui te permet de récupérer des valeurs de progression, c'est parfait, sinon, t'es mal parti!

Dans le cas où l'action s'exécute d'une traite sans jamais rien te demander (i.e. ouverture d'une image énorme), tu ne peux pas faire grand chose si ce n'est, dans certains cas uniquement, faire préalablement un petit test (dans ton programme, pas à part) afin de déterminer approximativement la "vitesse" et de faire une projection dans le temps par rapport à la quantité supputée à traiter. Bref, fait de l'approximatif !

Mais si "l'action" découle d'un processus itératif (une boucle quoi!), rien n'est plus simple à mettre en place puisqu'un simple "compteur" (variable ayant se rôle!!!) suffit à "évaluer" l'avancement. Mais il te faudra sans doute utiliser un "DoEvents"...

Bref, tu trouveras bon nombre d'exemples sur ce site auxquels je te laisse te reporter.

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
3