Keine Ahnung, weshalb du 3 verschiedene Trennzeichen benutzen möchtest - das ist nicht üblich.
Aber sei's drum, die Strategie sieht so aus:
Der String wird mit dem Trenner "|" in Einzelteile zerlegt und das Ergebnis in einer TStringList gespeichert.
Dafür gibt es fertige Funktionen in der Code-Library
Splitstring !
Man sollte wirklich die erprobten Funktionen verwenden - Funktionen Marke Eigenbau haben meisten einige Fehler.
Damit ist das Problem reduziert auf das Zerlegen von einfachen Strings dieser Bauart