我想在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);
记录在这里
正如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);
记录在这里