P
Da immer alle nach Code schreien ;),
hier eine Beispiellösung welche auch nicht "abstürzt", sollte mal was Unerwartetes im String stehen:
int pos;
AnsiString str_ganz, str_tabelle_y;
str_ganz="tabelle_x|tabelle_y.spaltea-tabelle_x.spalteb";
pos=str_ganz.Pos("|");
if(pos)
{ str_tabelle_y=str_ganz.SubString(pos+1, str_ganz.Length()-pos);
pos=str_tabelle_y.Pos(".");
if(pos)
str_tabelle_y.SetLength(pos-1);
}
PS: Ich persönlich parse in der Regel einen String mit Pointern, allerdings ist dann in Verbindung mit AnsiString u.U. "höchste Vorsicht" geboten