Page 1 sur 1

SpinGadget est les valeurs négative

Publié : jeu. 20/déc./2007 10:41
par Thyphoon
Je ne sais pas si c'est un bug ou une limitation du gadget SpinGadget
mais si on met en valeur minimal -100 et en valeur maximum 100
ça ne fonctionne pas...
descendez en de sous de zero ...

Code : Tout sélectionner

  If OpenWindow(0, 0, 0, 160, 70, "SpinGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    SpinGadget     (0, 20, 20, 100, 25, -100, 100)
    Repeat
      Evenement = WaitWindowEvent()
      If Evenement = #PB_Event_Gadget
        If EventGadget() = 0
          SetGadgetText(0,Str(GetGadgetState(0)))
        EndIf
      EndIf
    Until Evenement = #PB_Event_CloseWindow
  EndIf

Publié : jeu. 20/déc./2007 13:57
par Thyphoon
Bon et bien une fois de plus c'est de ma faute.
Je testais a partir de l'exemple fournit et j'ai trouvé l'erreur

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 160, 70, "SpinGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    SpinGadget     (0, 20, 20, 100, 25, -100, 100,#PB_Spin_Numeric)
    Repeat
      Evenement = WaitWindowEvent()
      If Evenement = #PB_Event_Gadget
        If EventGadget() = 0
          ;SetGadgetText(0,Str(GetGadgetState(0)))
        EndIf
      EndIf
    Until Evenement = #PB_Event_CloseWindow
  EndIf
Là ça fonctionne Désolé si certain se son posé le problème
:P

Spingadget valeur negative

Publié : ven. 29/févr./2008 9:39
par jef
En reprenant ton code précédant je pije toujours pas comment récupérer la valeur en négatif!!!


Code : Tout sélectionner

If OpenWindow(0, 0, 0, 300, 70, "SpinGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0)) 
    SpinGadget     (0, 20, 20, 100, 25, -100, 100,#PB_Spin_Numeric) 
    TextGadget(1,150,20,100,20,"..")
    Repeat 
      Evenement = WaitWindowEvent() 
      If Evenement = #PB_Event_Gadget 
        If EventGadget() = 0 
          SetGadgetState(0,(GetGadgetState(0))) 
          SetGadgetText(1,Str(GetGadgetState(0))) 
        EndIf 
      EndIf 
    Until Evenement = #PB_Event_CloseWindow 
  EndIf 

Publié : ven. 29/févr./2008 10:17
par Neosis

Je c'est que ma méthode peut paraître bizarre ... mais ça marche :D
Pour récupérer la valeur en négatif:

Si quelqu'un connait un moyen plus simple je suis preneur
If OpenWindow(0, 0, 0, 300, 70, "SpinGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))

SpinGadget(0, 20, 20, 100, 25, -100, 100,#PB_Spin_Numeric)
TextGadget(1,150,20,100,20,"..")
Structure value
valeur.b
EndStructure

Repeat

Evenement = WaitWindowEvent()
If Evenement = #PB_Event_Gadget

If EventGadget() = 0

valeur=GetGadgetState(0) ; on prend la valeur numérique du spingadget

If valeur>100 ; si la valeur et supérieurs a 100 cela signifie que l'on est dans les négatifs
valeur$=GetGadgetText(0) ; on va chercher le texte dans le spin gadget (bien qu'il s'agisse d'un chiffre)
SetGadgetText(1,valeur$) ; on affiche le text (la valeur en faite)
Else ; sinon ba.... :)
SetGadgetText(1,Str(valeur)) ; tu affiche tous simplement la valeur
EndIf

EndIf
EndIf
Until Evenement = #PB_Event_CloseWindow
EndIf

Publié : ven. 29/févr./2008 10:27
par RV

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 300, 70, "SpinGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0)) 
    SpinGadget     (0, 20, 20, 100, 25, -100, 100,#PB_Spin_Numeric) 
    TextGadget(1,150,20,100,20,"..") 
    Repeat 
      Evenement = WaitWindowEvent() 
      If Evenement = #PB_Event_Gadget 
        If EventGadget() = 0 
          SetGadgetText(1,GetGadgetText(0)) 
        EndIf 
      EndIf 
    Until Evenement = #PB_Event_CloseWindow 
  EndIf  
:wink:

Publié : ven. 29/févr./2008 10:33
par Neosis
Effectivement c'est plus simple :lol: ... j'aurai pu y pensé quand même, pourquoi je cherche compliqué :?

Publié : ven. 29/févr./2008 10:36
par PAPIPP
Voici un code qui fonctionne en passant par une variable gad.b

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 300, 70, "SpinGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    SpinGadget     (0, 20, 20, 100, 25, -100, 100,#PB_Spin_Numeric)
    TextGadget(1,150,20,100,20,"..")
    Repeat
      Evenement = WaitWindowEvent()
      If Evenement = #PB_Event_Gadget
        If EventGadget() = 0
          SetGadgetState(0,(GetGadgetState(0)))
          gad.b=GetGadgetState(0)
          SetGadgetText(1,Str(gad))
        EndIf
      EndIf
    Until Evenement = #PB_Event_CloseWindow
  EndIf 
A+