Tableau ds des structures

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Tableau ds des structures

Message par lionel_om »

Bonjour.
Est-ce que qq1 sait comment on peut faire pour créer une structure comprenant un tableau ou une liste chaînée ???

Merci ++
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

Utilise ceci (aide Structure):

Code : Tout sélectionner

Exemple 2 : Une structure plus complexe (Tableau statique imbriqué)

   Structure Fenetre
    *FenetreSuivante.Fenetre  ; Pointe vers un autre objet fenetre
    x.w 
    y.w
    Nom.s[10]  ; 10 noms possibles
  EndStructure
Pour les listes chainées, il suffit de stocker l'adresse de cette derniere.
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Oki merci ! :D
Je savais pas qu'on pouvait créer un tableau sans le "Dim".

Pour les listes chainées, on peut mettre celles de PB ds les procédures ??? Sinon pas grave j'utiliserai celle de Dri...

Merci pr ta réponse si rapide Drac :wink:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Pour les listes chainées, on peut utiliser un pointeur:

Code : Tout sélectionner

Structure annuaire 
  *Next.annuaire 
  *previous.annuaire  
  Nom2.s 
  age2.b 
EndStructure 

Structure annuaire2  
Nom.s 
age.b 
EndStructure

Structure liste 
  a.l
  b.l
  c.l
  *pointeur.annuaire
EndStructure

test.liste

NewList agenda.annuaire2() 

test\pointeur=AddElement(agenda())
test\pointeur\Nom2="Paul"

test\pointeur=AddElement(agenda())
test\pointeur\Nom2="Anna"


ResetList(agenda())
test\pointeur=NextElement(agenda()) 
Debug test\pointeur\Nom2

test\pointeur=NextElement(agenda())
Debug test\pointeur\Nom2 
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

[voir post suivant :wink: ]
Dernière modification par Dräc le ven. 21/janv./2005 21:41, modifié 1 fois.
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

;) je reconnais l’exemple.

Je pense que lionel_om parle des Listes dans les structures et techniquement, les listes chaînées de Pure ne se prêtent pas vraiment à leur insertion dans une structure.
Il faut se doter d’une variante des telles listes.

Je me rappelle que l'on a déjà entamé une discussion à ce sujet ici :
http://purebasic.hmt-forum.com/viewtopic.php?t=2081
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Oui je parlais du fait d'avoir qqchose du genre :

Structure Fichier
Nom.s
....
LinkedList (string)
endstructure

Pour avoir chaque ligne dans une "cellule" de la liste ...
Mais sans passser par la LinkedList de PB ca devient plus complexe là non ???
J'avais fais des exemples : LinkedList et Tableaux dynamiques (qui sont passés inaperçus sur le forum !! :cry: :cry: ), justement pour palier à ce problème (plus faire mumuse avec les pointeurs et autres).

Car les programmes que Dri ou les autres ont fait dessus ne marchent que pour des entiers non ? pas pour des structures et surment pas pour des strings ???
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

Ben si tu prends la peine de lire le lien que je t'ai proposé, il te dirigera sur le forum anglais vers un exemple de liste chainée s'appliquant sur les structures (et par extension à tous les type)...
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Je pense lionel_om que tu es tout à fait capable d'écrire ta propre liste chainee avec plusieurs champs de tout types (logique puisque tu l'as déjà fait pour un seul champ certe).

Dr Dri a posté un exemple de liste chainee, tu verras ce n'est pas plus compliqué, je pense même que tu vas trouvé ça plus simple encore.

Allez dis moi que tu te lances?
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Bah j'en ai fait une également de liste chainée qui gère les structures :

voir le lien ici. Tu m'avais même aidé. Tu ne te rappèle plus Nico ??? :wink:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oui et non, car si tu modifie la structure, tu dois réécrire le code, elle n'est pas transposable.

Regarde celle du Dr Dri.
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Oui c'est vrai, mais je peux adapter ce que j'avais fait avec mon Alloc dynamique (cf un autre post).

Mais je V regarder ce que Dri a fait :wink: (je l'ai déja sur mon DD son prog :D )
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre