[Ex] Exemples de ProgressBar

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

[Ex] Exemples de ProgressBar

#1

Message par Tlem »

Voici quelques exemples de progressBar glaner ici et là.

Je les ait regroupées dans une archive Zip ci-jointe.

Ajout d'une version plus récente des scripts (pour AutoIt v3.3.2.0).
Fichiers joints
ProgressBar.rar
Version pour AutoIt 3.3.2.0
(4.42 Kio) Téléchargé 2057 fois
ProgressBar.zip
(4.45 Kio) Téléchargé 2675 fois
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é".
Greenhorn
Niveau 2
Niveau 2
Messages : 25
Enregistré le : sam. 19 avr. 2008 02:16
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#2

Message par Greenhorn »

Wow, great work, Thierry !

Very useful functions, thank you. :lol:

I have also made a ProgressBar, but with Bitmaps.
The core I found at the english forum, but it was not really finished, so I did it ... :roll:

The files are attached to this post.


Greetz
Greenhorn
Fichiers joints
ProgressBarBitmap.zip
(251.62 Kio) Téléchargé 1665 fois
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#3

Message par Tlem »

@Greenhorn Very nice ProgressBar, I love it too.
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é".
Greenhorn
Niveau 2
Niveau 2
Messages : 25
Enregistré le : sam. 19 avr. 2008 02:16
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#4

Message par Greenhorn »

Thx ;)

