Copier une partie de liste dans une autre liste

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Copier une partie de liste dans une autre liste

Message 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.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Copier une partie de liste dans une autre liste

Message 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


Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Copier une partie de liste dans une autre liste

Message par Kwai chang caine »

Tu peux peut etre aussi jouer avec les pointeurs comme BERIKCO :wink:
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
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Copier une partie de liste dans une autre liste

Message 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.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Répondre