Je vous remercie par anticipation de votre aide qui va m'être plus qu'utile, puisqu'elle me servira plus tard aussi.
Code : Tout sélectionner
; Calculateur de poids
; Concepteur : Micoute
; Date création : 23 mai 2016
; Dernière mise à jour 23 mai 2016
Enumeration Fenetres
#Fenetre_Renseignements
#Fenetre_Resultats
EndEnumeration
Enumeration Gadgets
#Str_PoidsIdeal
#Txt_Poids_normal
#Str_IMC
#Str_PoidsNormal
#Txt_Index_IMC
#Txt_Poids_ideal
#Str_Verdict_Poids_normal
#Str_Verdict_Imc
#Str_Verdict_Poids_Ideal
#Str_Conseil
#Txt_Poids
#Txt_Taille
#Str_Poids
#Str_Taille
#Txt_Sexe
#Btn_Ok
EndEnumeration
Enumeration Sexe
#Femme
#Homme
EndEnumeration
Global Event, Poids.d, Taille.d, IMC.d, Coeff.d, Ideal.d, IMC$, Coeff$, Ideal$, Sexe, IMCa$, Idealdif$, Ideala$
Procedure Ouvrir_Fenetre_Resultats()
If OpenWindow(#Fenetre_Resultats, 704, 40, 550, 205, "Resultat", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
StringGadget(#Str_PoidsIdeal, 120, 80, 80, 20, "", #PB_String_ReadOnly)
StringGadget(#Txt_Poids_normal, 30, 40, 90, 20, "...Poids normal", #PB_String_ReadOnly)
StringGadget(#Str_IMC, 120, 120, 80, 20, "", #PB_String_ReadOnly)
StringGadget(#Str_PoidsNormal, 120, 40, 80, 20, "", #PB_String_ReadOnly)
StringGadget(#Txt_Index_IMC, 30, 120, 90, 20, "...Index IMC", #PB_String_ReadOnly)
StringGadget(#Txt_Poids_ideal, 30, 80, 90, 20, "...Poids Ideal", #PB_String_ReadOnly)
StringGadget(#Str_Verdict_Poids_normal, 260, 40, 270, 20, "", #PB_String_ReadOnly)
StringGadget(#Str_Verdict_Imc, 260, 120, 270, 20, "", #PB_String_ReadOnly)
StringGadget(#Str_Verdict_Poids_Ideal, 260, 80, 270, 20, "", #PB_String_ReadOnly)
StringGadget(#Str_Conseil, 260, 160, 270, 20, "", #PB_String_ReadOnly)
IMC.d = Poids / ((Taille / 100) * (Taille / 100))
Coeff.d = Taille - 100
Ideal.d = (Taille - 100) * 0.9
IMC$ = Str(IMC)
Coeff$ = Str(Coeff)
Ideal$ = Str(Ideal)
If Sexe = #Homme
If IMC < 20
IMCa$ = "Vous êtes trop maigre."
ElseIf IMC > 20 And IMC < 25
IMCa$ = "Vous avez poids normal."
ElseIf IMC > 25 And IMC < 30
IMCa$ = "Vous êtes en surpoids."
ElseIf IMC > 30 And IMC < 40
IMCa$ = "Vous avez de l'obésité."
ElseIf IMC > 40
IMCa$ = "Vous avez une obésité sévère."
EndIf
EndIf
If Sexe = #Femme
If IMC < 19
IMCa$ = "Vous êtes trop maigre."
ElseIf IMC > 19 And IMC < 24
IMCa$ = "Vous avez poids normal."
ElseIf IMC > 24 And IMC < 30
IMCa$ = "Vous êtes en surpoids."
ElseIf IMC > 30 And IMC < 40
IMCa$ = "Vous avez de l'obésité."
ElseIf IMC > 40
IMCa$ = "Vous avez une obésité sévère."
EndIf
EndIf
If Coeff > Poids
Coeffdif$ = Str(Coeff - Poids)
Coeffa$ = "Vous êtes " + Coeffdif$ + " Kg sous votre poids normal."
ElseIf Coeff < Poids
Coeffdif$ = Str(Poids - Coeff)
Coeffa$ = "Vous êtes " + Coeffdif$ + " Kg au-dessus de votre poids normal."
Else
Coeffa$ = "Vous avez un poids normal."
EndIf
If Ideal > Poids
Idealdif$ = Str(Ideal - Poids)
Ideala$ = "Vous êtes " + Idealdif$ + " Kg sous votre poids idéal."
ElseIf Ideal < Poids
Idealdif$ = Str(Poids - Ideal)
Ideala$ = "Vous êtes " + Idealdif$ + " Kg au-dessus de votre poids idéal."
Else
Ideala$ = "Vous avez le poids idéal."
EndIf
If IMCa$ = "Vous êtes trop maigre." Or IMCa$ = "Vous êtes en surpoids."
SetGadgetColor(#Str_Conseil,#PB_Gadget_BackColor,RGB($FF,$FF,$00))
Conseil$ = "S'il vous plaît prêtez plus d'attention à votre alimentation."
ElseIf IMCa$ = "Vous êtes en surpoids."
SetGadgetColor(#Str_Conseil,#PB_Gadget_BackColor,RGB($FF,433,$00))
Conseil$ = "S'il vous plaît consultez un médecin!"
ElseIf IMCa$ = "Vous avez de l'obésité."
SetGadgetColor(#Str_Conseil,#PB_Gadget_BackColor,RGB($FF,$66,$00))
Conseil$ = "S'il vous plaît consultez un médecin!"
Else
SetGadgetColor(#Str_Conseil,#PB_Gadget_BackColor,RGB($00,$CC,$00))
Conseil$ = "Tout est Ok."
EndIf
SetGadgetText(#Str_PoidsNormal, Coeff$)
SetGadgetText(#Str_PoidsIdeal, Ideal$)
SetGadgetText(#Str_IMC, IMC$)
SetGadgetText(#Str_Verdict_Poids_normal, Coeffa$)
SetGadgetText(#Str_Verdict_Poids_Ideal, Ideala$)
SetGadgetText(#Str_Verdict_Imc, IMCa$)
SetGadgetText(#Str_Conseil, Conseil$)
Repeat
Event = WaitWindowEvent(1)
Until Event = #PB_Event_CloseWindow
End
EndIf
EndProcedure
Procedure Ouvrir_Fenetre_Renseignements()
If OpenWindow(#Fenetre_Renseignements, 0, 00, 240, 140, "Calculateur de poids", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
TextGadget(#Txt_Poids, 5, 15, 110, 20, "Entrez le poids (en Kg)")
TextGadget(#Txt_Taille, 5, 40, 110, 20, "Entrez la taille (en cm)")
StringGadget(#Str_Poids, 125, 15, 105, 20, "")
StringGadget(#Str_Taille, 125, 40, 105, 20, "")
OptionGadget(#Femme, 90, 80, 65, 25, "Femme")
OptionGadget(#Homme, 165, 80, 65, 25, "Homme")
TextGadget(#Txt_Sexe, 5, 80, 75, 25, "Sexe :", #SS_CENTERIMAGE)
ButtonGadget(#Btn_Ok, 75,110, 90, 25, "Voir les résultats")
EndIf
Repeat
Event = WaitWindowEvent(1)
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #Femme
Sexe = #Femme
Case #Homme
Sexe = #Homme
Case #Btn_Ok
Poids = ValD(GetGadgetText(#Str_Poids))
Taille = ValD(GetGadgetText(#Str_Taille))
If poids > 0.0 Or Taille > 0.0
CloseWindow(#Fenetre_Renseignements)
Ouvrir_Fenetre_Resultats()
Else
CloseWindow(#Fenetre_Renseignements)
Break
EndIf
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Fenetre_Renseignements
CloseWindow(#Fenetre_Renseignements)
EndSelect
EndSelect
ForEver
EndProcedure
Ouvrir_Fenetre_Renseignements()