SOS

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

SOS

Message par SpaceMan »

salut à tous
j'aimerais que vous m'aidez à resolvez ce probleme qui me rend nerveux depuis quelques jours mon code devait me permettre de limiter le nombre d'opération à 5 donc apres 5 operations donc apres il doit m'afficher "toutes les operations sont terminées
merci pour votre aide

Code : Tout sélectionner

;programme de pure basic 3.80

Enumeration
#window_0
#bouton_1
#bouton_2
#bouton_3
#Gadget 
#chaine_1
#chaine_2
#chaine_3 ;= 15
#Text
#Text_0
#Text_1 
EndEnumeration

NbElements = 2 
Global     Resultat.l
Global     Resultat2.l
Global     Resultat$
Global     Resultat2$
 
;Dim Array.l(#NbElements)

     If OpenWindow(#window_0,443,86,350,260,#PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Davida")
      If CreateGadgetList(WindowID(0))
      LoadFont(10,"Arial", 14, #PB_Font_Bold)
      SetGadgetFont(#PB_Default,FontID())
      
      ;StringGadget(#chaine_1,180, 35,150,20,"",#PB_String_Numeric|#PB_Text_Right)
      ;StringGadget(#chaine_2,180, 95,150,20,"",#PB_String_Numeric|#PB_Text_Right)
      ;StringGadget(#chaine_3,180, 155,150,20,"0",#PB_String_Numeric|#PB_Text_Right
      StringGadget(#chaine_1,220, 35,110,25,"",#PB_String_ReadOnly|#PB_Text_Right)
      StringGadget(#chaine_2,220, 95,110,25,"",#PB_String_ReadOnly|#PB_Text_Right)
      StringGadget(#chaine_3,220, 155,110,25,"0",#PB_String_Numeric|#PB_Text_Right)
      ;LoadFont(3,"Arial",14.5,#PB_Font_Bold|#PB_Font_Italic|#PB_Font_Underline)
      ;SetGadgetFont(#PB_Default,FontID())
      
      LoadFont(11,"Arial",9,#PB_Font_Bold)
      SetGadgetFont(#PB_Default,FontID())
     
      ButtonGadget(#bouton_1, 230, 220, 110, 22, "Quitter")
      ButtonGadget(#bouton_2, 10, 220, 110, 22, "Commencer",#PB_EventType_LeftClick)
      ButtonGadget(#bouton_3, 120, 220, 110, 22, "Verifier")
      TextGadget(#Text,100, 40,160,20,"1er Nombre :")
      TextGadget(#Text_0,90, 105,170,20,"2ème Nombre :")
      TextGadget(#Text_1,125, 165,55,20,"Resultat :")
      ;LoadFont(3,"Arial",14.5,#PB_Font_Bold|#PB_Font_Italic|#PB_Font_Underline)
      SetGadgetFont(#PB_Default,FontID())
      
      LoadFont(11,"Arial",16,#PB_Font_Bold)
      SetGadgetFont(#PB_Default,FontID())
      TextGadget(#Text_0,185, 65,20,20,"+")
      
EndIf
EndIf

Procedure Autres_operations()
   Autres_operations :
     Resultat.l = Random(7000)
     Resultat2.l = Random(4560)
     Resultat$ = Str (Resultat.l) 
     Resultat2$ = Str (Resultat2.l);TextGadget(#Text_1,10, 125,150,20,"Alleatoire",#PB_String_Numeric)
     
    SetGadgetText(#chaine_1, Str (Val(Resultat$)))
    SetGadgetText(#chaine_2, Str (Val(Resultat2$)))
    DisableGadget(#bouton_2,1)
     nombre = 2
 EndProcedure

;Procedure Arret_Operation() 
      ;condition = 0
 ;     Repeat 
 ;     Goto   Autres_operations :
      ;condition = condition + 1       
 ;     Until GetGadgetText(#chaine_3) <= Str(7000)  
      ;Return
  ;    rep_2  = MessageRequester("Thank","Bravo toutes les oprations sont terminées ",#PB_MessageRequester_Ok)      
 ;EndProcedure
 ;Procedure Debut_operation()      
 ;EndProcedure 

  Repeat
EventID = WaitWindowEvent()
 If Event = #PB_EventGadget 
      EndIf
      Select EventID;Gadget()
 Case #PB_Event_Gadget
      Select EventGadgetID()

 Case 1 : Event = #bouton_1
      
      ;Affichage des nombres alléatoires   
 Case 2: Evebt = #bouton_2
          Autres_operations()
                                   
 Case 3 : Event3 = #bouton_3 
                
   If GetGadgetText(#chaine_3) = "0" Or GetGadgetText(#chaine_3) = ""
       MessageRequester("Désolé","La case est vide,Entrez d'abord votre réponse.",#PB_MessageRequester_Ok) 
       Else      
   If  GetGadgetText(#chaine_3) <>  Str (Val(Resultat$) + Val(Resultat2$))
rep =  MessageRequester("Désolé","Mauvaise réponse. Voulez-vous voir la bonne réponse ?",#PB_MessageRequester_YesNo) 
   If  rep = 6
       MessageRequester("Reponse","La bonne réponse est:"  +  Str (Val(Resultat$) + Val(Resultat2$)),#PB_MessageRequester_Ok)
       SetGadgetText(#chaine_3,"")
       Else
   If  rep = 7
       SetGadgetText(#chaine_3,"")
       EndIf 
       EndIf
       Else  
   If  GetGadgetText(#chaine_3) =  Str (Val(Resultat$) + Val(Resultat2$))
  rep_2  = MessageRequester("Thank","Bravo",#PB_MessageRequester_Ok)
      ;SetGadgetText(#chaine_3,"")
   ;debut arret op 
   ;nombre = 0
   ;nombre2 = 4
   ;While  nombre2 = 4
   ;nombre = nombre + 1
    ;Else
   
   For nombre = 1 To 3
   Autres_operations()
   Next nombre
   If nombre = 4
   ;nombre2 = 5
   ;Else 
   MessageRequester("Désolé","Toutes les opérations sont terminées.",#PB_MessageRequester_Ok) 
   EndIf
   ;Wend 
   ;fin op
             
      EndIf 
      EndIf 
      EndIf 
     
      EndSelect
      
      Case #PB_EventCloseWindow 
      Event = #bouton_1  
      EndSelect
      Until Event = #bouton_1
encore merci de sauver un SpaceMan debousolé
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

pourquoi tu met pas a jour ta version de purebasic
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Code : Tout sélectionner

Str (Val(Resultat$) + Val(Resultat2$)) 
ah, tu n'as pas trouvé plus compliqué :lol:

Code : Tout sélectionner

Str (Resultat + Resultat2)
comme ça c'est mieux

Sinon, tu connais ElseIf ? regarde l'aide, ça manque dans ton code


Code : Tout sélectionner

; programme de pure basic 3.80

Enumeration
  #window_0
  #bouton_1
  #bouton_2
  #bouton_3
  #Gadget
  #chaine_1
  #chaine_2
  #chaine_3 ; = 15
  #Text
  #Text_0
  #Text_1
EndEnumeration

NbElements = 2
Global Resultat.l
Global Resultat2.l
Global Resultat$
Global Resultat2$

; Dim Array.l(#NbElements)

If OpenWindow(#window_0, 443, 86, 350, 260, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar, "Davida")
  If CreateGadgetList(WindowID(0))
    LoadFont(10, "Arial", 14, #PB_Font_Bold)
    SetGadgetFont(#PB_Default, FontID())
    
    ; StringGadget(#chaine_1,180, 35,150,20,"",#PB_String_Numeric|#PB_Text_Right)
    ; StringGadget(#chaine_2,180, 95,150,20,"",#PB_String_Numeric|#PB_Text_Right)
    ; StringGadget(#chaine_3,180, 155,150,20,"0",#PB_String_Numeric|#PB_Text_Right
    StringGadget(#chaine_1, 220, 35, 110, 25, "", #PB_String_ReadOnly | #PB_Text_Right)
    StringGadget(#chaine_2, 220, 95, 110, 25, "", #PB_String_ReadOnly | #PB_Text_Right)
    StringGadget(#chaine_3, 220, 155, 110, 25, "0", #PB_String_Numeric | #PB_Text_Right)
    ; LoadFont(3,"Arial",14.5,#PB_Font_Bold|#PB_Font_Italic|#PB_Font_Underline)
    ; SetGadgetFont(#PB_Default,FontID())
    
    LoadFont(11, "Arial", 9, #PB_Font_Bold)
    SetGadgetFont(#PB_Default, FontID())
    
    ButtonGadget(#bouton_1, 230, 220, 110, 22, "Quitter")
    ButtonGadget(#bouton_2, 10, 220, 110, 22, "Commencer", #PB_EventType_LeftClick)
    ButtonGadget(#bouton_3, 120, 220, 110, 22, "Verifier")
    TextGadget(#Text, 100, 40, 160, 20, "1er Nombre :")
    TextGadget(#Text_0, 90, 105, 170, 20, "2ème Nombre :")
    TextGadget(#Text_1, 125, 165, 55, 20, "Resultat :")
    ; LoadFont(3,"Arial",14.5,#PB_Font_Bold|#PB_Font_Italic|#PB_Font_Underline)
    SetGadgetFont(#PB_Default, FontID())
    
    LoadFont(11, "Arial", 16, #PB_Font_Bold)
    SetGadgetFont(#PB_Default, FontID())
    TextGadget(#Text_0, 185, 65, 20, 20, "+")
    
  EndIf
EndIf

Procedure Autres_operations()
  Autres_operations :
  Resultat.l = Random(7000)
  Resultat2.l = Random(4560)
  Resultat$ = Str (Resultat.l)
  Resultat2$ = Str (Resultat2.l) ; TextGadget(#Text_1,10, 125,150,20,"Alleatoire",#PB_String_Numeric)
  
  SetGadgetText(#chaine_1, Str (Val(Resultat$)))
  SetGadgetText(#chaine_2, Str (Val(Resultat2$)))
  DisableGadget(#bouton_2, 1)
EndProcedure


Repeat
  EventID = WaitWindowEvent()
  If Event = #PB_EventGadget
  EndIf
  Select EventID ; Gadget()
    Case #PB_Event_Gadget
      Select EventGadgetID()
          
        Case 1 : Event = #bouton_1
          
          ; Affichage des nombres alléatoires
        Case 2 : Evebt = #bouton_2
          Autres_operations()
          
        Case 3 : Event3 = #bouton_3
          
          If GetGadgetText(#chaine_3) = "0" Or GetGadgetText(#chaine_3) = ""
            MessageRequester("Désolé", "La case est vide,Entrez d'abord votre réponse.", #PB_MessageRequester_Ok)
            
          Else
            
            nombre + 1
            
            If nombre = 5
              MessageRequester("Désolé", "Toutes les opérations sont terminées.", #PB_MessageRequester_Ok)
              DisableGadget(#bouton_2, 0)
              
            Else
              
              If GetGadgetText(#chaine_3) <> Str (Resultat + Resultat)
                rep = MessageRequester("Désolé", "Mauvaise réponse. Voulez-vous voir la bonne réponse ?", #PB_MessageRequester_YesNo)
                If rep = 6
                  MessageRequester("Reponse", "La bonne réponse est:" + Str (Resultat + Resultat), #PB_MessageRequester_Ok)
                  SetGadgetText(#chaine_3, "")
                ElseIf rep = 7
                  SetGadgetText(#chaine_3, "")
                EndIf
              Else
                  rep_2 = MessageRequester("Thank", "Bravo", #PB_MessageRequester_Ok)
                  Autres_operations()
                  nombre = 0
              EndIf
            EndIf
          EndIf
          
      EndSelect
      
    Case #PB_EventCloseWindow
      Event = #bouton_1
  EndSelect
Until Event = #bouton_1
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Message par SpaceMan »

j'avoue qu'on me me le dit souvent
je me complique les choses je tacherai de faire mieux
et merci encore
Répondre