Abgesehen davon, dass die Reverse-Funktion auf String[0] zugreift, ...
Mit aktiviertet Bereichsprüfung würde man diesen Fehler auch ganz gut entdecken.
Man könnte die suboptimalen String-Concatinierungen noch weglassen.
Delphi-Quellcode:
function Reverse(eingabe: String): String;
var
i: Integer;
begin
SetLength(Result, Length(eingabe));
for i := Length(eingabe) downto 1 do // oder for i := 1 to Length(eingabe) do
Result[Length(eingabe) - i + 1] := eingabe[i];
end;
oder
ReverseString, falls erlaubt und vorhanden.