Mettre bout à bout des éléments d'un tableau rapidement [Résolu]

Signaler
Messages postés
185
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
10 janvier 2008
-
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour!
J'ai une procedure qui est à la base très simple:

dim sTableau() as string, s as string

For i = 1 to ubound(sTableau)
    s = s & sTableau(i)
Next i

Le problème est que le nombre d'éléments du tableau peut être très élevé et la taille des éléments du tableau également.
Ainsi cette procédure est trop longue: elle peut prendre parfois plusieurs secondes!

Comment faire pour accélérer cette procédure?
J'avais penser à utiliser une API (notamment copymemory) mais je ne sais pas du tout comment l'utiliser dans mon cas.

Merci de votre aide
Bonne prog'

5 réponses

Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
Et appliques la modification dont on parle dans les commentaires : Passer la chaine en ByRef

<hr size="2" width="100%" />Julien.
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
Salut,
Jette un oeil ici :
http://www.vbfrance.com/codes/CONCATENATION-RAPIDE-CHAINES-SANS-API_39831.aspx

<hr size="2" width="100%" />Julien.
Messages postés
185
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
10 janvier 2008

Merci!!! Ca marche super! Le gain de temps est impressionnable pour l'utilisation que j'en fait!
Messages postés
185
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
10 janvier 2008

Oups je me suis mal relu... lire "impressionnant" et non "impressionnable" :)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
61
si ton tableau est ainsi.... utilises Join directement
pas besoin de faire un duplicata de ton tableau en mémoire (ce que fais ma classe)

Renfield
Admin CodeS-SourceS- MVP Visual Basic