Page 1 sur 1
Copier une partie de liste dans une autre liste
Publié : lun. 03/avr./2017 9:49
par Micoute
Bonjour à tous,
Pour l'éveil et l'éducation de mes petits enfants, j'ai créé une liste structurée où on trouve l'état, les régions et les capitales et je souhaiterais quand je sélectionne un état, pouvoir copier les parties correspondantes de la liste mère, dans la liste fille.
je vous remercie tous pour votre aide prècieuse.
Re: Copier une partie de liste dans une autre liste
Publié : lun. 03/avr./2017 10:31
par microdevweb
Bonjour Micoute,
A part avec une boucle je ne voie pas comment
petit exemple
Code : Tout sélectionner
Structure type
nom.s
valeur.l
EndStructure
Global NewList lst1.type()
Global NewList lst2.type()
For N=0 To 10
With lst1()
AddElement(lst1())
\nom="Teste_"+Str(N)
\valeur=N
EndWith
Next
Procedure Recherche(txt.s)
ClearList(lst2())
ForEach lst1()
With lst1()
If \nom=txt
AddElement(lst2())
CopyStructure(@lst1(),@lst2(),type)
EndIf
EndWith
Next
EndProcedure
Recherche("Teste_2")
ForEach lst2()
With lst2()
Debug \nom+" "+Str(\valeur)
EndWith
Next
Re: Copier une partie de liste dans une autre liste
Publié : lun. 03/avr./2017 13:13
par Kwai chang caine
Tu peux peut etre aussi jouer avec les pointeurs comme BERIKCO
http://www.purebasic.fr/english/viewtop ... 07d#p43615
Il copie toute la liste, mais je pense que l'on doit pouvoir en copier qu'une partie avec le même principe
Re: Copier une partie de liste dans une autre liste
Publié : lun. 03/avr./2017 19:38
par Micoute
Merci pour vos réponses est la suivante:
Code : Tout sélectionner
...
Select EventType()
Case #PB_EventType_LeftClick
FindMapElement(Choix$(), Chr(EventGadget() + 65))
ResetList(MaListe())
ClearList(Etat())
While NextElement(MaListe())
If MaListe()\Etat = Choix$()
AddElement(Etat())
Etat()\Etat = MaListe()\Etat
Etat()\Capitale = MaListe()\Capitale
Etat()\Region = MaListe()\Region
Etat()\Bonne_Reponse = Etat()\Capitale
EndIf
Wend
EndSelect
...
Ca ressemble beaucoup au code de microdevweb et ça fonctionne.