DRJEROME
Messages postés436Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention 5 février 2015
-
3 juin 2007 à 13:18
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
4 juin 2007 à 02:11
bonjour,
je n'ai pas accès au "Snippets" de mon ordinateur principal alors que j'ai accès par un ordinateur d'un collègue ... bizarre !
je voulais juste proposer une variante du code de FOxi (il avait fait une version de Stringreplace +/-), ma variant est :
<hr />function ExcludeChars(const S : string; const CS : TSysCharSet) : string;
var
i,L:integer;
begin
result:=s; L:=0;
for i:=1 to length(s) do
begin
if not (s[i] in CS) then
begin
inc(L); result[L]:=s[i];
end;
end;
Setlength(result,L);
end;<hr />
par exemple : showmessage(ExcludeChars('voiture',['i','u']));
"voiture" devient "votre"
en m'excusant de poster ici en attendant (vous pouvez bien sur émettre d'autres variantes)
DRJEROME
Messages postés436Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention 5 février 2015 3 juin 2007 à 14:08
<hr />
function ExcludeChars(const S : string; const CS : TSysCharSet) : string;
var
i,L:integer;
begin
result:=s; L:=0;
for i:=1 to length(s) do
begin
if not (s[i] in CS) then
begin
inc(L); result[L]:=s[i];
end;
end;
Setlength(result,L);
end;
<hr />
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 4 juin 2007 à 02:10
ce n'est pas vraiment bizarre ...
les données qu'elles soient en mémoire ou sur le disque sont en Byte (généralement) ... (enfin si je ne raconte pas de conneries )
J'ai fait énormément de testes ces derniers temps avec les pointeurs sur Bytes (PByte) et à tous les coups c'est plus rapide
que n'importe quel autre pointeur dont une fonction (la fonction qui enlève les accents il me semble) qui est jusqu'à 4 fois plus rapide que la tienne (je ne l'ai pas encore posté mais ça ne saurait tarder )
En tout cas toi qui est "mordu" de vitesse tu devrais t'y intéresser
les gains ne sont pas négligeables