11位得号码给出前几位(最少给出7位)后自动生生成11位得号码,例如
起始:1321138**** 结束1321139****;
起始:12133667*** 结束121336678**……怎么自动生成并保存下来呢,最好给出代码

解决方案 »

  1.   

    用random来获得随机书,然后加上前面的固定数值就是。
      

  2.   

    我是想每次加1得,可是我把起始号是个字符串把它转化数字时候老是报错,可是我设置得是int64型还是不行。
      

  3.   

    procedure GenNum(var First,Last:Int64);
    var
     s1,s2:string;
     Next:Int64;
     i:Integer;
    begin
      s1:=IntToStr(First);
      s2:=IntToStr(Last);
      for i:=1 to 11-Length(s1) do
        First:=First*10;
      for i:=1 to 11-Length(s2) do
        Last:=Last*10+9;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
     i,First,Last:Int64;
    begin
      First:=1321138;
      Last:=1321139;
      GenNum(First,Last);//根据给定值获得第一个数和最后一个数
      ShowMessage(Inttostr(First)+'  '+Inttostr(last));
      
      for i:=First to Last do
      begin
       //记录 i
      end;
    end;
      
      

  4.   

    先定义
    var
         flag:double;
          clickflag:integer;
    然后给中间变量付值
         flag:=0;
    在ButtonClick中输入以下代码就行了:
    if clickflag=0 then
            begin
            flag:= strtofloat(edit1.Text)*10000;
            edit3.Text:=floattostr(flag+1);
            edit1.Text:=floattostr(flag);
           clickflag:=1;
            end
            else
            begin
            if (length(edit1.Text)<7 ) or (length(edit1.Text)>11) then
          begin
                   application.MessageBox('号段长度不对','注意',mb_ok);
          end
          else
          begin
            if strtofloat(edit3.Text)>=strtofloat(edit2.Text) then
            begin
                    application.MessageBox('已超出该号段','注意',mb_ok);
            end
            else
            begin
                   edit3.Text:=floattostr(strtofloat(edit3.Text)+1);
            end
          end
          end ;