Probleme avec des boucle while

Inscrit
11 Janvier 2021
Messages
21
Reactions
9
#1
Bonjour,

J'ai ce bout de code :
Code:
            $choixDeLaConfig = _choixConfig($Combo1)
            
            $confirmDeleteFichierConfig = MsgBox(4, "Warning", "Etes vous sûr de réinitialiser cette config ?")

            if $confirmDeleteFichierConfig =  6 Then
                Global $inputNomTrajet = InputBox("Confirmation", "Entréz le nom du nouveau Trajet", "")
                
                If $inputNomTrajet = "" Then
                    MsgBox(0, "tst", $inputNomTrajet)
                    Else
                        
                EndIf
                
                MsgBox(0, "Choix des metiers", "Choisissez le ou les metiers que vous souhaitez utliser")
                GUIChoixMetier()
                GUISetState(@SW_SHOW)
                

        While 1

                
                
                
         $nMsg = GUIGetMsg()
         Switch $nMsg
          Case $GUI_EVENT_CLOSE, $Button2
           ExitLoop

            Case $Button1

                If _IsChecked($checkAlchimiste) Then $alchimiste = "checked"
                If _IsChecked($checkPaysan) Then $paysan = "checked"
                If _IsChecked($checkBucheron) Then $bucheron = "checked"
                If _IsChecked($checkMineur) Then $mineur = "checked"
                
                Dim $arr[4][2] = [["alchimiste", $alchimiste], ["paysan", $paysan], ["bucheron", $bucheron], ["mineur", $mineur]]
                
                ;_ArrayDisplay($arr)
                If IsArray($arr) Then
                     For $i = 0 to UBound($arr) - 1 ; avec -1 car un array commence à 0
                     ConsoleWrite($arr[$i][0] & ":" & $arr[$i][1] & @LF)
                        Global $job = _WriteJob($choixDeLaConfig, $arr)
                                        
                        MsgBox(0, "", $job)
                    
                                    
                    
                     Next
                     _createNewTrajetAndConfigFile($inputNomTrajet)
                _ecrireNomTrajetDansJournal($inputNomTrajet)
                     ExitLoop
                EndIf
             EndSwitch
        WEnd

                
                GUISetState(@SW_HIDE, $GUIListeConfigs)
                $ajusterFenetreDofus = _ajusterFenetreDofus()


                If $ajusterFenetreDofus <> 0 Then
                    _GUIAction()
                    GUISetState(@SW_SHOW, $GUIAction)
                EndIf
            EndIf
Pourrait on me dire pourquoi il redemande sans cesse de choisir le metier après avoir tout fait correctement ?

Cdt
 
Inscrit
18 Février 2017
Messages
149
Reactions
18
#2
Pourquoi tu n'as pas mis de booléen et une condition pour contrôler ta boucle.?
Sachant que ton while est toujours True en plus, ce qui génère constamment ton code
 
Haut Bas