Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIResizeMode", $GUI_DOCKALL)
$Form1 = GUICreate("Probabilité", 217, 123, -1, -1)
$Label2 = GUICtrlCreateLabel("Nombre de numéros à choisir :", 16, 32, 147, 17, $SS_CENTER)
$Label1 = GUICtrlCreateLabel("Parmi combien de nombres ?", 16, 56, 150, 17, $SS_CENTER)
$Dessus1 = GUICtrlCreateInput("", 168, 30, 33, 21, BitOR($ES_CENTER,$ES_NUMBER))
GUICtrlSetLimit(-1, 4)
$Bas1 = GUICtrlCreateInput("", 168, 53, 33, 21, BitOR($ES_CENTER,$ES_NUMBER))
GUICtrlSetLimit(-1, 4)
$Button1 = GUICtrlCreateButton("Valider", 16, 80, 185, 25, $WS_GROUP)
$Reini = GUICtrlCreateButton("Réinitialiser", 216, 80, 185, 17, $WS_GROUP)
$Close = GUICtrlCreateButton("Fermer", 216, 96, 185, 17, $WS_GROUP)
$Group1 = GUICtrlCreateGroup("Informations", 8, 8, 201, 105)
$Fleche5 = GUICtrlCreateLabel("", 216, 24, 40, 17)
$C = GUICtrlCreateLabel("", 256, 16, 25, 39)
GUICtrlSetFont(-1, 24, 400, 0, "MS Serif")
$Bas = GUICtrlCreateLabel("", 277, 38, 28, 17, $SS_CENTER)
$Dessus = GUICtrlCreateLabel("", 277, 12, 28, 17, $SS_CENTER)
$Egal = GUICtrlCreateLabel("", 312, 24, 40, 17)
$Res = GUICtrlCreateLabel("", 328, 24, 87, 17)
$Phrase = GUICtrlCreateLabel("", 218, 51, 198, 25, $SS_CENTER)
$VariableValider = 0
$VariableReini = 0
;Différence crée pour la fonction facto, pour ne pas qu'il y ait de problème avec la variable inte.
$Difference = GUICtrlCreateLabel("", 80, 48, 28, 17)
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Close
Exit
Case $Reini
$Pos = WinGetPos($Form1)
If ($VariableReini = 1) Then
WinMove($Form1, "", $Pos[0] + 100, $Pos[1], $Pos[2] - 200, $Pos[3])
$VariableReini = 0
$VariableValider = 0
EndIf
GUICtrlSetData($Dessus1, "")
GUICtrlSetData($Bas1, "")
GUICtrlSetData($Fleche5, "")
GUICtrlSetData($C, "")
GUICtrlSetData($Bas, "")
GUICtrlSetData($Dessus, "")
GUICtrlSetData($Egal, "")
GUICtrlSetData($Res, "")
GUICtrlSetData($Phrase, "")
Case $Button1
$Pos = WinGetPos($Form1)
If ($VariableValider = 0) Then
WinMove($Form1, "", $Pos[0] - 100, $Pos[1], $Pos[2] + 200, $Pos[3])
$VariableValider = 1
$VariableReini = 1
EndIf
GUICtrlSetData($Bas, "")
GUICtrlSetData($Dessus, "")
GUICtrlSetData($Fleche5, "=====>")
GUICtrlSetData($C, "C")
GUICtrlSetData($Egal, "=")
GUICtrlSetData($Bas, GUICtrlRead($Bas1))
GUICtrlSetData($Dessus, GUICtrlRead($Dessus1))
$FactoDessus = Facto($Dessus)
$FactoBas = Facto($Bas)
GUICtrlSetData($Difference, GUICtrlRead($Bas) - GUICtrlRead($Dessus))
$FactoInte = Facto($Difference)
GUICtrlSetData($Res, $FactoBas / ($FactoDessus * $FactoInte))
GUICtrlSetData($Phrase, "Vous avez 1 chance sur " & GUICtrlRead($Res) & " de trouver les bons numéros.")
EndSwitch
WEnd
Func Facto($Nombre)
Global $i = GUICtrlRead($Nombre), $plafond = 1
While ($i >= 1)
$plafond *= $i
$i -= 1
WEnd
Return $plafond
EndFunc