randomize;// initialize
while(i=0)
begin
 i:=random(6)
end;

解决方案 »

  1.   

    randomize(5);
    randomize(5);//为什么用多次,因为delphi的randomize不是很好,一般只
                   用一次很容易相同。
    randomize(5);
    randomize(5);
      

  2.   

    randomize;
    showmessage(floattostr(random(5)+1));
      

  3.   

    因为random(5)产生的是0到4的随机数,加1就成了1-5的随机了
      

  4.   

    照上面的做只是得到实数,而且有可能得到0 ,用下面这个吧,简单实用:var RanNum:ShortInt;
    begin
      Randomize;
      RanNum:=1+Round(Random*4)//保证不会得到小于1的整数
    end;
      

  5.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
            Value : Intege;  //当然这个变量也可以定义成全局变量,也可以定义成类的变量
    begin
            Randomize;
            Value := 1 + Random(5);
    end;
      

  6.   

    用random不能产生随机数,它在每次启动时的值的序列斗室相同的,
    应该这样
    StrToInt(FormatDatetime('z',now));可以得到0-999的随机数,
    然后你就可以取得1-5的随机数了,这个不用教了吧