比如bm 0031
我要得到0032000019得到000020
最后两位加1,但多少数不确定,加1后位数不变
我要得到0032000019得到000020
最后两位加1,但多少数不确定,加1后位数不变
解决方案 »
- 如何让ReportBuilder能在运行时调用预先设计好的报表文件(*.rtm)?
- dbgrid问题
- 问一个关于delphi的指针问题~
- 在delphi里怎样实现.dbf和oracle数据库之间导入和导出
- 能否将Ehlib的DBGridEh中的隐藏列导出
- 准备开发一个系统,涉及到IC卡或磁卡
- 怎么用 ADOconnect 连接internet 上的 sql server ?
- 如何用SQL语句将varchar转换成long,求一个函数。
- 请问我用adotable控件连接到access2k的数据库。
- 接口主要是用来做什么的?
- 想实现的功能没有思路
- 关于调用DLL中C函数中的var_list参数的正确调用方法?
Uses StrUtils;
var
Str:String;
I:Integer;
begin
Str:='0032';
I:=StrToInt(RightStr(Str,1));
Str:=LeftStr(Str,Length(Str)-1)+IntToStr(i+1); //进位要求呢?
end;
var
Str:String;
I:Integer;
begin
Str:='0032';
I:=StrToInt(Str[Length(Str)]);
Str:=Copy(Str,1,Length(Str)-1)+IntToStr(i+1);
ShowMessage(Str);
end;
procedure TForm1.ShowNum(num: string);
var
i,len: integer;
begin
len := Length(num);
i := StrToInt(num)+1;
ShowMessage(Format('%.'+InttoStr(len)+'d',[i]));
end;调用
ShowNum('000093');
const
ANextNo : array['0'..'9'] of Char = ('1','2','3','4','5','6','7','8','9','0');
var
L : Integer;
begin
Result := S;
L := Length(S);
if L >= 1 then
begin
Result[L] := ANextNo[S[L]];
if (S[L] = '9') and (L >= 2) then
Result[L - 1] := ANextNo[S[L - 1]];
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage (NextNo('000010'));
ShowMessage (NextNo('000019'));
ShowMessage (NextNo('000099'));
end;