ne sachant pas où mettre mon code, je l'ai rangé dans cette rubrique
Code : Tout sélectionner
;{- Enumérations / DataSections
;{ Fenetres
Enumeration
#Fenetre_Calcul
EndEnumeration
;}
;{ Gadgets
Enumeration
#Txt_Enonce
#Lst_Moyennes
#Str_Valeurs
#Btn_Entree
#Btn_Reinit
#Btn_Calculer
#Str_Somme
#Str_Nbre_Valeurs
#Str_Moyenne
#Txt_Somme
#Txt_Nbre_valeurs
#Txt_Moyenne
EndEnumeration
;}
;{ Polices
Enumeration
#police
EndEnumeration
;}
;}
;{ Affectation des polices
LoadFont(#police, "Arial", 14, #PB_Font_Bold)
SetGadgetFont(#PB_Default, FontID(#police))
;}
;{ Variables
Global Evenement, i, Nombre.d = 0.0, Somme.d = 0.0, NewList Moyennes.d()
;}
;{ Déclaration des procédures
Declare Ajouter_element_Liste()
Declare Calculer()
Declare Reinitialiser()
Declare Quitter()
Declare Programme_principal()
;}
;{ Lancement du programme principal
Programme_principal()
;}
;{ Procédures
Procedure Ajouter_element_Liste()
;Ajouter un élément à la liste
AddElement(Moyennes())
;Afficher la valeur du Combo dans la liste
Moyennes() = ValD(GetGadgetText(#Str_Valeurs))
AddGadgetItem(#Lst_Moyennes, ListIndex(Moyennes()), StrD(Moyennes()))
;Effacer la valeur du Combo et le réinitialiser
SetGadgetText(#Str_Valeurs, " ")
SetActiveGadget(#Str_Valeurs)
EndProcedure
Procedure Calculer()
i = 0
While i < ListSize(Moyennes())
SelectElement(Moyennes(), i)
Nombre = Moyennes()
i + 1
Somme + Nombre
Wend
SetGadgetText(#Str_Somme, StrD(Somme))
SetGadgetText(#Str_Nbre_Valeurs, StrD(ListSize(Moyennes())))
SetGadgetText(#Str_Moyenne, StrD(ValD(GetGadgetText(#Str_Somme)) / ValD(GetGadgetText(#Str_Nbre_Valeurs))))
Nombre = 0 : Somme = 0
EndProcedure
Procedure Reinitialiser()
;supprimer le contenu de tous les gadgets
i = 0
While i <= ListSize(Moyennes())
RemoveGadgetItem(#Lst_Moyennes, 0)
i + 1
Wend
SetGadgetText(#Str_Somme, "")
SetGadgetText(#Str_Nbre_Valeurs, "")
SetGadgetText(#Str_Moyenne, "")
;Vider la liste
ClearList(Moyennes())
SetActiveGadget(#Str_Valeurs)
EndProcedure
Procedure Quitter()
CloseWindow(#Fenetre_Calcul)
End
EndProcedure
Procedure Programme_principal()
If OpenWindow(#Fenetre_Calcul, 450, 200, 400+20, 380, "Calculer une moyenne", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
TextGadget(#Txt_Enonce, 10, 0, 210, 40, "Entrez des valeurs", #SS_CENTERIMAGE)
ListIconGadget(#Lst_Moyennes, 250, 10, 160, 240, "", 100, #LVS_NOCOLUMNHEADER)
SendMessage_(GadgetID(#Lst_Moyennes), #LVM_SETCOLUMNWIDTH, 0, #LVSCW_AUTOSIZE_USEHEADER)
StringGadget(#Str_Valeurs, 10, 40, 180, 30, "")
ButtonGadget(#Btn_Entree, 200, 40, 30, 30, " => ", #PB_Text_Center)
ButtonGadget(#Btn_Calculer, 10, 120, 230, 30, "Calculer la moyenne")
ButtonGadget(#Btn_Reinit, 10, 210, 230, 30, "Réinitialiser")
StringGadget(#Str_Somme, 250, 260, 160, 30, "")
StringGadget(#Str_Nbre_Valeurs, 250, 300, 160, 30, "")
StringGadget(#Str_Moyenne, 250, 340, 160, 30, "")
TextGadget(#Txt_Somme, 10, 260, 230, 30, "Somme des valeurs", #SS_CENTERIMAGE)
TextGadget(#Txt_Nbre_valeurs, 10, 300, 230, 30, "Nombre de valeurs", #SS_CENTERIMAGE)
TextGadget(#Txt_Moyenne, 10, 340, 230, 30, "Moyenne", #SS_CENTERIMAGE)
BindGadgetEvent(#Btn_Entree, @Ajouter_element_Liste())
BindGadgetEvent(#Btn_Calculer, @Calculer())
BindGadgetEvent(#Btn_Reinit, @Reinitialiser())
BindEvent(#PB_Event_CloseWindow, @Quitter())
SetActiveGadget(#Str_Valeurs)
EndIf
EndProcedure
;}
;{- Boucle
Repeat
Evenement = WaitWindowEvent()
ForEver
;}