Page 1 sur 1

MessageRequester() timide [RESOLU]

Publié : mar. 30/mars/2010 15:34
par DarkIchigo
Bon j'ai encore un pb :cry:

j'ai besoin pour un programme d'un prompt qui donne le choix entre 4 options puis récupère
le choix de l'utilisateur et l'affiche (pour le moment) dans un MessageRequester().

Pb le MessageRequester n'apparait jamais.

J'ai loupé quoi?? :?

Code : Tout sélectionner

;->>>> Déclaration variables / constantes <<<<

Define.c

#T_x_window = 250
#T_y_window = 200
#T_x_button = 100
#T_y_button = 30
Top = 10

Enumeration
  #Window
  #TexteGadget
  #OptionGadget1
  #OptionGadget2
  #OptionGadget3
  #OptionGadget4
  #ButtonGadget
EndEnumeration

#FLAGS = #PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered

;->>>> Initialisation <<<<

If OpenWindow(#Window, 450, 200, #T_x_window, #T_y_window, "Période", #FLAGS)
   TextGadget(#TexteGadget, (#T_x_window/2)-100, Top, 200, 30, "A quelle période veux-tu accéder ?", #PB_Text_Center) : Top + 30
   OptionGadget(#OptionGadget1, (#T_x_window/2)-30, Top, 80, 25, "PE10") : Top+ 25
   OptionGadget(#OptionGadget2, (#T_x_window/2)-30, Top, 80, 25, "~~AH10~~") : Top+ 25
   OptionGadget(#OptionGadget3, (#T_x_window/2)-30, Top, 80, 25, "PE11") : Top+ 25
   OptionGadget(#OptionGadget4, (#T_x_window/2)-30, Top, 80, 25, "AH11") : Top+ 25
   ButtonGadget(#ButtonGadget, #T_x_window/2-#T_x_button/2, #T_y_window-#T_y_button-10, #T_x_button, #T_y_button, "Select")

;->>>> Boucle programme <<<<

Repeat

  Event = WaitWindowEvent()
  
  Select EventWindow()
  
    Case #Window
    
      Select Event
      
        Case #PB_Event_CloseWindow
          CloseWindow(#Window)
          
        Case #ButtonGadget
          If GetGadgetState(#OptionGadget1) : Result$ = GetGadgetText(#OptionGadget1) : EndIf
          If GetGadgetState(#OptionGadget2) : Result$ = GetGadgetText(#OptionGadget2) : EndIf
          If GetGadgetState(#OptionGadget3) : Result$ = GetGadgetText(#OptionGadget3) : EndIf
          If GetGadgetState(#OptionGadget4) : Result$ = GetGadgetText(#OptionGadget4) : EndIf
          
          MessageRequester("Info", "Période sélectionnée : "+Result$, 0)
          
      EndSelect
      
    EndSelect

Until Event = #PB_Event_CloseWindow

EndIf ; OpenWindow
Merci d'avance de votre aide

Re: MessageRequester() timide

Publié : mar. 30/mars/2010 15:44
par flaith
Peut-être comme ca :

Code : Tout sélectionner

;->>>> Déclaration variables / constantes <<<<

#T_x_window = 250
#T_y_window = 200
#T_x_button = 100
#T_y_button = 30
Define.i Top = 10

Enumeration
	#Window
	#TexteGadget
	#OptionGadget1
	#OptionGadget2
	#OptionGadget3
	#OptionGadget4
	#ButtonGadget
EndEnumeration

#FLAGS = #PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered

;->>>> Initialisation <<<<

If OpenWindow(#Window, 450, 200, #T_x_window, #T_y_window, "Période", #FLAGS)
		TextGadget(#TexteGadget, (#T_x_window/2)-100, Top, 200, 30, "A quelle période veux-tu accéder ?", #PB_Text_Center) : Top + 30
		OptionGadget(#OptionGadget1, (#T_x_window/2)-30, Top, 80, 25, "PE10") : Top+ 25
		OptionGadget(#OptionGadget2, (#T_x_window/2)-30, Top, 80, 25, "~~AH10~~") : Top+ 25
		OptionGadget(#OptionGadget3, (#T_x_window/2)-30, Top, 80, 25, "PE11") : Top+ 25
		OptionGadget(#OptionGadget4, (#T_x_window/2)-30, Top, 80, 25, "AH11") : Top+ 25
		ButtonGadget(#ButtonGadget, #T_x_window/2-#T_x_button/2, #T_y_window-#T_y_button-10, #T_x_button, #T_y_button, "Select")

  ;->>>> Boucle programme <<<<
  
  Repeat
    Event = WaitWindowEvent()
    
    Select Event
    
  		Case #PB_Event_CloseWindow
  			CloseWindow(#Window)
  			
  		Case #PB_Event_Gadget
  		  Select EventGadget()
  				Case #OptionGadget1 : Result$ = "PE10"
  				Case #OptionGadget2 : Result$ = "~~AH10~~"
  				Case #OptionGadget3 : Result$ = "PE11"
  				Case #OptionGadget4 : Result$ = "AH11"
  				Case #ButtonGadget : MessageRequester("Info", "Période sélectionnée : "+Result$)
  		  EndSelect
  			
  	EndSelect
  
  Until Event = #PB_Event_CloseWindow

EndIf ; OpenWindow

Re: MessageRequester() timide

Publié : mar. 30/mars/2010 16:21
par Jacobus
Ou comme ça

Code : Tout sélectionner

;->>>> Déclaration variables / constantes <<<<

;Define.c

#T_x_window = 250
#T_y_window = 200
#T_x_button = 100
#T_y_button = 30
Top = 10

Enumeration
  #Window
  #TexteGadget
  #OptionGadget1
  #OptionGadget2
  #OptionGadget3
  #OptionGadget4
  #ButtonGadget
EndEnumeration

#FLAGS = #PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered

;->>>> Initialisation <<<<

If OpenWindow(#Window, 450, 200, #T_x_window, #T_y_window, "Période", #FLAGS) <> 0
   TextGadget(#TexteGadget, (#T_x_window/2)-100, Top, 200, 30, "A quelle période veux-tu accéder ?", #PB_Text_Center) : Top + 30
   OptionGadget(#OptionGadget1, (#T_x_window/2)-30, Top, 80, 25, "PE10") : Top+ 25
   OptionGadget(#OptionGadget2, (#T_x_window/2)-30, Top, 80, 25, "~~AH10~~") : Top+ 25
   OptionGadget(#OptionGadget3, (#T_x_window/2)-30, Top, 80, 25, "PE11") : Top+ 25
   OptionGadget(#OptionGadget4, (#T_x_window/2)-30, Top, 80, 25, "AH11") : Top+ 25
   ButtonGadget(#ButtonGadget, #T_x_window/2-#T_x_button/2, #T_y_window-#T_y_button-10, #T_x_button, #T_y_button, "Select")

;->>>> Boucle programme <<<<

Repeat

 Event = WaitWindowEvent() 
  Select Event
     Case #PB_Event_Gadget
   
       Select EventGadget()
         
        Case #ButtonGadget
          If GetGadgetState(#OptionGadget1) = 1 : Result$ = GetGadgetText(#OptionGadget1) 
          ElseIf GetGadgetState(#OptionGadget2) = 1 : Result$ = GetGadgetText(#OptionGadget2) 
          ElseIf GetGadgetState(#OptionGadget3) = 1 : Result$ = GetGadgetText(#OptionGadget3) 
          ElseIf GetGadgetState(#OptionGadget4) = 1 : Result$ = GetGadgetText(#OptionGadget4) : EndIf        
         
          MessageRequester("Info", "Période sélectionnée : "+Result$, 0)
         
       EndSelect
       
  EndSelect 


Until Event = #PB_Event_CloseWindow
End 
EndIf ; OpenWindow
C'est ton Define.c qui déconnait entre autres. Tu n'es pas obligé de définir ta variable, elle est auto en Integer (comme l'a déclaré Flaith) ce qui n'est pas plus mal ma fois. Avant la 4.40 c'était les " .l " maintenant les " .i "

Re: MessageRequester() timide

Publié : mar. 30/mars/2010 19:50
par DarkIchigo
Merci beaucoup,

donc si j'ai bien compris Jacobus, le '.l' de long a été remplacé par '.i' de integer ?

Re: MessageRequester() timide

Publié : mar. 30/mars/2010 20:16
par Jacobus
C'est ça. Et la différence est de taille pour le 64 bits.
Mais attention on parle des variables non explicitement définies.
si par exemple tu écris: a = 10 alors a sera considérée comme a.i alors qu'auparavant elle aurait été considérée comme a.l
Soyons clairs :|

Re: MessageRequester() timide

Publié : mer. 31/mars/2010 13:10
par DarkIchigo
Ok donc j'avais bien compris, suis fier de moi ^^

Ben merci du coup ca march, plus qu'à l'intégrer au reste mais j'ai encore du chemin pour que tout marche ensemble :D