Page 1 sur 1
passer de array à list et reciproquement
Publié : jeu. 20/févr./2014 13:28
par zazoux
Bonjour,
je serais interessé de savoir si il y a moyen de passer les données contenues dans des arrays en lists et réciproquement.
merci d'avance
Re: passer de array à list et reciproquement
Publié : jeu. 20/févr./2014 14:59
par Backup
oui , en lisant les membres un par un ...

(c'est tres rapide )
exemple :
Code : Tout sélectionner
Global newlist maliste.s() ; une liste de chaine de caractere
Global Dim montableau.s(10,10,10) ; ici pour un tableau de chaine de caracteres
Declare Tab_to_list()
Declare List_to_Tab()
;on va remplir le tableau avec des données aléatoire
For x=0 to 10
For y=0 to 10
For z=0 to 10
montableau.s(x,y,z) =chr(random(122,32)) ; on met des caracteres au hazard dans le tableau
Next z
Next y
Next x
; ici le tableau est remplis de caracteres
; on affiche un memebre au hasar pour voir la valeur
debug montableau.s(1,8,10)
calldebugger
; exemple 1 on remplis la list avec le tableau existant
Tab_to_list()
; ici la list est remplis par le tableau ; a verifier dans le debugger
calldebugger
FreeArray(montableau.s()) ; je detruit le tableau pour pouvoir le creer et le remplir a nouveau
List_to_Tab()
; ci on a re-rempli le tableau avec la liste
;pour verifier que rien n'a bouger on affiche le meme membre qu'au debut
debug montableau.s(1,8,10)
Calldebugger
;- Zone Procedure
; on va transferer le tableau dans notre liste chainée
Procedure Tab_to_list()
ResetList(maliste.s()) ; met le pointeur de list au debut de la liste
For x=0 to 10
For y=0 to 10
For z=0 to 10
AddElement(maliste.s()) ; ajoute un element dans la liste
maliste.s()=montableau.s(x,y,z) ; on ajoute donc l'element de tableau
Next z
Next y
Next x
; Fin
EndProcedure
Procedure List_to_Tab()
ResetList(maliste.s()) ; met le pointeur de list au debut de la liste
Dim montableau.s(10,10,10) ; reinitialise le tableau
For x=0 to 10
For y=0 to 10
For z=0 to 10
NextElement(maliste.s())
montableau.s(x,y,z) =maliste.s() ; on ajoute donc l'element de list dans le tableau
Next z
Next y
Next x
; Fin
EndProcedure
; EPB
Re: passer de array à list et reciproquement
Publié : jeu. 20/févr./2014 15:14
par Fig
+1
Code : Tout sélectionner
Dim Tableau(10)
NewList Liste()
;rempli le tableau
For i=0 To 10
tableau(i)=i
Next i
;copie les données du tableau dans la liste
For i=0 To 10
AddElement(liste())
liste()=tableau(i)
Next i
;affiche les valeurs de la liste pour preuve...
Debug "Contenu de la liste()"
ForEach liste()
Debug liste()
Next
;créé un nouveau tableau vide
Dim Tableau2(10)
;la réciproque... copie de la liste vers le tableau2
i=0
ForEach liste()
Tableau2(i)=liste()
i+1
Next
;affiche les valeurs du tableau2 pour preuve
Debug "Contenu du tableau2"
For i=0 To 10
Debug Tableau2(i)
Next i
Re: passer de array à list et reciproquement
Publié : jeu. 20/févr./2014 15:42
par Backup
Arf ! Fig a ajouté un code avant que j'ai eu le temps de pondre le miens

le miens part sur un tableau a 3 éléments Ascii , histoire de montrer que ça marche aussi en multi -dimension

Re: passer de array à list et reciproquement
Publié : jeu. 20/févr./2014 16:05
par zazoux
Merci beaucoup

Re: passer de array à list et reciproquement
Publié : jeu. 20/févr./2014 21:42
par Fig
Dobro> Je me disais que ce n'était pas ton genre de répondre sans un code concret.

J'ai fait au plus simple...

Re: passer de array à list et reciproquement
Publié : jeu. 20/févr./2014 22:47
par Backup
l'essentiel , c'est que ton code soit juste, et il l'est comme d'habitude

Re: passer de array à list et reciproquement
Publié : jeu. 20/févr./2014 23:16
par Fig
C'est gentil, mais ça serait malhonnête de prendre le compliment... Car c'est malheureusement faux.

Mais je m'améliore... Comme nous tous et c'est ça qui est bon: on a tous fait du chemin depuis l'inscription ici
