Ich hab mal den Quelltext umgeschrieben, so dass deine beiden Beispiele funktionieren. Ob alles wirklich so funktioniert, wie du es willst, weiß ich nicht:
Delphi-Quellcode:
function Zaehlen(s:
string):
string;
var c: char;
i: integer;
begin
if s <> '
'
then
begin
i := length(s);
c := s[i];
if c
in ['
0'..'
8', '
A'..'
Y', '
a'..'
y']
then
begin
inc(c);
s[i] := c;
end;
c := s[i];
while c
in ['
9', '
z', '
Z']
do
begin
if c
in ['
z', '
Z']
then
s[i] := '
A'
else
s[i] := '
0';
dec(i);
if i < 1
then
break;
// da musst du noch etwas rumbasteln, dass auch '999' usw. funktioniert
c := s[i];
if not (c
in ['
9', '
z', '
Z'])
then
begin
inc(c);
s[i] := c;
break;
end;
end;
end;
result := s;
end;
(PS: deine Codeformatierung ist nicht ganz optimal ^^, musste es erst umformatieren um die Funktionalität zu erkennen)