Comment donner une action a une Barre de Progression
Comment donner une action a une Barre de Progression
Bonjour,
Je cherche le codage pour donner une action a une barre de progression.
J'aimerais que quand je clique sur mon bouton ma barre de progression défile.
Merci de votre aide.
Je cherche le codage pour donner une action a une barre de progression.
J'aimerais que quand je clique sur mon bouton ma barre de progression défile.
Merci de votre aide.
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Bonjour John36mx
Voici un code de VENOM qui peut deja te metre sur une des nombreuses voies de gestion de progressbar
Voici un code de VENOM qui peut deja te metre sur une des nombreuses voies de gestion de progressbar

Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#ProgressBar_0
#Button_0
EndEnumeration
If OpenWindow(#Window_0, 216, 0, 319, 85, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Window_0))
ProgressBarGadget(#ProgressBar_0, 10, 10, 300, 15, 0, 100)
ButtonGadget(#Button_0, 115, 40, 90, 25, "lancer")
EndIf
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
Beep_(1000, 100)
SetGadgetState(#ProgressBar_0, 10)
Delay(500)
Beep_(1000, 100)
SetGadgetState(#ProgressBar_0, 35)
Delay(100)
Beep_(1000, 100)
SetGadgetState(#ProgressBar_0, 48)
Delay(1000)
Beep_(1000, 100)
SetGadgetState(#ProgressBar_0, 64)
Delay(100)
Beep_(1000, 100)
SetGadgetState(#ProgressBar_0, 88)
Delay(800)
Beep_(4000, 100)
SetGadgetState(#ProgressBar_0, 100)
Delay(800)
End
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
Un petit Sablier
Code : Tout sélectionner
Enumeration
#Window_0 : #ProgressBar_0 : #Button_0 : #Button_1 : #Text_0 : #String_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 353, 98, 210, 300, "Sablier", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ProgressBarGadget(#ProgressBar_0, 85, 10, 20, 230, 0, 100, #PB_ProgressBar_Vertical |#PB_ProgressBar_Smooth)
ButtonGadget(#Button_0, 10, 250, 70, 30, "Go")
ButtonGadget(#Button_1, 110, 250, 70, 30, "Stop")
StringGadget(#String_0, 110, 120, 40, 20, "4", #PB_String_Numeric)
TextGadget(#Text_0,154,124,60,20,"Secondes")
EndIf
EndIf
EndProcedure
Procedure Regen(x)
time = ElapsedMilliseconds()
Duree = Val(GetGadgetText(#String_0))*1000
Repeat
Resultat = (ElapsedMilliseconds()-time)*100/Duree
SetGadgetState(#ProgressBar_0,Resultat)
Delay(10)
Until Resultat=100
Beep(500,500)
End
EndProcedure
Open_Window_0()
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
GadgetID = EventGadget() ; Is it a gadget event?
If Event = #PB_Event_Gadget
If GadgetID = #Button_0
Thr = CreateThread(@Regen(),0)
ElseIf GadgetID = #Button_1
KillThread(Thr)
SetGadgetState(#ProgressBar_0,0)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
Denis
Bonne Jounée à tous
Bonne Jounée à tous
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Bonjour mon canard, content de te relire
Dis donc ton sablier y ressemble a un thermometre
Peut etre cette ligne a changer
par
Autrement cool, je le garde pour cet été....j'serais sur qu'il fera chaud 

Dis donc ton sablier y ressemble a un thermometre

Peut etre cette ligne a changer

Code : Tout sélectionner
Beep(500,500)
Code : Tout sélectionner
Beep_(500,500)

brossdent a surement la droopy lib d'installé !Kwai chang caine a écrit : Peut etre cette ligne a changer
parCode : Tout sélectionner
Beep(500,500)
Code : Tout sélectionner
Beep_(500,500)
car chez moi beep() fonctionne tres bien grace a cette lib

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
si ! si ! j'aime bien les lib, au contraire !! ça simplifie énormément le codeKwai chang caine a écrit :Merci pour l'info DOBRO
Ok, parce que comme chez moi, j'ai aucune lib.
J'croyais que t'etais pas trop lib non plus ?![]()

par contre je déplore le fait de ne pas disposer des sources
parce que j'ai toujours peur que le créateur d'une tres belle lib
disparaisse , et donc le portage de la lib pour des versions future de purebasic, s'arrete !!
mais bon je comprends qu'on veuille garder son travail "privé"
perso j'utilise les libs, avec parcimonie, pour simplifier mon code, et pour ne pas réinventer l'eau chaude ...

je suis a fond pour les libs, et pour moi celles dont on dispose du code
sont des libs en or !!

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Bah c'est c'est ce que j'avais noté à l'epoque.sa viens de moi sa je ne m'en souviens même plus
J'avais pas noté le lien, car a cette epoque, je ne le faisait pas

Y'a longtemps que maintenant je le fait comme ça j'ai les preuves

Maintenant, quand je copie un code et que la personne ne dit pas qu'elle l'a pris a quelqu'un d'autre, je note ce code comme a elle

Donc en principe et sauf avis contraire....c'est à toi
