Des listes structurées plus facile à lister ?

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Des listes structurées plus facile à lister ?

Message par Ar-S »

Yo les amis.

Lorsqu'on utilise une liste structurée, ni a t'il pas un moyen de lister tous les éléments de la liste structurée sans avoir à nommer chacune des variables ? dans mon exemple : truc()\forme$ et truc()\taille

Un genre de ExamineListElement() / While NextListElement() / Wend serait vraiment pratique quand on a une structure bien grasse.

Code : Tout sélectionner

Structure description
    forme$
    taille.i
EndStructure

NewList truc.description()

AddElement(truc())
truc()\forme$ = "carré"
truc()\taille = 12

AddElement(truc())
truc()\forme$ = "rond"
truc()\taille = 20


AddElement(truc())
truc()\forme$ = "triangle"
truc()\taille = 38


ForEach truc()
    Debug truc()\forme$ + " de taille " +truc()\taille
Next
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Des listes structurées plus facile à lister ?

Message par case »

pas vraiment possible ou alors en alant lire directement la memoire a l adresse de ton element + offsetof() de l'element de la structure
mais comment gerer les differents types , sans compter les elements structures dans la structure 8O j'ai mal a la tete juste d y penser
ImageImage
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: Des listes structurées plus facile à lister ?

Message par Mesa »

Il faudrait récupérer tous les pointeurs et le type de chaque élément.

PB gère la chaîne des pointeurs en interne et Fred déconseille de trifouiller dans PB parce qu'il peut changer cette gestion sans prévenir.

Code : Tout sélectionner

Dim p(100)

Structure description
	forme$
	taille.i
EndStructure

NewList truc.description()

AddElement(truc())
truc()\forme$ = "carré"
truc()\taille = 12
p(0)=@truc()\forme$
p(1)=@truc()\taille

AddElement(truc())
truc()\forme$ = "rond"
truc()\taille = 20
p(2)=@truc()\forme$
p(3)=@truc()\taille 

AddElement(truc())
truc()\forme$ = "triangle"
truc()\taille = 38
p(4)=@truc()\forme$ 
p(5)=@truc()\taille 

ForEach truc()
	Debug truc()\forme$ + " de taille " +truc()\taille
Next

Debug "==========="
i=0
Repeat
	; 	Debug p(i)
	Debug PeekS(p(i))
	Debug PeekI(p(i+1))
	i=i+2
Until i >=5

; ShowMemoryViewer(@p, 255)

M.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Des listes structurées plus facile à lister ?

Message par Ar-S »

Merci Mesa, c'est fonctionnel même si je ne pense pas utiliser cet ajout de tableau. C'est intéressant.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
threedslider
Messages : 455
Inscription : dim. 01/juil./2018 22:38

Re: Des listes structurées plus facile à lister ?

Message par threedslider »

Oui ce serait bien avoir structures des données à la C dans Purebasic ! Ce serait trop super :mrgreen:
Répondre