Ayant eu un petit problème de santé j'ai eu besoin de ce fameux Indice IMC
Aujourd’hui sur ce forum gaelds vous a proposé un exemple.
Mais moi ce que je voulais c'était afficher les valeurs et pouvoir les ajuster pour connaitre l'effort à réaliser pour faire baisser cette IMC
J'ai donc comme gaelds conçut un script avec 2 curseurs .
L'un pour IMC cela vous affichera le poids à atteindre
L'autre pour le poids qu'il vous semble possible d'atteindre cela vous donnera l'IMC à l'issu de votre objectif.
Je vous le donne ici ce n'est pas un exemple de programmation juste un code qui peut être utile
► Afficher le texte
Code : Tout sélectionner
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiSlider.au3>
#Region ### START Koda GUI section ### Form=C:\pi\forum\Calcul IMC.kxf
Global $Form1 = GUICreate("Calcul IMC", 738, 556, 219, 150)
GUISetBkColor(0x00FFFF)
Global $Inp_taille = GUICtrlCreateInput("", 186, 8, 121, 37)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
Global $Inp_poids = GUICtrlCreateInput("", 186, 51, 121, 37)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
Global $Edit_risque = GUICtrlCreateEdit("", 8, 260, 717, 277)
GUICtrlSetData(-1, "Edit_risque")
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x008000)
Global $Inp_imc = GUICtrlCreateInput("", 529, 24, 121, 54, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
GUICtrlSetFont(-1, 30, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x00FF00)
Global $Label1 = GUICtrlCreateLabel("Taille en CM", 15, 17, 153, 33)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
Global $Label2 = GUICtrlCreateLabel("Poids en Kg", 17, 54, 146, 33)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
Global $Label3 = GUICtrlCreateLabel("Votre Indice IMC", 330, 31, 166, 29)
GUICtrlSetFont(-1, 15, 800, 0, "MS Sans Serif")
Global $Label4 = GUICtrlCreateLabel("Poids", 15, 105, 71, 33)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
Global $Label5 = GUICtrlCreateLabel("IMC", 19, 156, 50, 33)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$Slider_poids = _GUICtrlSlider_Create($Form1, 141, 92, 563, 62, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS))
$Slider_imc = _GUICtrlSlider_Create($Form1, 141, 165, 563, 62, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS))
_GUICtrlSlider_SetRangeMax($Slider_poids, 150)
_GUICtrlSlider_SetRangeMin($Slider_poids, 1)
_GUICtrlSlider_SetRangeMax($Slider_imc, 60)
_GUICtrlSlider_SetRangeMin($Slider_imc, 1)
GUICtrlSetLimit($Slider_poids, 150, 1)
GUICtrlSetLimit($Slider_imc, 60, 1)
Global $poids = 0
Global $taille
Global $IMC = 0
Global $explication = ""
$explication = $explication & "- Dénutrition pour un IMC inférieur à 16,5 " & @CRLF
$explication = $explication & "- Maigreur pour un IMC compris entre 16,5 et 18.5" & @CRLF
$explication = $explication & "- Normal pour un IMC compris entre 18.5 et 25" & @CRLF
$explication = $explication & "- Surpoids pour un IMC compris entre 25 et 30" & @CRLF
$explication = $explication & "- Obésité modérée pour un IMC compris entre 30 et 35" & @CRLF
$explication = $explication & "- Obésité sévère pour un IMC compris entre 35 et 40" & @CRLF
$explication = $explication & "- Obésité morbide pour un IMC supérieur à 40"
GUICtrlSetData($Edit_risque, $explication)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Inp_taille
$taille = GUICtrlRead($Inp_taille) / 100
_calcul_IMC()
Case $Inp_poids
$poids = GUICtrlRead($Inp_poids)
_GUICtrlSlider_SetPos($Slider_poids, $poids)
_calcul_IMC()
case $Inp_imc
$imc=GUICtrlRead($Inp_imc)
_GUICtrlSlider_SetPos($Slider_imc, $IMC)
_calcul_poids()
EndSwitch
$poids_slider = _GUICtrlSlider_GetPos($Slider_poids)
If $poids_slider <> $poids And $poids > 0 Then
$poids = $poids_slider
GUICtrlSetData($Inp_poids, $poids)
_calcul_IMC()
EndIf
$IMC_slider = _GUICtrlSlider_GetPos($Slider_imc)
If $IMC_slider <> $IMC And $IMC > 0 Then
$IMC = $IMC_slider
GUICtrlSetData($Inp_imc, $IMC)
_calcul_poids()
EndIf
WEnd
Func _calcul_IMC()
If $poids <> 0 And $taille <> 0 Then
$IMC = Int(($poids / ($taille * $taille)))
GUICtrlSetData($Inp_imc, $IMC)
_GUICtrlSlider_SetPos($Slider_imc, $IMC)
EndIf
EndFunc ;==>_calcul_IMC
Func _calcul_poids()
If $poids <> 0 And $taille <> 0 Then
$poids = Int(($taille * $taille) * $IMC)
GUICtrlSetData($Inp_poids, $poids)
_GUICtrlSlider_SetPos($Slider_poids, $poids)
EndIf
EndFunc ;==>_calcul_poids
JL56