Hm, irgendwie machen diese drei Lösungen etwas anderes...
Und im wesentlichen kommt es doch nur auf das Teilen und die Wiederholung an:
Delphi-Quellcode:
// Teilen, SplitStr
Result:=Copy(Str,1,X);
Str:=Copy(Str,X+1,Length(Str)-X);
// Wiederholung, SplitStrAll
while Length(Str) > X do
{ ... }
Jetzt hab ich's ja doch verraten... Naja, der Umbau gehört ja dann doch zur Demonstration dazu...