[Func] ProgressBar, aller plus loin.

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 14:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Contact :
Status : Hors ligne

[Func] ProgressBar, aller plus loin.

#1

Message par DJSIR » jeu. 01 juil. 2010 11:14

Aujourd'hui, une ProgressBar, c'est ça :
Image
Avec AutoIt, on peux changer de ces barres de progression classiques. Il faut juste ajouter quelques lignes ;)

- "Marquee" :
Image
► Afficher le texteDémarrer
► Afficher le texteArrêter
- "Red", "Yellow", "Green" (seulement sur Windows Vista, Windows Server 2008 et Windows 7)
Image
Image
Image
► Afficher le texteCode
ATTENTION : En Jaune et Rouge, les ProgressBar ne peuvent avancer.

Pensez à vérifier l'OS avec un petit :

Code : Tout sélectionner

If @OSBuild < 6000
Exemple :
► Afficher le texteExemple
Amusez-vous bien ;)
Modifié en dernier par DJSIR le jeu. 01 juil. 2010 17:40, modifié 1 fois.
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin

Avatar du membre
timmalos
Modérateur
Modérateur
Messages : 1970
Enregistré le : dim. 18 mai 2008 14:16
Contact :
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#2

Message par timmalos » jeu. 01 juil. 2010 11:18

Tiens des vieilles fonctions souvenirs;)
Sympa de ta part de les avoir partager avec les autres, tu vois tu arriveras bien à partager tes sources un jour ou l'autre.

Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 14:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Contact :
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#3

Message par DJSIR » jeu. 01 juil. 2010 11:22

J'ai mal au ventre.. :D
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin

Sh4dows
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#4

Message par Sh4dows » jeu. 01 juil. 2010 13:12

Merci DJSIR :wink:
Je ne connaissais pas du tout !

Sh4dows
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#5

Message par Sh4dows » jeu. 01 juil. 2010 16:45

J'ai 2 Vista + 2 Seven + 3 Xp et sur aucun cela ne marche !

Xp c'est normal mais pas les autres. :roll:

