当前位置:  开发笔记 > 编程语言 > 正文

在delphi中生成随机数

如何解决《在delphi中生成随机数》经验,为你挑选了1个好方法。

我想在delphi中创建一个随机数,并将其作为文件名分配给文件.我设法做到了,但当我点击按钮生成数字时,它始终以0开头.任何想法如何解决它

procedure TForm1.Button1Click(Sender: TObject);
var
test:integer;

begin
test:= random(8686868686868);

edit1.Text:= inttostr(test);
end;

end.

Tom Brunberg.. 5

正如user246408所说,您应该使用Randomize随机值初始化随机数生成器.此外,如果要将返回的数字限制为正整数,请使用预定义的MaxInt常量.

System.Random返回的重载函数integer具有以下签名:

  function Random(const ARange: Integer): Integer;

并返回一个X满足公式的整数0 <= X < ARange.要防止0值,您可以添加选择的常量,例如

procedure TForm17.Button2Click(Sender: TObject);
const
  MinRandomValue = 100000;
var
  test:integer;
begin
  test:= random(MaxInt-MinRandomValue)+MinRandomValue;
  edit1.Text:= inttostr(test);
end;

(从MaxInt中减去MinRandomValue以防止溢出)

或者,您可以使用System.Math.RandomRange

test := RandomRange(100000, MaxInt);

记录在这里



1> Tom Brunberg..:

正如user246408所说,您应该使用Randomize随机值初始化随机数生成器.此外,如果要将返回的数字限制为正整数,请使用预定义的MaxInt常量.

System.Random返回的重载函数integer具有以下签名:

  function Random(const ARange: Integer): Integer;

并返回一个X满足公式的整数0 <= X < ARange.要防止0值,您可以添加选择的常量,例如

procedure TForm17.Button2Click(Sender: TObject);
const
  MinRandomValue = 100000;
var
  test:integer;
begin
  test:= random(MaxInt-MinRandomValue)+MinRandomValue;
  edit1.Text:= inttostr(test);
end;

(从MaxInt中减去MinRandomValue以防止溢出)

或者,您可以使用System.Math.RandomRange

test := RandomRange(100000, MaxInt);

记录在这里

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有