var
 TempInt:Integer;
 Label L1; 
begin
  Randomize;
  L1;
  TempInt:=Random(100000000);
  if Length(IntToStr(TempInt))<>8 then//如果长度不等于8位则重来~
  goto L1;
end;

解决方案 »

  1.   

    var
     TempInt:Integer;
     Label L1; 
    begin
      Randomize;
      L1:
      TempInt:=Random(100000000);//产生长度小于9的随机数
      if Length(IntToStr(TempInt))<>8 then//如果长度不等于8位则重来~
      goto L1;
      ShowMessage(IntToStr(TempInt));
      

  2.   

    嗨,楼上的方法,有可能延迟很久!不如每一位Random,然后合并起来,转换成一个Long Integer就可以了。
      

  3.   

    Kingron~~收到~~
    :)~~还是你的方法好~~
      

  4.   

    Randomize;
    tmp:=random(100000000)+10000000;
      

  5.   

    Kingron 和 AYellow(北斗猪) 的方法可以,tikkypeng(千两狂死郎) 的方法不可取。。
      

  6.   

    var temp:string;
        i:integer;
    begin 
      temp:='';
      for i:=1 to 8 do
      begin
       temp:=temp+inttostr(random(10));
      end;
    end;
      

  7.   

    我觉得tikkypeng(千两狂死郎) 的方法很好啊
    达到我的要求了 
    AYellow(北斗猪)的方法很难理解