[..] Continuer le script avec la progress-bar

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Kaplan
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 juin 2014 07:59
Localisation : Rennes
Status : Hors ligne

[..] Continuer le script avec la progress-bar

#1

Message par Kaplan »

Bonjour,

Je me suis inspiré de l'un des exemples glanés sur le forum pour créer une progress-bar sans fin.
Le problème est que je ne parviens pas à trouver le moyen de faire continuer l'exécution du script pendant que la progress-bar continue de tourner. Elle boucle à l'infini sans que le traitement se poursuive.
En fin de traitement, j'ai tenté d'introduire un évênement ($mess) destiné à interrompre le processus mais encore faudrait-il que le script s'exécute.

J'ai tenté de rechercher par moi-même sur le forum mais je n'ai pas su trouver la solution adaptée. :cry:
J'apprécierais un petit coup de pouce.

Merci par avance.

PS : j'ai allégé l'extrait de code pour le rendre plus lisible ...
► Afficher le texte
« Le remède à l'ennui, c'est la curiosité. La curiosité elle, est sans remède. »
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Continuer le script avec la progress-bar

#2

Message par Sea »

Met tes AdlibRegister("_SliderRight", 30) en dehors de ta boucle car en gros ici a chaque fois tu à ta boucles tu dis, Toute les 30ms à partir de maintenant tu va m'exécuter la fonction "_SliderRight".

Et après quelques conseils pour la lisibilité de ton code.
Rajoute une fonction updateProgress qui va t'update ta progression de ta barre (juste la gestion de la GUI) et rajoute une fonction d'écriture de log ;)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Continuer le script avec la progress-bar

#3

Message par jguinch »

Tu as aussi le style $PBS_MARQUEE qui peut être sympa :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Kaplan
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 juin 2014 07:59
Localisation : Rennes
Status : Hors ligne

Re: [..] Continuer le script avec la progress-bar

#4

Message par Kaplan »

Merci à jguinch et à Sea pour les réponses. :D
J'avais déjà essayé le style $PBS_MARQUEE mais je ne parviens pas à modifier la couleur verte de la barre de défilement. J'ai cru lire que cela était impossible. Par ailleurs, je préférais une barre aux contours nets qui fait des allers-retours.

En ce qui concerne le déplacement de AdlibRegister en dehors de la boucle cela me parait difficile dans la situation suivante :

Code : Tout sélectionner

Construction de la GUI
While 1
      While 1
      WEnd
AdlibRegister
traitement des données
Wend
Fonctions
 
En bref, je ne vois pas où le déplacer. :?
Je vais creuser la piste de l'updateprogress

A suivre ...
« Le remède à l'ennui, c'est la curiosité. La curiosité elle, est sans remède. »
Avatar du membre
TomAijerrie
Niveau 5
Niveau 5
Messages : 192
Enregistré le : lun. 02 juin 2014 09:55
Localisation : Lyon
Status : Hors ligne

Re: [..] Continuer le script avec la progress-bar

#5

Message par TomAijerrie »

Kaplan a écrit :...mais je ne parviens pas à modifier la couleur verte de la barre de défilement. J'ai cru lire que cela était impossible. Par ailleurs, je préférais une barre aux contours nets qui fait des allers-retours.
Extrait de Autoit Help, guictrlsetcolor() :
"Checkbox, Radio, Group or Progress controls cannot be painted if the "Windows XP/Vista style" is used."

En gros, on ne peut pas colorier la barre de progression si le style XP ou Vista est utilisé

:!: Ne pas confondre style et OS :
on peut être sur Seven (par exemple) et avoir un style antérieur
(Panneau de configuration/paramètres d'affichage/thèmes)

Pour le défilement de la barre, je te propose quelquechose comme ça :
► Afficher le texte
Il faudrait que tu fournisses un code plus complet car je n'ai toujours pas compris si ton script est plutôt ludique ou au contraire très sérieux.

J’espère t'avoir aidé.
Avatar du membre
Kaplan
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 juin 2014 07:59
Localisation : Rennes
Status : Hors ligne

Re: [..] Continuer le script avec la progress-bar

#6

Message par Kaplan »

:) Merci pour cette belle barre de progression qui correspond mieux à mon souhait.
Mon code a été posté dans un message plus haut. Je m'en sers dans mon travail.
Je me pose la question de l'intégration de la barre de défilement dans le code étant donné que j'ai déjà essayé sans succès dans mon précédent code.
La fin du RunWait pourrait marquer le moment d'interrompre la barre de défilement mais cette dernière tourne en boucle :? sans que je parvienne à l'arrêter comme si elle bloquait l'exécution du code.
« Le remède à l'ennui, c'est la curiosité. La curiosité elle, est sans remède. »
Avatar du membre
TomAijerrie
Niveau 5
Niveau 5
Messages : 192
Enregistré le : lun. 02 juin 2014 09:55
Localisation : Lyon
Status : Hors ligne

Re: [..] Continuer le script avec la progress-bar

#7

Message par TomAijerrie »

En effet, comme ça elle bloque le code.

Dans ton code, on a :

Code : Tout sélectionner

Creation de la GUI
Boucle For...To...
Next
Appel d'une autre boucle For ... To ... Next
Appel de la boucle précédente et ainsi de suite jusqu'à l'appel de la fonction endscript avec la touche echap
Il faudrait plutôt déclarer une variable de progression en mode Gobal, et faire bouger la progressbar en fonction de la valeur de cette variable. Tu peux aussi ajouter une variable Globale pour indiquer le sens de deplacement de la progressbar.

Au lieu d'ajouter la fonction _mess(), met au début de ta fonction de déplacement de la progressbar

Code : Tout sélectionner

If $mess = 1 then
      GUICtrlDelete($ab)
      GUICtrlDelete($ba)
      return
EndIf
Répondre