Eine Nicht-Assmbler-Version könnte wohl so aussehn: (ungetestet)
Delphi-Quellcode:
function CountString(const SubStr, S: String): Integer;
var
i: Integer;
begin
Result := 0;
i := 0;
while True do begin
i := PosEx(SubStr, S, i + 1);
if i = 0 then Exit;
Inc(Result);
end;
end;
eventuell auch so:
(weiß grade nicht, wie genau gezählt wurde ... ist/war CountString('xxx', 'xxxxxx') = 2 oder 4? )
Delphi-Quellcode:
function CountString(const SubStr, S: String): Integer;
var
i: Integer;
begin
Result := 0;
i := 1;
while True do begin
i := PosEx(SubStr, S, i);
if i = 0 then Exit;
Inc(i, Length(SubStr));
Inc(Result);
end;
end;