hophop
attention les chaines sont assé particuliere a "parcourir" cela degrade les performances trés vite ...
le meilleur moyen : utiliser POS ou POSEX (unité StrUtils)
POSEX afficheras de meilleur performance qu'une methode avec boucle for.
en adaptant POSEX pour les Char uniquement, on augmente un peu les performances de celle-ci :
function PosChar(const SubStr : char; const S: string; Offset: Cardinal = 1): Integer;
var
I, L : Integer;
PS : PChar;
begin
Result := 0;
if Offset = 1 then begin
Result := Pos(SubStr, S);
exit;
end;
I := Offset-1;
L := Length(S)-1;
PS:= PChar(S);
while I <= L do begin
if PS[I] = SubStr then begin
Result := I+1;
exit;
end;
Inc(I);
end;
end;