cs_petitpouce
Messages postés7Date d'inscriptiondimanche 22 avril 2007StatutMembreDernière intervention25 novembre 2007
-
24 avril 2007 à 13:10
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
25 avril 2007 à 16:54
Bonjour à tous,
Comment éviter la prise en compte des chiffres (ex: 45678) ou certains caractères ( ex: @) dans un listbox ?
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 24 avril 2007 à 17:03
methode plus rapide que replacestring, peu même supporter de trés gros fichiers :
function ExcludeChars(const S : string; const CS : set of char) : string;
var pR : PChar;
L,I,N: integer;
begin
L := Length(S);
I := 0;
for N := 1 to L do
if S[N] in CS then I := I + 1;
I := L - I;
if I = 0 then
begin
result := '';
exit;
end else
begin
SetLength(Result, I);
pR := PChar(Result);
for N := 1 to L do
if not (S[N] in CS) then
begin
pR[0] := S[N];
inc(pR);
end;
end;
end;
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 24 avril 2007 à 18:09
correction :
function ExcludeChars(const S : string; const CS : TSysCharSet) : string;
var pR : PChar;
L,I,N: integer;
begin
L := Length(S);
I := 0;
for N := 1 to L do
if S[N] in CS then I := I + 1;
I := L - I;
if I = 0 then
begin
result := '';
exit;
end else
begin
SetLength(Result, I);
pR := PChar(Result);
for N := 1 to L do
if not (S[N] in CS) then
begin
pR[0] := S[N];
inc(pR);
end;
end;
end;
cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 20093 24 avril 2007 à 13:23
salut,
il y a une très grandes quantité de réponse à cette question sur le forum et dans les sources d'exemple. fait des recherche pour les Tedit (ou edit), les même techniques sont applicable.
(a tout hasare, faut chercher du côté de OnKeyDown & friends.)
si tu as un problème lors de l'implementation de ce que tu as trouvé, revient avec une question. on t'aidera.
bonne recherche,
Loda
Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
Vous n’avez pas trouvé la réponse que vous recherchez ?
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 25 avril 2007 à 16:54
content de voir qu'elle fonctionne bien chez toi,
j'ai du mettre a peu prés 2 minutes pour y reflechir, 15 pour faire l'ebauche et te la poster, 60 de plus pour l'ameliorer, la corriger, la mettre sur codyx et te poster la correction.