Ich muss dich korrigieren.
Zitat:
copy(s,Length(s)-1,0);
liefert IMMER einen leeren String zurück. Wenn muss es heissten
copy(s,Length(s)-1,[b]1[/b]);
und ausserdem gibt es die Funktion
RightStr
mit der das letzte Zeichen so ermittelt wird:
RightStr(s, 1);
womit dein Beispiel Code so aussieht:
if RightStr(s, 1)<>'\' then s:=s + '\';