Код:
function Pos(const SubStr, Str: ShortString): Integer;
var
SubLen, SrcLen, Len, I, J: Integer;
C1: AnsiChar;
begin
SrcLen := Byte(Str[0]);
SubLen := Byte(SubStr[0]);
Result := 0;
if (SubLen <= 0) or (SrcLen <= 0) or (SrcLen < SubLen) then Exit;
// find SubStr[1] in Str[1 .. SrcLen - SubLen + 1]
Len := SrcLen - SubLen + 1;
C1 := SubStr[1];
for I := 1 to Len do
begin
if Str[i] = C1 then
begin
Result := I;
for J := 1 to SubLen-1 do
begin
if Str[I+J] <> SubStr[1+J] then
begin
Result := 0;
break;
end;
end;
if Result <> 0 then Exit;
end;
end;
// not found
end;
Нашел у себя в модуле System.pas