Ajouter , je rentre la date et le poids je clique valider et ça ferme ma fenêtre mais si je clique sur annule la fenêtre Ajouter je ferme pas
je sais que c'est dans repent et until qu'il manque quelque chose j'ai pas l'habitude d'utiliser Bind.
Code : Tout sélectionner
;*** Gertrude
EnableExplicit
;-- Fenetres
Enumeration Windows
#main_Form
#form_Ajoute
EndEnumeration
;-- Gadgets
Enumeration
#list_Poids
#b_Ajouter
#b_Valider
#b_Annuler
#text_Date
#text_Poids
#champ_Date
#champ_Poids
#cadre
EndEnumeration
;-- Variables diverses
Global fermer
;-- Liste pour ajouter une date et un poids
Structure Gestion
Date.s
Poids.s
EndStructure
Global NewList Poids.Gestion()
;-- Procedure pour quitter le logiciel
Procedure evClose()
fermer = EventWindow()
CloseWindow(fermer)
If fermer = #main_Form
End
EndIf
EndProcedure
;-- Procedure ajoute une date et un poids
Procedure.b ajoute_Poids()
LastElement(Poids())
If AddElement(Poids())
Poids()\Date=GetGadgetText(#champ_Date)
Poids()\Poids=GetGadgetText(#champ_Poids)
AddGadgetItem(#list_poids,-1,Poids()\Date+Chr(10)+Poids()\Poids+Chr(10))
EndIf
ProcedureReturn
EndProcedure
;-- Procedure des fenetres
;-- Fenetre pour ajouter une date et un poids
Procedure Ajouter()
OpenWindow(#form_Ajoute,0,0,320,330,"Ajouter une pesée ",#PB_Window_TitleBar|#PB_Window_ScreenCentered)
FrameGadget(#cadre,10,10,300,250,"")
TextGadget(#text_Date,90,70,120,30,"Date --> J/M/A :",#PB_Text_Center)
StringGadget(#champ_Date,45,90,220,20,"")
TextGadget(#text_Poids,90,150,120,30,"Poids :",#PB_Text_Center)
StringGadget(#champ_Poids,45,170,220,20,"")
ButtonGadget(#b_Valider,20,280,100,30,"Valider")
ButtonGadget(#b_Annuler,200,280,100,30,"Annuler")
BindGadgetEvent(#b_Valider,@ajoute_Poids())
BindEvent(#PB_Event_CloseWindow,@evClose(),#form_Ajoute)
EndProcedure
;-- Principale
Procedure Main()
OpenWindow(#main_Form,0,0,800,600,"Gertrude",#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ListIconGadget(#list_poids,100,100,600,280,"Date :",300,#PB_ListIcon_GridLines|#PB_ListIcon_CheckBoxes)
AddGadgetColumn(#list_poids,1,"Poids:",200)
BindEvent(#PB_Event_CloseWindow,@evClose(),#main_Form)
ButtonGadget(#b_Ajouter,30,10,120,30,"Ajouter un poids")
BindGadgetEvent(#b_Ajouter,@Ajouter())
EndProcedure
;-- Boucle du programme
Main()
Repeat
If WaitWindowEvent() = #PB_Event_Gadget And EventGadget() = #b_Valider
evClose()
EndIf
ForEver