在2个约束之间生成随机数

时间:2015-08-20 11:45:37

标签: delphi random delphi-xe8

我知道标准Delphi编程的代码是这样的:

randomize();
i := random(5,10); // where i is an integer.

然后i的值将在5到10之间。但是我如何在Fire Monkey中执行此操作。该函数需要一个范围,但我不知道如何创建范围。

Embarcadero网站上搜索Google或事件也没有任何帮助。

该功能如下所示:function Random(const ARange: Integer): Integer;

这是可能的,还是我看错了地方? 我应该写一个这样的函数:

while ((i<= 64) and (i>= 91)) do
    i := Random(90);

1 个答案:

答案 0 :(得分:3)

Delphi中的RNG函数是RTL的一部分,在System单元中定义。因此,它们在FMX中可用,就像它们在VCL中可用一样。简而言之,FireMonkey并不是真正相关的。

您正在寻找的功能是来自System.Math的{​​{3}}。

所以,你可以写:

Value := RandomRange(5, 10);

但请仔细注意文档的这一部分:

  

RandomRange 从AFrom和ATo之间的范围内返回一个随机整数(不包括在内)。

因此,上面的函数调用只能返回以下值:5,6,7,8和9.