Moin Pierre.
X ist nicht initialisiert, der Index i muss bei 0 beginnen und x liefert immer das letzte Vorkommen, weil du die Schleife nicht abbrichst.
Einfacher wäre das:
Delphi-Quellcode:
function Before(s, pattern: String): String;
var
i: Integer;
begin
i := Pos(pattern, s);
Delete(s, i, Length(s));
Result := s;
end;
Grüße vom marabu
Edit: nur Kosmetik