В Delphi 7 в модуле StrUtils внесены некоторые изменения.

Есть новая функция: PosEx.

 Обьявление этих функций:

Code:

Function Pos(Substr: String; S: String): Integer;

Function PosEx(Const SubStr, S: String; Offset: Cardinal = 1): Integer;

 

Новая функция PosEx, позволяет указать начальную позицию поиска внутри строки, что избавит вас от необходимости изменения исходной строки. Незабудьте указать модуль StrUtils.

Ниже приведена реализация функции в модуле StrUtils (если вы используете более старшую версию среди разработки вы сможете сами добавить этот код и использовать его вместо функции Pos):

Code:

Function PosEx(Const SubStr, S: String; Offset: Cardinal = 1): Integer;

var

I,X: Integer;

Len, LenSubStr: Integer;

begin

If Offset = 1Then

Result := Pos(SubStr, S)

Else

begin

I := Offset;

LenSubStr := Length(SubStr);

Len := Length(S) - LenSubStr + 1;

While I <= Len Do

begin

If S[I] = SubStr[1] Then

begin

X := 1;

While (X < LenSubStr) And (S[I + X] = SubStr[X + 1]) Do

Inc(X);

If (X = LenSubStr) Then

begin

Result := I;

Exit;

End;

End;

Inc(I);

End;

Result := 0;

End;

End;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить