Page 1 sur 1

[R]Alimenter un tableau sans connaitre sa taille.

Posté : jeu. 16 mai 2019 17:14
par corrs78
Bonjour,

je vais dans la mauvaise direction ou j'ai raté quelque chose ?

j'ai une boucle For qui PING une liste de machine.
A chaque fois que je ping positivement une machine je voudrais stocker son nom dans un Tableau (array)
Mon problème est que je ne peux pas connaitre la dimension du tableau avant d'arriver à la fin de ma boucle. Et je n'ai pas envie de déclarer un tableau de 100Rows alors que j'aurais que 15 inscriptions (par exemple). Car ensuite je vais devoir récupérer les données de ce tableau pour générer une GUI avec boutons

Dois-je forcément passer par l’écriture dans un fichier pou régler ce problème ?

vous me suivez ? :?

Re: [..]Alimenter un tableau sans connaitre sa taille.

Posté : jeu. 16 mai 2019 18:29
par walkson
Bonjour
je vais dans la mauvaise direction ou j'ai raté quelque chose ?
Les deux :mrgreen:
regardez _ArrayAdd ()
On peut partir d'un array[0] à plus .... en une ou deux dimensions

Re: [..]Alimenter un tableau sans connaitre sa taille.

Posté : jeu. 16 mai 2019 19:55
par jchd
Ce n'est pas pénalisant de déclarer un tableau 10 ou même 1000 fois plus grand que probablement nécessaire. Une fois le nombre d'entrées connu il suffit de faire un seul appel à ReDim, opération rapide et suffisante.

Re: [..]Alimenter un tableau sans connaitre sa taille.

Posté : jeu. 16 mai 2019 20:12
par corrs78
À voilà merci, je cherchais justement la fonction qui permettait de redimenssionner le tableau après coup. Je teste ça demain. Bonne soirée

Re: [..]Alimenter un tableau sans connaitre sa taille.

Posté : dim. 19 mai 2019 17:39
par Tlem
Bonjour.
Une autre solution consiste à stocker les données dans une simple chaine et à la fin de la boucle d'utiliser StringSplit pour obtenir le tableau correctement dimensionné avec la bonne valeur dans l'élément 0. ^^

[R]Alimenter un tableau sans connaitre sa taille.

Posté : dim. 19 mai 2019 19:41
par corrs78
Merci Tlem, je n'avais pas pensé à cette astuce.
Finalement j'ai opté pour la solution _ArrayAdd().