在 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。
我知道标准 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。