Activation gadget conditionnée
Publié : lun. 23/mai/2016 10:07
Bonjour à tous, Je crée un calculateur de poids et je souhaiterais que le bouton "Voir les résultats" s'active uniquement si tous les renseignement, Poids, taille et sexe sont validés.
Je vous remercie par anticipation de votre aide qui va m'être plus qu'utile, puisqu'elle me servira plus tard aussi.
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()