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

Generate Random Number between 2 constraints

我知道标准 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);

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

您要查找的函数是 System.Math 中的 RandomRange

所以,你可以这样写:

Value := RandomRange(5, 10);

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

RandomRange returns a random integer from the range that extends between AFrom and ATo (non-inclusive).

所以,上面的函数调用只能return以下值:5、6、7、8和9。