Also nice is the following script, using the GDI+ ...
(found http://www.autoitscript.com/forum/index ... t&p=483195)
► Afficher le texte
But it includes at least 15.000 lines of code :shock:


Greetz
Greenhorn
Modifié en dernier par Tlem le sam. 13 déc. 2008 11:00, modifié 4 fois.
Raison : Mise à jour pour AutoIt 3.2.12.1
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#5

Message par Tlem »

Voici une nouvelle version (qui date de 2008 quand même :lol: ) crée par ProgAndy.

Voici le lien du forum Anglais : Progressbar with GDIplus

Mais au cas ou, je rajoute son UDF et l'exemple à ce message. ;)
Fichiers joints
gdipprogress.zip
(15.96 Kio) Téléchargé 889 fois
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é".
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#6

Message par Tlem »

J'ai vu fleurir récemment, des demandes pour afficher une ProgressBar sur une opération, dont le temps ne peut être déterminé.
Pour cela, la solution la plus simple, c'est de faire une barre de progression qui "tourne en boucle".
Bon, ce n'est plus réellement une barre de progression dans ce cas, mais au moins il y à quelque chose qui bouge et qui montre que l'application n'est pas plantée. :mrgreen:

Le plus gros problème avec une ProgressBar, c'est d'inclure son code dans le code des fonctions et/ou boucles du code principal.

Afin de rendre l'intégration d'une barre de progression dans un code, plus facile, je me suis dit qu'il serait bien de faire cela par fonction, mais sans que celle-ci ne bloque le reste du code. ^^

La solution : AdlibRegister !!!

Pour illustrer cela, vous trouverez ci-dessous l'exemple d'une des barres de progression présenté dans le premier message, modifiée et adaptée pour une intégration rapide et simple.

Vous constaterez que la boucle principale n'a pas beaucoup d’intérêt, mais elle est comme ça, pour vous montrer comment la fonction interagit avec celle-ci.
Fichiers joints
MyProgressBar.au3
(2.55 Kio) Téléchargé 961 fois
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é".
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#7

Message par timmalos »

Vous pouvez également faire comme ceci : (Marche sous vista/seven, a confirmer sous XP)

Code : Tout sélectionner

#include <ProgressConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

GUICreate("", 520, 100, -1, -1)
$Progress = GUICtrlCreateProgress(10, 30, 500, 30, $PBS_MARQUEE)
GUICtrlSendMsg($Progress, 0x0400 + 10, 1, Number(30))
GUISetState(@SW_SHOW)

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit

 EndSwitch
WEnd
Qui permet d'afficher une barre de progression qui fait des allez-retour comme sous Windows.

Have fun !
Modifié en dernier par Tlem le sam. 03 sept. 2011 09:51, modifié 1 fois.
Raison : Ajout complément code
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#8

Message par Tlem »

Très juste.
Je viens d'éditer ton code pour donner l'exemple complet.
Je confirme le fonctionnement sous XP, par contre la barre va de gauche à droite continuellement !

L'avantage de gérer le contrôle de cette manière, c'est que même lors du déplacement de la GUI, la barre fonctionne.
Ce qui n'est pas toujours le cas. ^^
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é".
ludoo
Niveau 4
Niveau 4
Messages : 89
Enregistré le : lun. 11 août 2008 09:25
Localisation : Drôme 26
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#9

Message par ludoo »

bonjour,
comment faire pour arrêter le progress bar sans fermer la fenêtre .
► Afficher le texte
Ludo
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#10

Message par mikell »

Tlem a écrit :Je confirme le fonctionnement sous XP
Heu sur mon XP SP3 x86 ça marche pas, la barre s'affiche mais reste vide :?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#11

Message par Tlem »

J'ai moi aussi XP SP3 x86 et sur mon poste et ça fonctionne.

Edit :
  • Windows 98 Se (VirtualPC) => Non supporté par les dernières version de AutoIt. :roll:
  • Windows 2000 x86 (VirtualPC) => Ne fonctionne pas (pas de curseur défilant)
  • XP SP2 x86 (VirtualPC)=> Fonctionne
  • XP SP2 x86 En (VirtualPC)=> Fonctionne
  • XP SP3 x86 (VirtualBox) => Fonctionne
  • Micro XP SP3 x86 v0.82 En(VirtualBox) => Fonctionne
  • Windows Seven x86 (VirtualBox) => Fonctionne
  • Windows Seven SP1 x86 (VirtualBox) => Fonctionne
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é".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [Ex] Exemples de ProgressBar

#12

Message par mikell »

Tlem a écrit :J'ai moi aussi XP SP3 x86 et sur mon poste et ça fonctionne.
Edit :
    C'est fou ce que ça me console :?
    Je ne doute pas du script, j'aimerais juste comprendre pourquoi sur mon XP ça ne marche pas

    BTW dans : GUICtrlSendMsg($Progress, 0x0400+10, 1, Number(30)) c'est pour quoi le "1" ?
    " L'échec est le fondement de la réussite. " (Lao-Tseu )
    " Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
    Avatar du membre
    Tlem
    Site Admin
    Site Admin
    Messages : 11773
    Enregistré le : ven. 20 juil. 2007 21:00
    Localisation : Bordeaux
    Status : Hors ligne

    Re: [Ex] Exemples de ProgressBar

    #13

    Message par Tlem »

    Même si ca ne donne pas la réponse en clair, cela peut aider : http://msdn.microsoft.com/en-us/library ... 85%29.aspx

    :mrgreen:
    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é".
    Avatar du membre
    mikell
    Spammer !
    Spammer !
    Messages : 6292
    Enregistré le : dim. 29 mai 2011 17:32
    Localisation : Deep Cévennes
    Status : Hors ligne

    Re: [Ex] Exemples de ProgressBar

    #14

    Message par mikell »

    Ah il voulait se payer ma tête le boss, n'empêche que son lien m'a donné la réponse :wink:
    (version trop ancienne de comctl32.dll)
    Mais vu le bord&l pour actualiser cette dll je préfère faire une croix sur ce script :?
    " L'échec est le fondement de la réussite. " (Lao-Tseu )
    " Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
    Avatar du membre
    Tlem
    Site Admin
    Site Admin
    Messages : 11773
    Enregistré le : ven. 20 juil. 2007 21:00
    Localisation : Bordeaux
    Status : Hors ligne

    Re: [Ex] Exemples de ProgressBar

    #15

    Message par Tlem »

    mikell a écrit :Ah il voulait se payer ma tête le boss
    Que nenni. J'ai juste cherché une réponse et trouvé ce lien qui donnait quelques explications et autres liens permettant de trouver une réponse ! :o
    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é".
    ludoo
    Niveau 4
    Niveau 4
    Messages : 89
    Enregistré le : lun. 11 août 2008 09:25
    Localisation : Drôme 26
    Status : Hors ligne

    Re: [Ex] Exemples de ProgressBar

    #16

    Message par ludoo »

    Bonjour,
    merci pour la piste et merci pour le partage du script :D
    mettre 0 à la place du 1
    et après changer la couleur de la progressBar
    ► Afficher le texte
    Ludo
    Avatar du membre
    Nicoloquinte
    Niveau 4
    Niveau 4
    Messages : 70
    Enregistré le : ven. 15 juil. 2016 11:57
    Status : Hors ligne

    Re: [Ex] Exemples de ProgressBar

    #17

    Message par Nicoloquinte »

    Bonjour :D

    Vous avez un exemple pour mettre une ProgressBar dans une Barre de statut :mrgreen:

    merci :D
    Nico ¤_¤
    Avatar du membre
    Nicoloquinte
    Niveau 4
    Niveau 4
    Messages : 70
    Enregistré le : ven. 15 juil. 2016 11:57
    Status : Hors ligne

    Re: [Ex] Exemples de ProgressBar

    #18

    Message par Nicoloquinte »

    Je croit qu'en fait , il faut juste mettre une progressBar bien positionée :mrgreen:

    Edit :
    J'ai réussi avec :
    $StatusBar1 = _GUICtrlStatusBar_Create($GamepadTest)
    $progress = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH)
    _GUICtrlStatusBar_EmbedControl($StatusBar1, 1, GUICtrlGetHandle($progress))
    Nico ¤_¤
    Répondre