StringReplace() !!!! trop lent!!!!

Résolu
cricri_b34 Messages postés 223 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 15 février 2006 - 5 avril 2005 à 05:41
cricri_b34 Messages postés 223 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 15 février 2006 - 6 avril 2005 à 21:57
salut, J'utilise la fonction stringreplace() dans mon app.
pour enlever tout les espace dans une string ... une longue s
string :

StringReplace(memo1.text, ' ', '', [replaceall])
(quelquechose du genre)

le problème, c'est que c'est beaucoup trop lent!!!
on dirait que + le texte ++ c'est lent!!!

ya tu moyen ca aille plus vite?

2 réponses

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
5 avril 2005 à 08:28
Si bien sur !



Au lieu de prendre StringReplace qui est une fonction généraliste de
remplacement de sous-chaines(Hips!), si tu veux supprimer un caratère
donné, il vaut mieux pogner une bonne vieille boucle du style :



begin

// ....

s := Memo1.Text;

for i:= Length(s) downto 1 do

if s[i]=' ' then

delete(s,i,1);

memo1.Text :=s;

// ....

end;



C'est pas beaucoup plus long à écrire, mais assurément plus rapide.

Ken@vo


<hr size="2" width="100%">Code, Code, Codec !
3
Rejoignez-nous