Ich denke mal, dass es eher auf eine einfache Lösung einer Aufgabenstellung mit Strings ankommt...
Vielleicht hilft Dir das ungefähr weiter (ungetestet auf die Schnelle):
Delphi-Quellcode:
function MoveString(S: String; P: Integer; ToLeft: Boolean);
var
L: Integer;
begin
if S = '' then
Exit('');
if (P < 1) or (P > 8) then
Exit('');
if P = 0 then
Exit(S);
L := Length(S);
if ToLeft then
Result := Copy(S, P + 1) + Copy(S, 1, P)
else
Result := Copy(S, L - P) + Copy(S, 1, P - 1);
end;