Lotusscript生成随机8个字符的字符串?

Bax*_*XTR 2 random lotus-notes lotusscript

如何在此模式中使用lotusscript生成一个包含8个字符的字符串?例如:0E 1F A3 ZK(包括最后一个在内的每2个字符后面有空格).每个字符只能是0-9或AZ(仅限大写).我之前使用过RandomizeRnd方法,并考虑在这里应用它,但我不确定这是否是正确的方法以及如何实现它.另一件事是这个字符串将保存到我的文档中,我有一个视图列出每个生成的字符串.这意味着每次生成字符串时,它必须是唯一的.如果生成的字符串已在另一个文档中使用,则继续生成,直到生成一个尚未使用的字符串.

Knu*_*ann 6

是的,你也可以Rnd在这种情况下使用.

定义一个函数getRandom(),每次调用时都会以"XX XX XX XX"格式为您提供随机字符串.

Function getRandom() As String
    Const charList = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    getRandom = _
    Mid(charList, 35*Rnd+1, 1) + Mid(charList, 35*Rnd+1, 1) + " " + _
    Mid(charList, 35*Rnd+1, 1) + Mid(charList, 35*Rnd+1, 1) + " " + _
    Mid(charList, 35*Rnd+1, 1) + Mid(charList, 35*Rnd+1, 1) + " " + _
    Mid(charList, 35*Rnd+1, 1) + Mid(charList, 35*Rnd+1, 1)
End Function
Run Code Online (Sandbox Code Playgroud)
  • charList 是一个包含所有允许字符0-9和AZ的字符串.

  • 你得到1到36之间的随机数35*Rnd+1.这是您charList随机获取其中一个字符的索引.

getRandom()只要您获得一个尚未在视图中的字符串,就可以在一个循环中调用该函数.

  • 我建议使用randomize来按照帮助中的建议生成随机数.否则你可能会一次又一次得到相同的随机字符串...... (2认同)