Page 1 sur 1

tableau ...

Publié : sam. 04/août/2007 20:19
par jerexgrz
pour effacer un tableau, il suffit d'utiliser :

dim tab (0)

Pour une relecture de code + facile, pourquoi ne pas utiliser plutot :

erase tab()

Publié : dim. 05/août/2007 15:47
par graph100
dimentioner un tableau a 0 ne le supprime pas : il crée un tableau avec
1 element d'index 0
d'ailleur les tableaux comme les listegadgets et co sont indexer à partir de zéro

Publié : dim. 05/août/2007 16:06
par Backup
graph100 a écrit :dimentioner un tableau a 0 ne le supprime pas : il crée un tableau avec
1 element d'index 0
d'ailleur les tableaux comme les listegadgets et co sont indexer à partir de zéro
la doc dit
Pour effacer le contenu complet d'un tableau et libérer la mémoire qu'il occupe, appelez Dim avec 0 élément
:D

donc :

Code : Tout sélectionner

dim tab (0) 
toutefois a priori il reste un element et la memoire n'est pas liberé :?

Publié : dim. 05/août/2007 16:49
par graph100
oui je lu la doc avant de répondre
mais j'ai fait le test

Code : Tout sélectionner

Dim montableau(2)

For a = 0 To 2
  montableau(a) = a + 10
  Debug montableau(a)
Next

Debug "--- on dimentione à 0"

Dim montableau(0)

Debug montableau(0)

Debug "--"

montableau(0) = 5

Debug montableau(0)
mais ca me parait logique car il y a toujour un element de plus que la dimention !!

Publié : jeu. 09/août/2007 11:31
par jerexgrz
Ouais, je savais bien que j'avais oublier un truc ! :lol:

Code : Tout sélectionner

dim tab.l (10)

erase tab (0) => Pour effacer tout le tableau 
erase tab(1) => Pour effacer juste la 1ere case du tableau
erase tab(3) => pour effacer seulement la 3eme case ...

Mais attention aussi:

Code : Tout sélectionner

structure point
x.l
y.l
color.s
a.l [50]
endstructure

dim pt.point (10)

erase pt (10) => efface toutes les donnees (x,y color , a ....) qui se trouve
                         à l'interieur de l'indexation 10 du tableau pt (quelque soit 
                         le type long, integer, string, ...)

Publié : jeu. 09/août/2007 11:36
par Anonyme
FreeMemory(@Tab()) à l'air de fonctionné , du moins sous le pingouin. :P

Publié : jeu. 09/août/2007 12:30
par Kwai chang caine
Bah sous bilou quand je fais "FreeMemory(@montableau())"
J'ai une jolie barre rouge :D