我從一個Field中Read值.
CM00001 
我怎樣才能讓他加一呢? 
EdtCode.Text := CM00001+1 ?????我應該怎樣寫呢?我想要得到的結果是 CM00002
謝謝!

解决方案 »

  1.   

    我发现你小子好走运。是解决长度为6位数的函数;
      public
       rember:string;
       function rem(str:string):string;
        { Public declarations }
      end;
    procedure Tform1.button1click(sender:object)
    begin
    rember:=edit1.text; 就是你的Cm00001
    Edtcode.text.text:=rem(rember);  //调用取下了个cbh的号码;
    end;
    Function Tform1.rem(str:string):string;
    Var
      Str1:string;
      num:string; //用于存放数字
      num1:string; //用于存放字符 A00001;
      sjnum:integer;//用于存放转换后的num;
      i:integer;
      J:INTEGER; //用于存放数字是多少位;
      k:integer;
    begin
       for i:=1 to 6 do
       begin
         str1:=copy(TRIM(str),i,1);    if (str1>='A') AND (STR1<='Z') then
          num1:=num1+str1
          else
          num:=num+str1;
       end;
       j:=length(num);
       sjnum:=strtoint(num);
       sjnum:=sjnum+1;          //将编号加num+1
       num:=inttostr(sjnum);
       if length(num)<j
       then
       k:=j-length(num);
       for i:=1 to k do
       begin
        num:='0'+num;
       end;
       result:=num1+num;
    end;
      

  2.   

    注意上面的只能是'A'-'Z', 没有解决'a'-'z'如果是7位把上面的 for i:=1 to 6 改成for i:=1 to 7