ça merdouille complètement , mais on peut afficher la fiche d'un élève choisi dans la liste.
Comme je n'y connais rien dans ce type d'appli ça m'intéressait d"y jeter un oeil
reprend le code en tenant compte des conseils de nico .
Je crois que je vais aussi me faire un exercice pour apprendre , je vais gérer une base de données livres , je risque de bientôt revenir sur le forum avec mes questions
Code : Tout sélectionner
; Logiciel de gestion d'eleves par Williamm-2004
Enumeration
#Window_0
#Window_1
#Window_2
EndEnumeration
; constante de la liste d'eleves
Enumeration
#ListIcon_0
EndEnumeration
; constante du menu
Enumeration
#menu_Ajouter
#menu_Info
#menu_Quitter
EndEnumeration
;constante des gadgets pour la fenetre 1
Enumeration
#ListIcon_0
#Text_Nom
#String_Nom
#Text_Prenom
#String_Prenom
#Text_Date
#String_Date
#Text_Ville
#String_Ville
#Button_Ajouter
EndEnumeration
; constante des fenetres
;creation d'un eleve
Structure eleve_struct ;ici on cré une structure avec les champs
Nom.s ;qui t'intéresse
Prenom.s
date.s
Ville.s
EndStructure
NewList Items.eleve_struct() ;on cré une nouvelle liste
;procedure de gestion des items
Procedure.b item_clear()
ClearList(Items())
ProcedureReturn 1
EndProcedure
;ajouter un eleve dans la liste
Procedure.b item_add()
If AddElement(Items())
Items()\Nom= GetGadgetText(#String_Nom)
Items()\Prenom= GetGadgetText(#String_Prenom)
Items()\date= GetGadgetText(#String_Date)
Items()\Ville= GetGadgetText(#String_Ville)
AddGadgetItem(#ListIcon_0, -1,Items()\Nom) ;on affiche le nom dans le ListIconGadget
EndIf
ProcedureReturn 1
EndProcedure
; police de la liste
Global FontID1
FontID1 = LoadFont(1, "Arial", 11, #PB_Font_Bold)
FontID2 = LoadFont(2, "Arial", 12, #PB_Font_Bold)
; procedure de du menu info
Procedure info()
MessageRequester("A propos ","Gestion d'eleves par Williamm ",#MB_ICONINFORMATION)
EndProcedure
;procedure la fenetre principale
Procedure Open_Window_0()
If OpenWindow(#Window_0 , 216, 0, 682, 624, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Gestion d'eleves - copyright 2004 ")
If CreateGadgetList(WindowID())
ListIconGadget(#ListIcon_0, 10, 10, 660, 600, "Nom des Eleves ", 656, #PB_ListIcon_CheckBoxes | #PB_ListIcon_GridLines)
SetGadgetFont(#ListIcon_0, FontID1)
If CreateMenu(0,WindowID())
MenuTitle( "Fichier")
MenuItem (#menu_Ajouter ,"Ajouter un eleve ")
MenuItem(#menu_Info ,"Information ")
MenuItem(#menu_Quitter,"Quitter ")
EndIf
EndIf
EndIf
EndProcedure
; procedure de la fenetre ajouter
Procedure Open_Window_1()
If OpenWindow(#Window_1, 339, 72, 444, 420, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered , "Ajouter Eleves ")
If CreateGadgetList(WindowID())
TextGadget(#Text_Nom, 20, 40, 90, 30, "Nom : ", #PB_Text_Center)
SetGadgetFont(#Text_Nom, FontID2)
StringGadget(#String_Nom, 110, 40, 210, 30, "")
SetGadgetFont(#String_Nom, FontID2)
TextGadget(#Text_Prenom, 10, 110, 90, 30, "Prenom : ", #PB_Text_Center)
SetGadgetFont(#Text_Prenom, FontID2)
StringGadget(#String_Prenom, 110, 110, 210, 30, "")
SetGadgetFont(#String_Prenom, FontID2)
TextGadget(#Text_Date, 0, 170, 130, 50, "Date de naissance : ", #PB_Text_Center)
SetGadgetFont(#Text_Date, FontID2)
StringGadget(#String_Date, 130, 180, 210, 30, "")
SetGadgetFont(#String_Date, FontID2)
TextGadget(#Text_Ville, 20, 250, 100, 30, "Ville : ", #PB_Text_Center)
SetGadgetFont(#Text_Ville, FontID2)
StringGadget(#String_Ville, 120, 250, 210, 30, "")
SetGadgetFont(#String_Ville, FontID2)
ButtonGadget(#Button_Ajouter, 30, 340, 120, 40, "Ajouter ")
SetGadgetFont(#Button_Ajouter, FontID2)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_EventCloseWindow
Fenetre = EventWindowID()
If Fenetre = #Window_1
Fermer_Window_1 = 1
EndIf
Case #PB_EventGadget
GadgetID = EventGadgetID()
If GadgetID = #Button_Ajouter
item_add()
Fermer_Window_1 = 1
EndIf
EndSelect
Until Fermer_Window_1 = 1
CloseWindow(#Window_1)
EndIf
EndIf
EndProcedure
Procedure Open_Window_2(Element)
If OpenWindow(#Window_2, 339, 72, 444, 420, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered , "Fiche Eleve")
If CreateGadgetList(WindowID())
TextGadget(#Text_Nom, 20, 40, 90, 30, "Nom : ", #PB_Text_Center)
SetGadgetFont(#Text_Nom, FontID2)
StringGadget(#String_Nom, 110, 40, 210, 30, "")
SetGadgetFont(#String_Nom, FontID2)
TextGadget(#Text_Prenom, 10, 110, 90, 30, "Prenom : ", #PB_Text_Center)
SetGadgetFont(#Text_Prenom, FontID2)
StringGadget(#String_Prenom, 110, 110, 210, 30, "")
SetGadgetFont(#String_Prenom, FontID2)
TextGadget(#Text_Date, 0, 170, 130, 50, "Date de naissance : ", #PB_Text_Center)
SetGadgetFont(#Text_Date, FontID2)
StringGadget(#String_Date, 130, 180, 210, 30, "")
SetGadgetFont(#String_Date, FontID2)
TextGadget(#Text_Ville, 20, 250, 100, 30, "Ville : ", #PB_Text_Center)
SetGadgetFont(#Text_Ville, FontID2)
StringGadget(#String_Ville, 120, 250, 210, 30, "")
SetGadgetFont(#String_Ville, FontID2)
ButtonGadget(#Button_Ajouter, 30, 340, 120, 40, "Quitter la fiche")
SetGadgetFont(#Button_Ajouter, FontID2)
ForEach Items()
If Items()\Nom = GetGadgetItemText(#ListIcon_0, Element, 0)
SetGadgetText(#String_Nom,Items()\Nom)
SetGadgetText(#String_Prenom,Items()\Prenom)
SetGadgetText(#String_Date,Items()\date)
SetGadgetText(#String_Ville,Items()\Ville)
Break
EndIf
Next
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_EventCloseWindow
Fenetre = EventWindowID()
If Fenetre = #Window_2
Fermer_Window_2 = 1
EndIf
Case #PB_EventGadget
GadgetID = EventGadgetID()
If GadgetID = #Button_Ajouter
Fermer_Window_2 = 1
EndIf
EndSelect
Until Fermer_Window_2 = 1
CloseWindow(#Window_2)
EndIf
EndIf
EndProcedure
;boucle principale
Open_Window_0()
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_EventMenu
Select EventMenuID()
Case #menu_Info:info()
Case#menu_Ajouter:Open_Window_1()
Case#menu_Quitter :fermer_window_0= 1
EndSelect
Case #PB_EventGadget
Select EventGadgetID()
Case #ListIcon_0
Position = GetGadgetState(#ListIcon_0)
Open_Window_2(Position)
EndSelect
Case #PB_EventCloseWindow
Fenetre = EventWindowID()
If Fenetre = #Window_0
fermer_window_0 = 1
EndIf
EndSelect
Until fermer_window_0 = 1
End