Page 1 sur 1

Pourquoi réussir à faire simple quand on peut faire compliqué

Posté : jeu. 19 janv. 2017 20:21
par Ciol13
Bonsoir

Et une petite seconde question pour la soirée :

j'ai essayé, j'ai cherché, j'ai fouillé, mais impossible d'arriver à simplifier ça, alors que je suis à peu près sur qu'il doit y avoir une combine, j'en appelle donc à vos esprits affutés pour m'apporter un peu d'aide, encore une fois :

Code : Tout sélectionner

					Case $Param1="CM"
						GUI_CM($Array[4][1])

					Case $Param1=$Array100[2][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GMR_CENTRE_" & $Array100[2][1])
						GUI_CM($Array[4][1])
					Case $Param1=$Array100[3][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GMR_CENTRE_" & $Array100[3][1])
						GUI_CM($Array[4][1])
					Case $Param1=$Array100[4][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GMR_CENTRE_" & $Array100[4][1])
						GUI_CM($Array[4][1])
					Case $Param1=$Array100[5][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GMR_CENTRE_" & $Array100[5][1])
						GUI_CM($Array[4][1])
					Case $Param1=$Array100[6][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GMR_CENTRE_" & $Array100[6][1])
						GUI_CM($Array[4][1])
					Case $Param1=$Array100[7][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GMR_CENTRE_" & $Array100[7][1])
						GUI_CM($Array[4][1])
					Case $Param1=$Array100[8][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GMR_CENTRE_" & $Array100[8][1])
						GUI_CM($Array[4][1])

					Case $Param1=$Array102[2][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array102[2][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array102[3][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array102[3][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array102[4][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array102[4][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array102[5][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array102[5][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array102[6][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array102[6][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array102[7][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array102[7][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array102[8][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array102[8][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])

					Case $Param1=$Array103[2][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array103[2][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array103[3][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array103[3][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array103[4][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array103[4][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array103[5][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array103[5][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array103[6][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array103[6][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array103[7][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array103[7][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])
					Case $Param1=$Array103[8][1]
						$Array = IniReadSection(@ScriptDir & "\PCG.ini", "GP_GMR_" & $Array103[8][1])
						Options($CentreMaint, $GroupMaint, $Array[4][1])

					
... etc, etc etc

Merci beaucoup, et bonne soirée

Re: Pourquoi réussir à faire simple quand on peut faire compliqué

Posté : jeu. 19 janv. 2017 22:37
par mikell
Hum. L'idée d'une base de données SQLite semble de plus en plus s'imposer comme une lumineuse évidence :mrgreen:

Re: Pourquoi réussir à faire simple quand on peut faire compliqué

Posté : jeu. 19 janv. 2017 23:44
par Ciol13
Bon, il va vraiment falloir que j'étudie ce truc là rapidement alors, j'avais commencé à lire, mais il semble qu'il va falloir que je continue!! :?

Re: Pourquoi réussir à faire simple quand on peut faire compliqué

Posté : ven. 20 janv. 2017 08:51
par A2Energie
Salut a toi,

Pour ma part, je fais de cette manière habituellement :
Je crée un tableau de mes paramètres (facile à modifier par la suite)
Puis je fais référence à ce tableau :
(attention a vérifier le script car j'ai pas pu le tester.
$Array_Ubound = 3
Dim $Mes_Array[$Array_Ubound+1][5] = [[$Array_Ubound, "Nom", "Lien", "Paramètre", "Fonction"] _
, ["", "Array100", @ScriptDir & "\PCG.ini", "GMR_CENTRE_", "GUI_CM"] _
, ["", "Array102", @ScriptDir & "\PCG.ini", "GP_GMR_", "Options"] _
, ["", "Array103", @ScriptDir & "\PCG.ini", "GP_GMR_", "Options"] _
]
If $Param1 = "CM" Then
   GUI_CM($Array[4][1])
Else
   For $i = 1 To $Mes_Array[0][0]
     $Mon_ArrayTemp1 = Eval($Mes_Array[$i][1])
     For $ii = 2 To 8
       If $Param1 = $Mon_ArrayTemp1[$ii][1] Then
         $Array = IniReadSection($Mes_Array[$i][2], $Mes_Array[$i][3] & $Mon_ArrayTemp1[$ii][1])
         If $Mes_Array[$i][4] = "GUI_CM" Then
            GUI_CM($Array[4][1])
         ElseIf $Mes_Array[$i][4] = "Options" Then
            Options($CentreMaint, $GroupMaint, $Array[4][1])
         EndIf
         ExitLoop 2
       EndIf
     Next
   Next
EndIf