Hallo,
warum benutzt Du nicht Reguläre Ausdrücke, und arbeitest mit Lookarounds?
Dort würdest Du als Lookbehind den Inhalt des Parameters Tag1 angeben, und als Lookahead den Inhalt des Parameters Tag2 und bekommst als Ergebnis das, was dazwischen steht.
[Edit]
Desweiteren würde ich Deine Between-Funktion so schreiben:
Delphi-Quellcode:
Function Between(Tag1, Tag2, Text: String): String;
Var
iPos1, iPos2, iLength: Integer;
Begin
iPos1 := Pos(LowerCase(Tag1), LowerCase(Text));
iPos2 := Pos(LowerCase(Tag2), LowerCase(Text));
If (iPos1 = 0) Or (iPos2 = 0) Then Begin
Result := 'Tags nicht gefunden';
Exit;
End;
iLength := iPos2 - (iPos1 + Length(Tag1));
Result := Copy(Text, iPos1 + Length(Tag1), iLength);
End;
[/Edit]
[Edit]
Noch eine Abbruchbedingung eingebaut
[/Edit]