看样子你是在做一个26进制和10进制混合的计数器(0..9,a..z) 算法原理://只支持a..z,0..9变换 a+1=b,b+1=c,...,w+1=y,y+1=z,z+1=a(同时进位) 1+1=2,2+1=3,....7+1=8,8+1=9,9+1=0(同时进位)程序:var vS : String; vFlag : Boolean ;//进位标志 I : Integer; begin vS := 'abcdf'; vFlag := False; for I:=1 to Length(vS) do begin if vS[I]= '9' then begin vFlag := True; vS[I] := '0'; end else if vS[I]='z' then begin vFlag := True; vS[I] := 'a'; end else begin vFlag := False; Inc(vS[I]); end; if not vFlag then break; end; end;
算法原理://只支持a..z,0..9变换 a+1=b,b+1=c,...,w+1=y,y+1=z,z+1=a(同时进位)
1+1=2,2+1=3,....7+1=8,8+1=9,9+1=0(同时进位)程序:var
vS : String;
vFlag : Boolean ;//进位标志
I : Integer;
begin
vS := 'abcdf';
vFlag := False;
for I:=1 to Length(vS) do
begin
if vS[I]= '9' then
begin
vFlag := True;
vS[I] := '0';
end
else if vS[I]='z' then
begin
vFlag := True;
vS[I] := 'a';
end
else begin
vFlag := False;
Inc(vS[I]);
end;
if not vFlag then break;
end;
end;