Gambas France BETA


Pas de compte ? Incription

Dimension d'un tableau

Ce sujet est résolu.

1
AuteurMessages
valaquarus#1 Posté le 28/7/2022 à 13:56:42
-- Unus Ex Altera --Bonjour à tous,
je ne comprends pas comment allouer dynamiquement la dimension d'un tableau.
Si je déclare ainsi un tableau de float :
1
PRIVATE fValeur AS NEW Float[]
La dimension de celui-ci est bien de un ou zéro ?
sinon comment faire augmenter cette dimension au fur et à mesure du besoin, c'est à dire quand on créer une nouvelle clé d'indice.
Philippe

La documentation n'est pas très explicite : Déclaration de tableaux

Modification de la demande :

En fait mon tableau est à une dimension et ce n'est pas sa dimension que je voudrais changer dynamiquement mais le nombre d'item qu'il contient.
Exemple : je pars avec
1
PRIVATE fValeur AS NEW FLOAT[12]
ou n'importe quel nombre de départ que je peux mettre dans une variable du genre :
1
2
PRIVATE j AS INTEGER
PRIVATE fValeur AS NEW FLOAT[J]

Comment faire pour que le tableau soit toujours en référence de "j" si j'incrémente celui-ci, en fonction de mon besoin du moment.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#2 Posté le 28/7/2022 à 21:50:21
Ne cedere ineluctabili possimus
Bonjour à tous,
...La dimension de celui-ci est bien de un ou zéro ?
...sinon comment faire augmenter cette dimension au fur et à mesure du besoin, c'est à dire quand on créer une nouvelle clé d'indice.

Pour connaître le nombre d'éléments dans un tableau, vous devez utiliser la Propriété ".Count".
Pour augmenter dynamiquement les éléments d'un tableau, ayant un nombre indéfini d'éléments, vous devez utiliser la Méthode ".Push()" ou la Méthode ".Add()".
Exemplum:
1
2
3
4
5
6
7
8
9
10
11
PRIVATE fValeur AS NEW Float[]

PUBLIC SUB Main()

PRINT fValeur.Count

fValeur.Push(1.234)

PRINT fValeur.Count

END
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#3 Posté le 28/7/2022 à 22:21:15
-- Unus Ex Altera --Bonsoir Vuott,
et merci de cette réponse. Je me doutais un peu que ces deux fonctions étaient là pour ça.
Mais pour un tableau avec un nombre défini d'éléments :
1
PRIVATE fValeur AS NEW FLOAT[10]

si je veux augmenter dynamiquement le nombre 10, dois je faire de la même manière ?
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
valaquarus#4 Posté le 28/7/2022 à 22:31:34
-- Unus Ex Altera --@Vuott,
j'ai utilisé la fonction Add car elle permet de contrôler l'indice, c'était exactement ce qu'il me fallait sans avoir à définir un nombre d'éléments dans le tableau.
Merci
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#5 Posté le 29/7/2022 à 01:28:41
Ne cedere ineluctabili possimusBonsoir mon ami.

...cependant, il est évident qu'il ne sert à rien de "changer" le nombre d'éléments d'un tableau qui a été créé avec un nombre "défini" d'éléments. ;)
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#6 Posté le 29/7/2022 à 10:51:31
-- Unus Ex Altera --@Vuott,
aujourd'hui tout est clair sur les tableaux unidimensionnels mais je ne sais pas pourquoi j'étais figé dans un raisonnement "bizarre" dont je ne réussissais pas à sortir seul.
Merci encore.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
1