domingo, 13 de setembro de 2009

Obtendo a posição da enésima ocorrência da string 'T' na string 'S'

Function OccurPos (T, S : ShortString; N : Byte) : Byte;
Var
Op, P, I : Byte;
Begin
I := 0;
Op := 0;
P := Pos (T, S);
While P > 0 Do
Begin
Inc (Op);
if Op = N Then
Begin
OccurPos := I + P;
Exit;
End;
Inc(I, P + Length(T) - 1);
P := Pos (T, Copy (S, I + 1, 255));
End;
OccurPos := 0;
end;

Nenhum comentário:

Postar um comentário