Re: Espaces dans un édit
BigGrizzly a écrit :
> Sur Edit1Change, tu modifies la valeur de la propriété Text, en prenant soin
> préalablement de mémoriser SelStart et SelLength, et de les restaurer après
> avoir fait le nettoyage dans ta chaine...
>
> Pour nettoyer la chaine... Tu crées une fonction qui prend une chaine en
> paramètre et qui en renvoie une autre... Si le retour de la fonction est
> différent du contenu de Edit1.Text alors, tu modifies le contenu...
Ca pourrait ressembler à ça :
Function SupEspacesDouble(Const S:String):String;
Var PLec,PEcr:PChar;
Begin
SetLength(Result, Length(S));
PLec:=@S;
PEcr:=@Result;
Repeat
PEcr^:=PLec^;
Case PEcr^ of
#0 : Break;
' ': Repeat
Inc(PLec);
until PLec^<>' ';
else
Inc(PLec);
End;
Inc(PEcr);
until false;
SetLenght(Result, PEcr-@Result+1);
End;
|