Shouldn't be that difficult. Try the code below (please note - written
in mail client!)
function IncrementComplexNumber(n:string):string;
var
Before, Number, NewNumber, After:string;
i,t:Integer;
begin
// Init
Before := '';
Number := '';
After := '';
t := 1;
// read the string
for i:=1 to Length(n) do
case t of
1: if n[i] in ['0'..'9'] then
begin
Number := n[i];
t := 2;
end
else Before := Before + n[i];
2: if n[i] in ['0'..'9'] then Number := Number + n[i]
else
begin
After := n[i];
t := 3;
end;
3: After := After + n[i];
end;
// Found any digits?
if Number = '' then Result := Before
else
begin
// I did find something!
NewNumber := IntToStr(StrToInt(Number)+1);
while Length(NewNumber) < Length(Number) do
NewNumber := '0' + NewNumber;
Result := Before + NewNumber + After;
end;
end;
Mike Lucek wrote:
> Does any one have a function that allows the incrementing of a number with
> leading zeros expressed as a string. For example, I have a string
> AB-CDE-FG1-003, I want to increment that string to AB-CDE-FG1-004, or 005
> and so on. The maximum incremental value would be AB-CDE-FG1-999. Any
> suggestions would be appreciated.
>
> Mike
>
> _______________________________________________
> Delphi mailing list -> [email protected]
> http://www.elists.org/mailman/listinfo/delphi
>
>
_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi