是否有任何内置函数可以获取随机“字母”
就像我们用来生成随机数的 RANDOM(low,high) 一样?
对于我的打字导师,我想生成一些句子(不需要有意义)。
所以我需要一些函数来生成字母,以便我可以从中生成单词。
(逻辑上的改变也可以接受。但我更喜欢这个逻辑。)
谢谢你
如果您使用“chr()”函数,您将能够生成 ASCII 字母。
chr(RANDOM(65,90))
为您提供 A 和 Z 之间的随机大写字母,
chr(RANDOM(97,122))
应该给你一个小写字母。
基于 LyrixDeRaven 的答案的随机字符/数字字符串生成功能正在进行中。请注意,它可以根据您的参数生成相同的随机数。
备用随机数生成器 (-rand) 参数确定是否为每个会话生成相同的随机数序列。有关此参数的信息,请参阅启动命令和参数参考。
DEFINE VARIABLE result AS CHARACTER NO-UNDO.
RUN CreateRandomString(INPUT 5, INPUT FALSE).
result = RETURN-VALUE.
PROCEDURE CreateRandomString:
DEFINE INPUT PARAMETER iAmountCharacters AS INTEGER.
DEFINE INPUT PARAMETER LCharacters AS LOGICAL.
DEFINE VARIABLE iStep AS INTEGER NO-UNDO.
DEFINE VARIABLE sString AS CHARACTER NO-UNDO.
DO iStep = 1 TO iAmountCharacters:
IF LCharacters THEN
ASSIGN sString = SUBSTITUTE( "&1&2":U
, sString
, CHR(RANDOM(65,90))
).
ELSE
ASSIGN sString = SUBSTITUTE( "&1&2":U
, sString
, STRING(RANDOM(1, 9))
).
END.
RETURN sString.
END PROCEDURE.