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

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

Publié : ven. 29/févr./2008 10:33
par Neosis
Effectivement c'est plus simple
... 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+