Der Zwerg kann auch ohne Schleife

Najaaaa, wenn du die Schleife einfach nach "Move" auslagerst, dann ja.
Delphi-Quellcode:
function FillString(const AString: AnsiString; const AChar: AnsiChar; const ALength: Integer): AnsiString;
var
Len: Integer;
begin
Len := ALength - Length(AString); // padding "berechnen"
if (Len > 0) then // kurzer check
begin
SetLength(Result, ALength); // länge setzen
FillChar(Result[1], Len, AChar); // padding einfügen
Move(AString[1], Result[Succ(Len)], Length(AString)); // zusammenfügen
end
else
Result := AString; // das original so belassen
end;
Jo, aber wieso nicht einfach:
Delphi-Quellcode:
function FillString(const AString: AnsiString; const AChar: AnsiChar; const ALength: Integer): AnsiString;
var
Len: Integer;
begin
Len := ALength - Length(AString);
Result := StringOfChar(AChar, Len) + AString;
end;
Das klappt dann nebenbei auch mit UnicodeString.