J'ai fais ce code Rapidos :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <SendMessage.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Sh4dows", 480, 352, 219, 167)
$R = GUICtrlCreateProgress(16, 40, 449, 25)
$Label1 = GUICtrlCreateLabel("Rouge :", 16, 16, 49, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$J = GUICtrlCreateProgress(14, 107, 449, 25)
$Label2 = GUICtrlCreateLabel("Jaune :", 14, 83, 46, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$V = GUICtrlCreateProgress(16, 172, 449, 25)
$Label3 = GUICtrlCreateLabel("Vert", 16, 148, 27, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$S = GUICtrlCreateProgress(16, 255, 449, 25)
$Label4 = GUICtrlCreateLabel("Normale :", 16, 231, 58, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("Start", 100, 320, 137, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Stop", 250, 320, 137, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

_Progress_Start($R)
_Progress_Start($J)
_Progress_Start($V)
_Progress_Start($S)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            _Progress_Start($R)
            _Progress_Start($J)
            _Progress_Start($V)
            _Progress_Start($S)
    EndSwitch
WEnd

Func _Progress_Start($ProgressBar)
    If $ProgressBar <> $S Then
        ;(1 = Vert, 2 = Rouge, 3 = Jaune)
        GUICtrlSetStyle($ProgressBar,0x040A)
        _SendMessage(GUICtrlGetHandle($ProgressBar), 0x040A, True, 50)
        If $ProgressBar = $R Then
            ;== Rouge ==
            _SendMessage(GUICtrlGetHandle($ProgressBar),0x400 + 16, 2,0)
        ElseIf $ProgressBar = $J Then
            ;== Jaune ==
            _SendMessage(GUICtrlGetHandle($ProgressBar),0x400 + 16, 3,0)
        ElseIf $ProgressBar = $V Then
            ;== Vert ==
            _SendMessage(GUICtrlGetHandle($ProgressBar),0x400 + 16, 1,0)
        EndIf
    Else
        For $i = 1 To 100
            $Msg = GUIGetMsg()
            If $Msg = $Button2 Then
                _Progress_Stop($R)
                _Progress_Stop($J)
                _Progress_Stop($V)
                GUICtrlSetData($ProgressBar, 0)
                ExitLoop
            EndIf
            GUICtrlSetData($ProgressBar, $i)
            Sleep(33)
        Next
    EndIf
EndFunc

Func _Progress_Stop($Progress)
        GUICtrlSetStyle($Progress,0)
        If $Progress = $R Then
            ;== Rouge ==
            _SendMessage(GUICtrlGetHandle($Progress), 0x040A, False, 0)
        ElseIf $Progress = $J Then
            ;== Jaune ==
            _SendMessage(GUICtrlGetHandle($Progress), 0x040A, False, 0)
        ElseIf $Progress = $V Then
            ;== Vert ==
            _SendMessage(GUICtrlGetHandle($Progress), 0x040A, False, 0)
        EndIf
EndFunc
 
Les Progress Rouge et Jaune s'actualisent une fois mais rien d'autre ne se passe !!
Une suggestion ?

Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 14:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Contact :
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#6

Message par DJSIR » jeu. 01 juil. 2010 17:42

Ce code fonctionne parfaitement sur mon 7 :

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <SendMessage.au3>

GUICreate("GUI", 268, 107, 387, 31)
$Progress1 = GUICtrlCreateProgress(8, 8, 254, 17)
$Progress2 = GUICtrlCreateProgress(8, 32, 254, 17)
$Progress3 = GUICtrlCreateProgress(8, 56, 254, 17)
$Progress4 = GUICtrlCreateProgress(8, 80, 254, 17)

GUICtrlSetData($Progress1, 50)
_SendMessage(GUICtrlGetHandle($Progress1),0x400 + 16,1,0)

GUICtrlSetData($Progress2, 50)
_SendMessage(GUICtrlGetHandle($Progress2),0x400 + 16,2,0)

GUICtrlSetData($Progress3, 50)
_SendMessage(GUICtrlGetHandle($Progress3),0x400 + 16,3,0)

GUICtrlSetStyle($Progress4,0x040A)
_SendMessage(GUICtrlGetHandle($Progress4), 0x040A, True, 50)

GUISetState(@SW_SHOW)

While 1
 Sleep(1000)
 WEnd
 
Pour le Jaune et Rouge j'ai précisé dans le premier article qu'on ne pouvait les faire progresser.
J'ai par ailleurs rajouté l'exemple ci-dessus.
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin

Sh4dows
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#7

Message par Sh4dows » jeu. 01 juil. 2010 17:56

Ben oui maintenant sa fonctionne, il fallait le savoir qu'elles ne pouvaient pas progressé :lol:

Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 14:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Contact :
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#8

Message par DJSIR » jeu. 01 juil. 2010 17:57

C'était marqué :P
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin

Sh4dows
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#9

Message par Sh4dows » jeu. 01 juil. 2010 18:05

Oui mais ce n'était pas marqué :P :P

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11312
Enregistré le : ven. 20 juil. 2007 20:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#10

Message par Tlem » jeu. 01 juil. 2010 21:32

Une ProgressBar qui ne progresse pas, ça sert à quoi ?
:lol: :lol: :lol:
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
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 14:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Contact :
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#11

Message par DJSIR » jeu. 01 juil. 2010 21:48

C'est, comme on pourrrais dire, un "State".
une erreur, ou un warning stoppe la progressbar, aucune raison de continuer.
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin

Avatar du membre
pop45
Membre émérite
Membre émérite
Messages : 251
Enregistré le : dim. 30 août 2009 15:18
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#12

Message par pop45 » ven. 02 juil. 2010 07:22

He bien si sa progresse pas suffit te la faire repasser en vert lui donner la position que l'on souhaite puis la remettre de la couleur souhaiter!
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.

Sh4dows
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#13

Message par Sh4dows » mar. 06 juil. 2010 20:44

J'ai essayé sa marche pas pop45 !
C'est le truc qui sert vraiment à rien :lol:

Avatar du membre
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 09:15
Contact :
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#14

Message par GELDROC » mar. 03 août 2010 09:35

ce que @DJSIR voulais surement vous dire est que

on crée au départ une Bar en Vert puis ci ils y a une erreur ou autre EX:(un téléchargement) on la mes en rouge puis on arrête le téléchargement.


Donc conclusion cela ne sert pas a rien !

Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 14:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Contact :
Status : Hors ligne

Re: [Func] ProgressBar, aller plus loin.

#15

Message par DJSIR » mar. 03 août 2010 12:45

GELDROC a écrit :ce que @DJSIR voulais surement vous dire est que
on crée au départ une Bar en Vert puis ci ils y a une erreur ou autre EX:(un téléchargement) on la mes en rouge puis on arrête le téléchargement.
:D
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin

Répondre