Liste chainée

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Nfred
Messages : 16
Inscription : mer. 20/avr./2005 10:35

Liste chainée

Message par Nfred »

Bonjour tout le monde,

J'aurai une petite question concernant les Listes Chainées : Est-il possible de faire une liste chainée-chainée à une autre liste ?

en décodé :

Un exemple bidon pour expliquer ce que je souhaite faire avec les listes chainées. On peut créer un tableau sauf que je ne connais pas la taille max donc une liste correspond mieux aux besoins.

Je veux creer N boutons pouvant contenir Z lignes de textes.
j'aurai pu faire

Code : Tout sélectionner

Dim tableau.s(1000,1000)
pour 1000 boutons possibles et 1000 lignes de texte sauf que c'est gourmand en mémoire et pas propre à mes yeux donc j'ai fais ce qui suis:

Code : Tout sélectionner

Structure StructMultiButtonList
  ListTexte.s       
  nbel.l        
EndStructure

Structure StructMultiButtonType
  state.l             
  nbutton.l      
  donnee.s[50]         
  img.l[2]              
  text.s                
  ListGagetText.StructMultiButtonList                ; <====== liste dans la liste
EndStructure

NewList bouton.StructMultiButtonType()

bouton()\(ListGagetText()\ListTexte)=10             ; <====== message d'erreur
Et là j'obtiens une erreur barbare (structure field missing) car le compilateur ne peut trouver le contenu d'une liste d'une liste (compliqué ça !)

si quelqu'un peut m'aider...
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Est-ce le code qui suis que tu cherches à faire ? Si c'est bien ça, tu mettais des parenthèses là où il ne le fallait pas.

Code : Tout sélectionner

Structure StructMultiButtonList 
  ListTexte.s        
  nbel.l        
EndStructure 

Structure StructMultiButtonType 
  state.l              
  nbutton.l      
  donnee.s[50]          
  img.l[2]              
  text.s                
  ListGagetText.StructMultiButtonList                ; <====== liste dans la liste 
EndStructure 

NewList bouton.StructMultiButtonType() 

bouton()\ListGagetText\ListTexte="10"     
Si tu cherches à faire Liste_Primaire()\Liste_Secondaire()\Texte je crois que ce n'est pas possible
Dernière modification par Oliv le mer. 18/mai/2005 12:53, modifié 1 fois.
Nfred
Messages : 16
Inscription : mer. 20/avr./2005 10:35

Message par Nfred »

Merci à toi Oliv !
:wink:
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

si tu veux faire ce genre de chose (liste dans une liste) il faut recoder toi-meme les listes chainées..
si tu veux tu peux utiliser ce code...
http://purebasic.hmt-forum.com/viewtopi ... ight=liste

ce n'est pas la dernière version mais si tu veux je pourrais poster le code (elle est plus rapide car le CountList et le ListIndex sont précalculés comme en PB)

Dri ;)
Répondre