我要完成的是:
接受客户输入一个字符串,分别归类
数字的按照他输入的顺序归数字一类放到一个变量里
字符的按照他输入的顺序归字符一类放到一个变量里他有可能输入的是L00001
归类以后数字还要自动加1,但以加1,00001就变成了2前面的0没有了有没有自动填充的,规定几个字符不够的用0补
有什么好的办法也可以说说
接受客户输入一个字符串,分别归类
数字的按照他输入的顺序归数字一类放到一个变量里
字符的按照他输入的顺序归字符一类放到一个变量里他有可能输入的是L00001
归类以后数字还要自动加1,但以加1,00001就变成了2前面的0没有了有没有自动填充的,规定几个字符不够的用0补
有什么好的办法也可以说说
解决方案 »
- 如何将RichEdit中输入的文本转成BMP图片
- 文件上传
- 小弟是一个初学者,请大侠帮忙!急!!!!!!!!!
- 书书。这本书,谁有《Delphi COM深入编程》这本书的电子版啊?哪个教育网可能有吧
- 怎么将ACCESS数据库的表绑定到打包程序中,用注册表或ini文件???
- ********对VCL熟悉的高手请进——有点难度的问题:如何在不移动记录指针的情况下得到DBGridEh某个指定单元格的值**********
- 有人可以提供远程完全控制别一台机器(就像操作本机一样)的源码吗?非常感谢~
- 在程式最小化时,怎样做成foxmail的模式,即不出现在任务栏中,而是在右下角的显示系统时间栏中!
- 一个小问题?但是很急哟!!??帮帮我吧?
- 请教:如何去掉Webbrower控件的滚动条和边框?
- delphi指针程序运行出错
- 求算法
format函数应该可以
返回的结果是:00000001(总共八位,前面不够补0)
copy('00000000',1,8-length(str))+str
//param strNum 待补零数字
// iValidNum 补零位数
function FillZero(strNum: string; iValidNum: Integer);
var
i : Integer;
strZero : string;
begin
strZero := '';
for i := 0 to iValidNum - 1 do
strZero := strZero + '0'; Result := RightStr(strZero + strNum, iValidNum);
end;
begin
Result := StringOfChar('0', iValidNum - Length(strNum)) + strNum;
Delete(Result, 1, Length(strNum) - iValidNum);
end;
function IsNum(c:char):boolean;
begin
if c in ['0'..'9'] then
result:=true else result:=false;
end;procedure DevStr(str:string;var numStr,StrStr:string);
var
i,index:integer;
begin
index:=0;
for i:=length(str) downto 1 do
if not IsNum(str[i]) then
begin
index:=i;
break;
end;
if index=length(str) then//如果最后一个字符是字符,那么退出
begin
numStr:='';
strstr:=str;
exit;
end;
if index=0 then//如果全部是数字,那么退出
begin
numstr:=str;
strstr:='';
exit;
end;
strstr:=copy(str,1,index);
delete(str,1,index);
numstr:=str;
end;function GetIncNumStr(numstr:string):string;
var
len,len1:integer;
n,i:integer;
s:string;
begin
len:=length(numstr);
n:=strtoint(numstr)+1;
s:=inttostr(n);
len1:=length(s);
for i:=1 to len-len1 do
s:='0'+s;
result:=s;
end;function IncStr(s:string):string;
var
cs,ns:string;
begin
DevStr(s,ns,cs);
result:=cs+GetIncNumStr(ns);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(incstr('L00001'));
end;
function IncChar(var C: Char): Boolean;
begin
Result := C = '9';
if Result then
C := '0'
else
if C in ['0'..'8'] then
Inc(C);
end;var
L: Integer;
begin
Result := S;
L := Length(Result);
while IncChar(Result[L]) do
Dec(L);
end;IncStr('L001');
IncStr('L999');