Page 1 sur 1

TrackBarGadget et nombres [RESOLU]

Publié : jeu. 26/mai/2011 10:43
par MetalOS
Salut tous le monde,

Pour un projet que je vient de commencer j'aimerais utiliser un TrackBarGadget() pour faire augmenter une valeur contenue dans un StringGadget(). Voici un code d'exemple.

Code : Tout sélectionner

Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #TrackBar_0
  #Text_1
EndEnumeration
;}
;}
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 300, 174, 400, 97, "TrackBarGadget", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    TrackBarGadget(#TrackBar_0, 15, 25, 190, 30, 0, 10, #PB_TrackBar_Ticks)
    TextGadget(#Text_1, 235, 25, 40, 25, "0", #PB_Text_Border|#PB_Text_Center)
    SetGadgetText(#text_1,"0")
  EndIf
EndProcedure

OpenWindow_Window_0()
Define v.i
;{- Event loop
Repeat
  Select WaitWindowEvent()
    ; ///////////////////
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #TrackBar_0
          v=GetGadgetState(#trackbar_0)
          SetGadgetText(#text_1,Str(v))
      EndSelect
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver
;
;}
J'aimerais que que la valeur du StringGadget() n'augmente pas de 1 en 1, mais plutôt de 0.1 en 0.1 pour atteindre la valeur de 10 au final. J'ais fait plusieurs recherche sur le forum Fr et Eng mais aussi sur Purearea sans rien trouver :(

Quelqu'un aurait une idée ? Merci d'avance.

Re: TrackBarGadget et nombres

Publié : jeu. 26/mai/2011 11:04
par falsam

Code : Tout sélectionner

Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #TrackBar_0
  #Text_1
EndEnumeration
;}
;}
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 300, 174, 400, 97, "TrackBarGadget", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    TrackBarGadget(#TrackBar_0, 15, 25, 190, 30, 0, 1000, #PB_TrackBar_Ticks) ;<== Changement ici
    TextGadget(#Text_1, 235, 25, 40, 25, "0", #PB_Text_Border|#PB_Text_Center)
    SetGadgetText(#text_1,"0")
  EndIf
EndProcedure

OpenWindow_Window_0()

Define v.f ;<== Changement ici

;{- Event loop
Repeat
  Select WaitWindowEvent()
    ; ///////////////////
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #TrackBar_0
          v=GetGadgetState(#trackbar_0)/100 ;<== Changement ici
          SetGadgetText(#text_1,StrD(v,1)) ;<== Changement ici
      EndSelect
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver
;
;}

Re: TrackBarGadget et nombres

Publié : jeu. 26/mai/2011 11:10
par gnozal
Comme çà ?

Code : Tout sélectionner

Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #TrackBar_0
  #Text_1
EndEnumeration
;}
;}
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 300, 174, 400, 97, "TrackBarGadget", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    TrackBarGadget(#TrackBar_0, 15, 25, 190, 30, 0, 100, #PB_TrackBar_Ticks)
    TextGadget(#Text_1, 235, 25, 40, 25, "0", #PB_Text_Border|#PB_Text_Center)
    SetGadgetText(#Text_1,"0")
  EndIf
EndProcedure

OpenWindow_Window_0()
Define v.d
;{- Event loop
Repeat
  Select WaitWindowEvent()
      ; ///////////////////
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #TrackBar_0
          v=GetGadgetState(#TrackBar_0)
          SetGadgetText(#Text_1, StrD(v / 10, 1))
      EndSelect
      ; ////////////////////////
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Window_0
          CloseWindow(#Window_0)
          Break
      EndSelect
  EndSelect
ForEver
;
;}

Re: TrackBarGadget et nombres

Publié : jeu. 26/mai/2011 11:35
par MetalOS
Super, Merci bien les amis :wink: