Ps: Es ist nur eine Schleife bei mir.
Die andere läuft innerhalb StrScan/AnsiStrScan.
Wenn die For-Schleife denn unbedingt vermieden werden soll, kann man es auch so machen:
Delphi-Quellcode:
function CharCount(const S: string; const C: Char): Integer;
var
N: Integer;
P: PChar;
begin
N := 0;
P := PChar(S[1]);
while P^ <> #0 do begin
if P^ = C then Inc(N);
Inc(P);
end;
Result := N;
end;