Gambas France BETA


Pas de compte ? Incription

Déclaration de tableau dynamique à 2 dimensions

1
AuteurMessages
jibi#1 Posté le 5/5/2020 à 15:53:59
codergambas.jimdofree.comBonjour,

pour déclarer un tableau NON dynamique à une dimension je fais Public tabStat1D As New Integer[nbre] avec nbre as integer
pour déclarer un tableau dynamique à une dimension je fais Public tabDyn1D As New Integer[]

pour déclarer un tableau NON dynamique à 2 dimensions je fais Public tabStat2D As New Integer[nbre1, nbre2] avec nbre1, nbre2 as integer
=> pour déclarer un tableau dynamique à 2 dimensions je fais : ? public tabDyn2D as new integer[,] ne fonctionne pas !

A quoi correspond cette déclaration : public tab[][] as new integer[][] ? un tableau dynamique à deux dimensions ?

Désolé mais je m’emmêle les pinceaux

A ce jour j'ai ce code mais je voudrais avoir le tableau en dynamique car je ne sais pas à l'avance le nbre de lignes et colonnes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PRIVATE gr AS NEW PictureBox[$NB_LIG, $NB_COL]

FOR l = 0 TO $NB_LIG - 1 STEP 1
FOR c = 0 TO $NB_COL - 1 STEP 1

' création d'un tableau de pictureBox
gr[l, c] = NEW PictureBox(hPanel) AS "grille"
gr[l, c].Alignment = Align.Center
' placement à l'écran
gr[l, c].x = posX
gr[l, c].y = posY
gr[l, c].Tag = i
INC i
NEXT
NEXT

par avance merci
Debian GNU/Linux 11 64-bit

Patrick#2 Posté le 6/5/2020 à 06:32:07
Bonjour,
public tab[][] est un tableau de tableau :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PRIVATE gr AS NEW PictureBox[][]

DIM PbTab AS PictureBox[]
DIM pb AS PictureBox

FOR l = 0 TO $NB_LIG - 1 STEP 1
PbTab = NEW PictureBox[]
FOR c = 0 TO $NB_COL - 1 STEP 1

' création d'un tableau de pictureBox
pb = NEW PictureBox(hPanel) AS "grille"
......
PbTab.Add(pb)
.....
NEXT
gr.Add(PbTab)
NEXT
jibi#3 Posté le 6/5/2020 à 12:34:00
codergambas.jimdofree.comMerci Patrick ,

effectivement avec un tableau de tableau, ça le fait

Mais cela veut il dire que on ne peut pas avoir un tableau dynamique à deux dimensions ? public tabDyn2D as new integer[ , ]

Debian GNU/Linux 11 64-bit

1