PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Problème avec les tableaux
Problème avec les tableaux
Iniciado por f.forese, 09,abr. 2019 15:20 - 2 respuestas
Publicado el 09,abril 2019 - 15:20
Bonjour,

Je suis actuellement dans l'incompréhension de comment fonctionne une variable tableau dans une autre variable tableau, je m'explique :
//----------------------------
sA est une chaine
nB est un entier
nTabC est un tableau <agrandissement=1> d'entier
MonTableau est un tableau dynamique de Variant

Pour i = 1 A 10
sA="Hello"
nB=i+1
Pour y=1 a 3
nTabC[y]=i
FIN
TableauAjoute(MonTableau,[nTabC,nB,sA])
FIN
//------------------------------

Lorsque j'effectue ce code sous Windev 24, à chaque fois que nTabC[y]=i ça modifie les cases précédentes de MonTableau sans que j'arrive a la fonction TableauAjoute, sachant que je ne veux pas non plus que lorsque j'ajoute nTabC à MonTableau que ça modifie mes valeurs précédentes à l'intérieur de celui-ci.

Voilà si qqn aurait une solution à ce problème je suis preneur.
Miembro registrado
953 mensajes
Publicado el 10,abril 2019 - 09:31
bonjour Fabien,

il faut juste passer par une structure ou une classe qui va inclure votre tableau , avec surtout le mot clé local.

du genre :

str_test est une structure
label est une chaîne
id est un entier
Data est un tableau locallocal d'entier
FIN

tab_result est un tableau de str_test



_tempo est un str_test

_tempo.label="A"
_tempo.id=1
_tempo.data=[1,2,3]
tab_result.Ajoute(_tempo)

_tempo.label="B"
_tempo.id=2
_tempo.data=[4,5,6,7,8,9]
tab_result.Ajoute(_tempo)

POUR TOUT _str de tab_result
Trace(_str.label+" ("+_str.id+")")
Trace(" Data : ")
POUR TOUT _value de _str.data
Trace(_value)
FIN
FIN


bon dèv ;)
Publicado el 10,abril 2019 - 13:35
Fabien Forese a couché sur son écran :
Bonjour,

Je suis actuellement dans l'incompréhension de comment fonctionne une
variable tableau dans une autre variable tableau, je m'explique :
//----------------------------
sA est une chaine
nB est un entier
nTabC est un tableau <agrandissement=1> d'entier
MonTableau est un tableau dynamique de Variant

Pour i = 1 A 10
sA="Hello"
nB=i+1
Pour y=1 a 3
nTabC[y]=i
FIN
TableauAjoute(MonTableau,[nTabC,nB,sA])
FIN
//------------------------------

Lorsque j'effectue ce code sous Windev 24, à chaque fois que nTabC[y]=i ça
modifie les cases précédentes de MonTableau sans que j'arrive a la fonction
TableauAjoute, sachant que je ne veux pas non plus que lorsque j'ajoute nTabC
à MonTableau que ça modifie mes valeurs précédentes à l'intérieur de
celui-ci.

Voilà si qqn aurait une solution à ce problème je suis preneur.


bonjour,

je ne sais pas ce que vous voulez avoir au final mais en toute logique
un tableau de variant attend un variant en entrée (MonTableau est un
tableau dynamique de Variant) et non pas 3 variables (sA est une
chaine, nB est un entier et nTabC est un tableau <agrandissement=1>
d'entier)

donc je ferais comme suit :

MonVariant est un variant
....
MonTableau est un tableau dynamique de Variant
....
...
...
TableauAjoute(MonTableau,MonVariant)

--
Cordialement JeAn-PhI