Comment donner une action a une Barre de Progression

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
John36mx
Messages : 33
Inscription : dim. 01/févr./2009 12:32

Comment donner une action a une Barre de Progression

Message 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.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message 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 :wink:

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
brossden
Messages : 821
Inscription : lun. 26/janv./2004 14:37

Message 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
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bonjour mon canard, content de te relire :D
Dis donc ton sablier y ressemble a un thermometre :lol:

Peut etre cette ligne a changer :roll:

Code : Tout sélectionner

Beep(500,500) 
par

Code : Tout sélectionner

Beep_(500,500) 
Autrement cool, je le garde pour cet été....j'serais sur qu'il fera chaud :wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Kwai chang caine a écrit : Peut etre cette ligne a changer :roll:

Code : Tout sélectionner

Beep(500,500) 
par

Code : Tout sélectionner

Beep_(500,500) 
brossdent a surement la droopy lib d'installé !

car chez moi beep() fonctionne tres bien grace a cette lib ;)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message 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 ? :roll:

Tout nu, le PB, comme a sa naissance et le petit jesus :D
Et en plus IDE natif comme au debut.....
Debut que j'ai pas bien quitté d'ailleur :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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 ? :roll:
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 !! :D
John36mx
Messages : 33
Inscription : dim. 01/févr./2009 12:32

Message par John36mx »

Merci beaucoup de votre aide j'ai enfin reussi grace a vous.
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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 8O je ne m'en souviens même plus :lol:
fin si sa peut aidé :wink:






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message 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 :oops:
Y'a longtemps que maintenant je le fait comme ça j'ai les preuves :lol:

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 :roll:

Donc en principe et sauf avis contraire....c'est à toi :D
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

Ouai c'est possible.
En tout cas si sa viens de moi pas de problème tu peut poster :D la preuve tu aurais pu dire que c'est toi qui la fait :)






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Répondre