В 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; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!