probleme avec ClearList
Publié : lun. 20/févr./2006 15:51
bonjour
j'ai repris un code que j'avais ecris en 3.94
quand je charge ce code dans la version 4 beta 3
j'ai une erreur avec ClearList(Tour())
il marque que que ma variable n'est pas une fonction ,array or linked list *
pourtant avec la 3.94 ce code marche tres bien
qui peux m'aider a le corriger pour la version 4.0 beta3
svp merci
j'ai repris un code que j'avais ecris en 3.94
quand je charge ce code dans la version 4 beta 3
j'ai une erreur avec ClearList(Tour())
il marque que que ma variable n'est pas une fonction ,array or linked list *
pourtant avec la 3.94 ce code marche tres bien
qui peux m'aider a le corriger pour la version 4.0 beta3
svp merci
Code : Tout sélectionner
Gestion de mon repertoire de closeup version 1
;ecris par Jbernard -2005
; defintion des constantes les fenetres
Enumeration
#Fenetre_main
#fenetre_ajouter
#fenetre_voirl
EndEnumeration
;les gadgets
Enumeration
#liste
#bouton_mise
#bouton_search
#bouton_voir
#cadre_0
#nom_tour
#String_nom
#text_categorie
#categorie
#text_matos
#String_matos
#bouton_ajoute
#bouton_annule
#cadre_1
#listvoir
EndEnumeration
;les menus
Enumeration
#menu_nouveau
#menu_charger
#menu_sauver
#menu_quitter
#menu_creation
#menu_editer
#menu_effacer
#menu_ajouter
#menu_editer2
#menu_effacer2
#menu_about
EndEnumeration
;les fonts
Enumeration
#font1
#font2
#font3
EndEnumeration
;les statusbar
Enumeration
#statusbar
EndEnumeration
;chargenent des fonts
LoadFont(#font1,"Courrier",9,#PB_Font_Bold)
LoadFont(#font2,"Courrier",11,#PB_Font_Bold)
LoadFont(#font3,"Courrier",12,#PB_Font_Bold)
;creation d'un element
Structure liste
Nom.s
Categorie.s
Matos.s
EndStructure
NewList Tour.liste()
Procedure.b effacer_liste()
ClearList(Tour())
ProcedureReturn l
EndProcedure
Procedure.b ajoute_tour()
If AddElement(tour())
Tour()\Nom=GetGadgetText(#String_nom)
Tour()\Categorie=GetGadgetText(#categorie)
Tour()\Matos=GetGadgetText(#String_matos)
AddGadgetItem(#liste,-1,tour()\Nom+Chr(10)+tour()\Categorie+Chr(10)+tour()\Matos)
EndIf
ProcedureReturn l
EndProcedure
;les procedures des fenetres
Procedure main()
If OpenWindow(#Fenetre_main,0,0,980,720,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered,"Gestion de mon repertoire de magie ")
If CreateMenu(0,WindowID(#Fenetre_main))
MenuTitle("Fichier ")
MenuItem(#menu_nouveau,"Crée une nouvelle liste ")
MenuBar()
MenuItem(#menu_charger,"Charge une liste ")
MenuItem(#menu_sauver,"Sauvegarde une liste ")
MenuBar()
MenuItem(#menu_quitter,"Quitter ")
MenuTitle(" Gestion des tours")
MenuItem(#menu_creation,"Ajouter un nouveau tour à la liste ")
MenuItem(#menu_editer,"Editer un tour de la liste ")
MenuItem(#menu_effacer,"Effacer un tour de la liste ")
MenuTitle("Creation du repertoire ")
MenuItem(#menu_ajouter,"Ajoute un tour dans le repertoire")
MenuItem(#menu_editer2,"Editer le repertoire ")
MenuItem(#menu_effacer2,"Effacer un tour du repertoire")
MenuTitle("Aide")
MenuItem(#menu_about,"About")
EndIf
If CreateGadgetList(WindowID(#Fenetre_main))
ListIconGadget(#liste,20,50,940,620,"Nom du tour : ",360,#PB_ListIcon_CheckBoxes|#PB_ListIcon_GridLines)
AddGadgetColumn(#liste,1,"Categorie :",175)
AddGadgetColumn(#liste,2,"Materiel :",400)
ButtonGadget(#bouton_mise,25,10,130,30,"Mise à jour ")
ButtonGadget(#bouton_search,190,10,130,30,"Recherche ")
ButtonGadget(#bouton_voir,355,10,130,30,"Voir la liste en cours ")
SetGadgetFont(#liste,UseFont(#font3))
GadgetToolTip(#bouton_search ,"Recherche un tour dans la liste ")
GadgetToolTip(#bouton_mise,"Mise à jour de la liste ")
GadgetToolTip(#bouton_voir," voir toute la liste ")
EndIf
hStatusBar = CreateStatusBar(#statusbar, WindowID(#Fenetre_main))
If hStatusBar
SendMessage_(hStatusBar, #WM_SETFONT, UseFont(#font2), #False)
AddStatusBarField(190)
AddStatusBarField(50)
StatusBarText(#statusbar, 0, "Nombre de tours :",#PB_StatusBar_Center|#PB_StatusBar_Raised)
StatusBarText(#statusbar,1,Str(CountGadgetItems(#liste)))
EndIf
EndIf
EndProcedure
Procedure ajouter_liste()
If OpenWindow(#fenetre_ajouter,0,0,640,480,#PB_Window_TitleBar|#PB_Window_ScreenCentered,"Ajouter un nouveau tour à la liste ")
If CreateGadgetList(WindowID(#fenetre_ajouter))
Frame3DGadget(#cadre_0,15,15,610,445,"")
TextGadget(#nom_tour,230,50,180,30,"Nom de la routine : ",#PB_Text_Center)
StringGadget(#String_nom,180,80,270,25,"")
TextGadget(#text_categorie,250,150,130,30,"Categorie :",#PB_Text_Center)
ComboBoxGadget(#categorie,260,180,100,100)
AddGadgetItem(#categorie,-1,"Carte ")
AddGadgetItem(#categorie,-1,"Corde ")
AddGadgetItem(#categorie,-1,"Divers ")
AddGadgetItem(#categorie,-1,"Feu ")
AddGadgetItem(#categorie,-1,"Foulard ")
AddGadgetItem(#categorie,-1,"Mentalisme ")
AddGadgetItem(#categorie,-1,"Piece ")
TextGadget(#text_matos,225,250,185,30,"Materiel pour la routine :",#PB_Text_Center)
StringGadget(#String_matos,180,280,270,25,"")
ButtonGadget(#bouton_ajoute,80,390,230,30,"Ajouter un nouveau tour ")
ButtonGadget(#bouton_annule,420,390,130,30,"Annuler ")
SetGadgetFont(#nom_tour,UseFont(#font3))
SetGadgetFont(#String_nom,UseFont(#font2))
SetGadgetFont(#text_categorie,UseFont(#font3))
SetGadgetFont(#text_matos,UseFont(#font3))
SetGadgetFont(#String_matos,UseFont(#font3))
SetGadgetFont(#bouton_ajoute,UseFont(#font3))
SetGadgetFont(#bouton_annule,UseFont(#font3))
SetGadgetFont(#categorie,UseFont(#font1))
EndIf
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadgetID()
Case #bouton_ajoute
ajoute_tour()
StatusBarText(#statusbar,1,Str(CountGadgetItems(#liste)))
Break
Case #bouton_annule
Break
EndSelect
EndSelect
ForEver
CloseWindow(#fenetre_ajouter)
UseWindow(#Fenetre_main)
EndProcedure
Procedure vueliste()
If OpenWindow(#fenetre_voirl,0,0,380,280,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Vue de la liste des tours en cours ")
If CreateGadgetList(WindowID(#fenetre_voirl))
Frame3DGadget(#cadre_1,10,5,275,265,"")
ListViewGadget(#listvoir,20,20,250,240)
;###############################
ForEach tour()
AddGadgetItem(#listvoir,-1,tour()\Nom)
Next
;###############################
EndIf
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow:Break
EndSelect
ForEver
CloseWindow(#fenetre_voirl)
UseWindow(#Fenetre_main)
EndProcedure
;Boucle principale du programme
main()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Menu
Select EventMenuID()
Case #menu_creation:ajouter_liste()
EndSelect
Case #PB_Event_Gadget
Select EventGadgetID()
Case #bouton_voir:vueliste()
EndSelect
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
End