Mit den korrekten Werten für 1-basierte Strings sollte es gehen:
Delphi-Quellcode:
s1 := Copy(sTemp, 1, Pos('|', sTemp) - 1);
Delete(sTemp, 1, Pos('|', sTemp)); // um den ersten Teil abzuschneiden
s2 := sTemp; // um den Rest zuzuweisen
Etwas komfortabler geht es aber so:
Delphi-Quellcode:
// arr: TArray<string>;
arr := sTemp.Split(['|']);
s1 := arr[0];
s2 := arr[1];