[..] ProgressBar supérieur à ..

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Trash
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 27 janv. 2009 20:51
Status : Hors ligne

[..] ProgressBar supérieur à ..

#1

Message par Trash »

Bonjour, j'aimerais savoir combien est le maximum de la progressBar ( en GUI )

Car je fou un InetGetSize pour ensuite le convertir sur ma ProgressBar..Sauf que j'ai mis un GUICtrlSetLimit sur celle ci..
Sauf que la barre se rempli..Puis, elle reste au max.

Y a t'il a moyen de la débrider ou .. Un autre solution ?
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] ProgressBar supérieur à ..

#2

Message par sylvanie »

Et bien la valeur max de remplissage d'une progressbar est de 100, puisque l'unité de remplissage est le pourcentage.

Par contre quel est l'intérêt du GUICtrlSetLimit sur ce type de contrôle ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Trash
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 27 janv. 2009 20:51
Status : Hors ligne

Re: [..] ProgressBar supérieur à ..

#3

Message par Trash »

Non..Ce ne peux pas être 100....

J'arrive a 1000 +
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] ProgressBar supérieur à ..

#4

Message par Iste »

...
GUICtrlSetData
Modifies the data for a control.
GUICtrlSetData ( controlID, data [, default] )
[...]
data : For Progress : percent value
"valeur de pour cent" si on l'en croit Voila Traduction

Revoi ton code, il doit surement y avoir une erreur dans les convertions
Signez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] ProgressBar supérieur à ..

#5

Message par Tlem »

@Trash

Ce que sylvanie à essayé de vous expliquer, c'est qu'un contrôle ProgressBar peut recevoir une valeur allant de 0 à 100.
Si vous lui donnez plus, alors il considèrera que c'est la valeur 100 et donc le remplissage sera complet.
Imaginez votre progressBar divisée en 100 partie égales (de 0 à 100).
Chaque unité représente donc un pourcentage de remplissage.

Après, pour son utilisation, il vous faut faire du calcul.
Si vous voulez gérer ça sur le nombre de fichier, il vous faut connaitre le nombre de fichiers au total, et le convertir pour avoir 100%.
Lors de la copie de ces fichiers, vous ramènerez le nombre de fichiers à la fraction correspondante sur le nombre total ... Hé oui, vous voyez que ce n'est pas si simple. :lol:
Idem si c'est sur la taille des fichiers, et de manière générale, pour tous traitements utilisant la ProgressBar.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Trash
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 27 janv. 2009 20:51
Status : Hors ligne

Re: [..] ProgressBar supérieur à ..

#6

Message par Trash »

Merci Tlem de ta réponses compréhensive !

Mais, imaginons que mon fichier télécharger de Internet fasse 64 000 octet. ( 64 Ko )
Comment faire le calcul pour le réduire à 100 ?

Et sinon, utilisez for $i = 0 to $Bytes step 1 ?
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [..] ProgressBar supérieur à ..

#7

Message par GaRydelaMer »

Bonjour

quant tu télacharge un fichier sur le net, ca dépend de comment tu le fais mais bon on imagine.

Tu récupère la taille du fichier ca va correspondre au 100%
Le téléchargement ce fais par petit bout disons 8192 octets

De la tu calcules combien de bout de 8196 octets il te faut pour atteindre la taille du fichier sachant que la taille totale fait 100%, un bout est égal à la regle de trois.

64 000 -> 100
8 192 -> x

x = 100 x 8 192 / 64 000

Voila
Répondre