Inkrementiert die Zahl in dem String und verändert nicht deren Länge.
Macht einfach genau das, was man in Mahte mal gelernt hat, wenn man eine Zahl um 1 erhöhen muß.
Delphi-Quellcode:
function StrInc(
const Number:
String):
String;
var
i: Integer;
begin
Result := Number;
i := Length(Result);
while (i > 0)
and (Result[i]
in ['
0'..'
9'])
do begin
Result[i] := Chr(Ord(Result[i]) + 1);
if Result[i] <> Chr(Ord('
9') + 1)
then
Break;
Result[i] := '
0';
Dec(i);
end;
end;
oder
Delphi-Quellcode:
function StrInc(
const Number:
String):
String;
var
i: Integer;
begin
Result := Number;
i := Length(Result);
while (i > 0)
and (Result[i]
in ['
0'..'
9'])
do begin
Result[i] := Chr((Ord(Result[i]) - Ord('
0') + 1)
mod 10 + Ord('
0'));
if Result[i] <> '
0'
then
Break;
Dec(i);
end;
end;