Page 1 sur 1
Comment donner une action a une Barre de Progression
Publié : lun. 16/mars/2009 12:55
par John36mx
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.
Publié : lun. 16/mars/2009 13:18
par Kwai chang caine
Bonjour John36mx
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
Publié : mar. 17/mars/2009 12:57
par brossden
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
Publié : mar. 17/mars/2009 13:39
par Kwai chang caine
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

Publié : mar. 17/mars/2009 14:09
par Backup
Kwai chang caine a écrit :
Peut etre cette ligne a changer
par
brossdent a surement la droopy lib d'installé !
car chez moi beep() fonctionne tres bien grace a cette lib

Publié : mar. 17/mars/2009 14:18
par Kwai chang caine
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 ?
Tout nu, le PB, comme a sa naissance et le petit jesus
Et en plus IDE natif comme au debut.....
Debut que j'ai pas bien quitté d'ailleur

Publié : mar. 17/mars/2009 14:25
par Backup
Kwai 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 ?
si ! si ! j'aime bien les lib, au contraire !! ça simplifie énormément le code
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 !!

Publié : mar. 17/mars/2009 18:20
par John36mx
Merci beaucoup de votre aide j'ai enfin reussi grace a vous.
Publié : mar. 17/mars/2009 19:48
par venom
Voici un code de VENOM qui peut deja te metre sur une des nombreuses voies de gestion de progressbar
sa viens de moi sa

je ne m'en souviens même plus
fin si sa peut aidé
@++
Publié : mer. 18/mars/2009 9:46
par Kwai chang caine
sa viens de moi sa je ne m'en souviens même plus
Bah c'est c'est ce que j'avais noté à l'epoque.
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

Publié : mer. 18/mars/2009 11:48
par venom
Ouai c'est possible.
En tout cas si sa viens de moi pas de problème tu peut poster

la preuve tu aurais pu dire que c'est toi qui la fait
@++