Procedure
IsolateText(
Const
S:
String
; Tag1, Tag2:
String
; list:TStrings );
Var
pScan, pEnd, pTag1, pTag2:
PChar
;
foundText:
String
;
searchtext:
String
;
Begin
searchtext := Uppercase(S);
Tag1:= Uppercase( Tag1 );
Tag2:= Uppercase( Tag2 );
pTag1:=
PChar
(Tag1);
pTag2:=
PChar
(Tag2);
pScan:=
PChar
(searchtext);
Repeat
pScan:= StrPos( pScan, pTag1 );
If
pScan <>
Nil
Then
Begin
Inc(pScan, Length( Tag1 ));
pEnd := StrPos( pScan, pTag2 );
If
pEnd <>
Nil
Then
Begin
SetString( foundText,
Pchar
(S) + (pScan-
PChar
(searchtext) ),
pEnd - pScan );
list
.
Add( foundText );
pScan := pEnd + Length(tag2);
End
Else
pScan :=
Nil
;
End
;
Until
pScan =
Nil
;
End
;