Die
asm Variante ist aber auch nicht gerade der Hit.
Probier' eventuell mal meine:
Delphi-Quellcode:
function LastPos(
const SubStr, S:
string): integer;
var
I, J, K: integer;
begin
Result := 0;
I := Length(S);
K := Length(SubStr);
if (K = 0)
or (K > I)
then
Exit;
while (Result = 0)
and (I >= K)
do
begin
J := K;
if S[I] = SubStr[J]
then
begin
while (J > 1)
and (S[I + J - K - 1] = SubStr[J - 1])
do
Dec(J);
if J = 1
then
Result := I - K + 1;
end;
Dec(I);
end;
end;
Gruß
Thomas