Page 1 sur 1

Newlist avec la v4

Publié : mar. 21/févr./2006 0:11
par Le Soldat Inconnu
J'ai ça qui ne marche plus ? le compilo me dis que ma linkedlist n'existe pas

Code : Tout sélectionner

Structure C_Evenement_Info
  Date.l
  Heure.l
  Titre.s
  Texte.s
  Repetition_Format.l
  Repetition_Quantite.l
  Repetition_Nb.l
  Affiche.l
  Voir_ImageID.l
  Alarme_ImageID.l
  Fichier.s
EndStructure
NewList C_Evenement.C_Evenement_Info()

Procedure Calendrier_Tri_Evenements()
  SortStructuredList(C_Evenement(), 0, OffsetOf(C_Evenement_Info\Heure), #PB_Sort_Long)
EndProcedure
mais en écrivant comme ça, ça a l'air de marcher (sans aide, pas évident)

Code : Tout sélectionner

Structure C_Evenement_Info
  Date.l
  Heure.l
  Titre.s
  Texte.s
  Repetition_Format.l
  Repetition_Quantite.l
  Repetition_Nb.l
  Affiche.l
  Voir_ImageID.l
  Alarme_ImageID.l
  Fichier.s
EndStructure
Global NewList C_Evenement.C_Evenement_Info()

Procedure Calendrier_Tri_Evenements()
  SortStructuredList(C_Evenement(), 0, OffsetOf(C_Evenement_Info\Heure), #PB_Sort_Long)
EndProcedure
c'est bien comme ça ?

vivement l'aide quand même :wink:

Publié : mar. 21/févr./2006 0:14
par Droopy
Les linkedList ne sont plus globales par défaut avec la v4.

Publié : mar. 21/févr./2006 0:24
par Le Soldat Inconnu
Pratique, mais fallait le savoir ;)

Et pour les tableaux ?

Publié : mar. 21/févr./2006 0:41
par Dorian
Le Soldat Inconnu a écrit :Pratique, mais fallait le savoir ;)

Et pour les tableaux ?
Idem

Publié : mar. 21/févr./2006 0:59
par Droopy
Tu peux aussi passer ta LinkedList en paramètre de ta procédure (avec la v4), ce qui peux être pratique si tu ne veux pas la rendre globale :wink:

Publié : mar. 21/févr./2006 8:37
par bernard13
merci
j'ai trouver mon erreur dans mon code

Publié : mar. 21/févr./2006 12:27
par nico
(sans aide, pas évident)
Ben tu as le fichier readme.html qui est inclus dans la V4, de toute façon t'as du lire un minimum de choses vu que la boucle de gestion elle même à changé, tu aurais bien plus de problèmes.

Publié : mar. 21/févr./2006 22:32
par Le Soldat Inconnu
de toute façon t'as du lire un minimum de choses vu que la boucle de gestion elle même à changé, tu aurais bien plus de problèmes.
Heu 8O

Oula oui, j'étais pas aller jusque la dans la modification de mon code pour le passer en V4

Publié : mer. 01/mars/2006 10:31
par bernard13
avec la version beta4

je suis aperçu que lorsque l'on fait
NewList Gestion.liste()

ca remarche comme avant
avec la beta 3
il fallait faire Global NewList Gestion.liste()

Publié : mer. 01/mars/2006 10:59
par Flype
Oui mais attention du coup ta liste n'est pas global, sauf à faire un share.

Définie avec 'Global', la liste est accessible dans une procédure :

Code : Tout sélectionner

Global NewList liste.s()

AddElement(liste()) : liste() = "pure"
AddElement(liste()) : liste() = "basic"

Procedure nbElements()
  
  ProcedureReturn CountList(liste())
  
EndProcedure

Debug nbElements()
Définie sans 'Global', la liste n'est pas accessible dans une procédure sauf on précise avec Share liste() :

Code : Tout sélectionner

NewList liste.s()

AddElement(liste()) : liste() = "pure"
AddElement(liste()) : liste() = "basic"

Procedure nbElements()
  
  Shared liste.s()
  
  ProcedureReturn CountList(liste())
  
EndProcedure

Debug nbElements()
Autre possibilité intéressante, on garde liste() en local,
et grace au passe d'argument la liste devient accessible dans une procedure :

Code : Tout sélectionner

NewList liste.s()

AddElement(liste()) : liste() = "pure"
AddElement(liste()) : liste() = "basic"

Procedure nbElements(userlist.s())
  
  ProcedureReturn CountList(userlist())
  
EndProcedure

Debug nbElements(liste())