Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vider un tableau

8 réponses
Avatar
houbahop
Bonjour,
je n'arrive pas a vider un tableau créé par un split()
du coup, lorsque je relance la procédure qui contient le split,
mon tableau a gardé son contenu antérieur et le résultat du nouveau split
est ajouté a la fin.

que faire svp?
Dominique.

8 réponses

Avatar
RCR
Je n'ai pas VB Ici mais,
tu as essayer avec truc genre NULL

"houbahop" <d.lapasset[Remove me)@chello.fr> a écrit dans le message de
news: JKvne.3828$
Bonjour,
je n'arrive pas a vider un tableau créé par un split()
du coup, lorsque je relance la procédure qui contient le split,
mon tableau a gardé son contenu antérieur et le résultat du nouveau split
est ajouté a la fin.

que faire svp?
Dominique.



Avatar
ng
Salut,

Bonjour,
je n'arrive pas a vider un tableau créé par un split()



Essaye erase :

erase MonTableau

du coup, lorsque je relance la procédure qui contient le split,
mon tableau a gardé son contenu antérieur et le résultat du nouveau split
est ajouté a la fin.




Je n'ai pas VB sous la main mais je ne suis pas convaincu de cela. En effet
Split() doit automatiquement ecraser le tableau précédent.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Avatar
DJ
houbahop wrote:
Bonjour,
je n'arrive pas a vider un tableau créé par un split()
du coup, lorsque je relance la procédure qui contient le split,
mon tableau a gardé son contenu antérieur et le résultat du nouveau
split est ajouté a la fin.

que faire svp?
Dominique.



Bonjour,
je confirme ce que dis ng, split ca marche tres bien et ca ecrase. C'est toi
qui a reussi a le faire marcher de travers ...

monTableau = split(MonEnreg,";", ,vbtextcompare) ca ecrase a tous les coups
!

DJ
Avatar
Fred
Dans le message:,
DJ écrit :
houbahop wrote:
Bonjour,
je n'arrive pas a vider un tableau créé par un split()
du coup, lorsque je relance la procédure qui contient le split,
mon tableau a gardé son contenu antérieur et le résultat du nouveau
split est ajouté a la fin.

que faire svp?
Dominique.



Bonjour,
je confirme ce que dis ng, split ca marche tres bien et ca ecrase.
C'est toi qui a reussi a le faire marcher de travers ...

monTableau = split(MonEnreg,";", ,vbtextcompare) ca ecrase a tous les
coups !

DJ



+1
Oui, c'est probablement la chaîne passée en paramètre qui n'est pas
réinitialisée entre temps.
L'erreur n'est pas dans le split.

--
Fred
Avatar
houbahop
héhé, vous avez raison, en fait c'est la variable qui contenait le résultat
du split qui n'était pas reinitialisée !
A titre d'information Erase ne marche pas pour les tableaux dynamiques.

DOminique.

"DJ" a écrit dans le message de news:

houbahop wrote:
Bonjour,
je n'arrive pas a vider un tableau créé par un split()
du coup, lorsque je relance la procédure qui contient le split,
mon tableau a gardé son contenu antérieur et le résultat du nouveau
split est ajouté a la fin.

que faire svp?
Dominique.



Bonjour,
je confirme ce que dis ng, split ca marche tres bien et ca ecrase. C'est
toi
qui a reussi a le faire marcher de travers ...

monTableau = split(MonEnreg,";", ,vbtextcompare) ca ecrase a tous les
coups
!

DJ




Avatar
ng
Salut,

héhé, vous avez raison, en fait c'est la variable qui contenait le
résultat du split qui n'était pas reinitialisée !


Ok.

A titre d'information Erase ne marche pas pour les tableaux dynamiques.


Si si erase doit marcher avec des tableaux dynamiques :

Dim tableau() As String

'// on mets des trucs ds le tableau avec redim/split/...

erase tableau

'//le tableau est effacé !

Nicolas.

DOminique.

"DJ" a écrit dans le message de news:

houbahop wrote:
Bonjour,
je n'arrive pas a vider un tableau créé par un split()
du coup, lorsque je relance la procédure qui contient le split,
mon tableau a gardé son contenu antérieur et le résultat du nouveau
split est ajouté a la fin.

que faire svp?
Dominique.



Bonjour,
je confirme ce que dis ng, split ca marche tres bien et ca ecrase. C'est
toi
qui a reussi a le faire marcher de travers ...

monTableau = split(MonEnreg,";", ,vbtextcompare) ca ecrase a tous les
coups
!

DJ







--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Avatar
Zoury
> que faire svp?



pourquoi ne pas déplacer la déclaration du tableau dans la fonction... ? :O)

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Patrice Henrio
Non seulement erase fonctionne très bien pour des tableaux dynamiques mais
en plus il est indispensable car sinon tu perds de la mémoire au fur et à
mesure.

Ainsi si tu utilises comme variable temporaire dans une sub ou une fonction
un tableau dynamique, le fait de ne pas l'écraser en sortie de sub fait
qu'il occupe toujours la mémoire mais qu'il n'est plus accessible.

J'ai été confronté à ce problème sur un projet il y a moins d'un an.

"houbahop" <d.lapasset[Remove me)@chello.fr> a écrit dans le message de
news: 2nCne.3843$
héhé, vous avez raison, en fait c'est la variable qui contenait le
résultat du split qui n'était pas reinitialisée !
A titre d'information Erase ne marche pas pour les tableaux dynamiques.

DOminique.

"DJ" a écrit dans le message de news:

houbahop wrote:
Bonjour,
je n'arrive pas a vider un tableau créé par un split()
du coup, lorsque je relance la procédure qui contient le split,
mon tableau a gardé son contenu antérieur et le résultat du nouveau
split est ajouté a la fin.

que faire svp?
Dominique.



Bonjour,
je confirme ce que dis ng, split ca marche tres bien et ca ecrase. C'est
toi
qui a reussi a le faire marcher de travers ...

monTableau = split(MonEnreg,";", ,vbtextcompare) ca ecrase a tous les
coups
!

DJ