Hallo,
hier noch eine Lösung ohne Rekursion:
Delphi-Quellcode:
function ErhoeheBuchstabe(
const Str:
String):
String;
var
L,
Index: Integer;
C: Integer;
begin
Result := UpperCase(Str);
L := Length(Result);
Index := L;
while Index > 0
do
begin
if Result[
Index] < '
Z'
then
begin
Inc(Result[
Index]);
for C :=
Index + 1
to L
do
Result[C] := '
A';
Exit;
end else
if Index = 1
then
begin
Result := DupeString('
A', L + 1);
Exit;
end;
Dec(
Index);
end;
Result := '
A';
end;
Benötigt die
Unit StrUtils.
Ist ca. 1/3 schneller, da nicht jedesmal zusätzliche Strings benötigt werden. Startet bei leerem String einfach mit A.
Gruß
xaromz