Newlist avec la v4

Sujets variés concernant le développement en PureBasic
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Newlist avec la v4

Message 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:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Les linkedList ne sont plus globales par défaut avec la v4.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Pratique, mais fallait le savoir ;)

Et pour les tableaux ?
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Dorian
Messages : 489
Inscription : mar. 15/mars/2005 15:33

Message par Dorian »

Le Soldat Inconnu a écrit :Pratique, mais fallait le savoir ;)

Et pour les tableaux ?
Idem
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message 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:
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

merci
j'ai trouver mon erreur dans mon code
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message 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()
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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())
Image
Répondre