Найти можно в исходниках идущих с дельфи и выглядит код так:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | function Pos( const substr, str: AnsiString ): Integer ;
var
ch: AnsiChar ;
i, j: Integer ;
LSubStrLen, LStrLen: Integer ;
begin
Result := 0 ;
LSubStrLen := Length(substr);
LStrLen := Length(str);
if (LStrLen = 0 ) or (LSubStrLen = 0 ) then
Exit;
ch := substr[ 1 ];
for i := 1 to LStrLen - LSubStrLen + 1 do
if str[i] = ch then
for j := 1 to LSubStrLen do
if str[i + j - 1 ] <> substr[j] then
break
else if j = LSubStrLen then
begin
Result := i;
Exit;
end ;
end ;
|