用vb生成随机字符串

如何用VB生成一个12位的随机字符串?百度知道已经有这方面答案了,但我确实不太入门,请帮我编好程序,并在最后给与说明,谢谢!有积分追加!!说明白还有几分追加!!... 如何用VB生成一个12位的随机字符串?百度知道已经有这方面答案了,但我确实不太入门,请帮我编好程序,并在最后给与说明,谢谢!
有积分追加!!
说明白还有几分追加!!
展开
 我来答
mosquitokobe
2009-02-19 · TA获得超过4253个赞
知道大有可为答主
回答量:5008
采纳率:50%
帮助的人:0
展开全部
你可以随机从ASCII码中的33到126之间随机选一个数 然后还原成字符 重复12次就可以得到12位随机字符串了~
使用rnd函数 为了生成某个范围内的随机整数,可使用以下公式
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限
Int((126 - 33 + 1) * Rnd + 33)
Chr 函数 就是还原asc码为字符
Randomize 为了保证每次重新加载程序不生成同样的随机数
代码如下:
Private Sub Command1_Click()
Randomize
Dim str1 As String
For i = 1 To 12
str1 = str1 & Chr(Int((126 - 33 + 1) * Rnd + 33))
Next i
MsgBox str1
End Sub
匿名用户
推荐于2017-11-27
展开全部
Private Sub Command1_Click()'按钮的单击事件
Dim a&, c$'定义变量
For a = 1 To 12'开始12次循环
c = c & Chr(Int((Rnd() * 79)) + 48)'每次产生一个字符。
Next a'
Text1.Text = c'将结果输出在文本框中。
End Sub'单击事件结束

参考资料: ...

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤独二进制
2009-03-10 · TA获得超过298个赞
知道小有建树答主
回答量:534
采纳率:0%
帮助的人:0
展开全部
'//需要一个Textbox 名字Text1
Private Sub Form_Load()
Dim Str as String '//所包含字符串
Dim i as Integer '//i循环变量 循环1 到 12 每次随即一个数给text1
Str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
For i=1 to 12
Randomize '//随机数初始化
Text1.Text=Text1.Text & Mid(Str,Instr(Str,Int(Rnd()*Len(Str))+1),1)
Next
End Sub
'//大体意思。
Str变量中包含了你要输出的字符。当然随即取的。
循环1到12.12次。每次取一个随机数
Mid(Str,Instr(Str,Int(Rnd()*Len(Str))+1),1)
这段的意思是
取Str字符中,第几个数位置开始,几个字符
Instr(str,
意思就是取str中的第几个字符比如b显示的就是2.a就是1.就是字符在第几个位置。
。Len就是测试str有几个前边就是rnd随即x总的数。rnd出来的是一个0-0.9的数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秋清玄季25
2009-02-20 · TA获得超过2413个赞
知道大有可为答主
回答量:990
采纳率:0%
帮助的人:1080万
展开全部
Dim strSource As String
Dim iLen As Integer
Dim strResult As String
strSource = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~`!@#$%^&*()_+-=" '先初始化一个字符串作为随机字符的来源,可以根据需要任意添加或去除其中的元素
iLen = Len(strSource) '获取这个字符串的长度
Randomize '初始化随机数生成器
For i = 1 To 12 '然后随机生成一个1到来源字符串总长度iLen之间的一个数字
strResult = strResult & Mid(strSource, Int(Rnd(1) * iLen + 1), 1) '取出该位置的字符添加到结果字符串中
Next '重复操作12次
Debug.Print strResult '输出结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
启岩
2009-03-08 · TA获得超过1851个赞
知道小有建树答主
回答量:809
采纳率:0%
帮助的人:632万
展开全部
可以通过先产生一个ASCII码再用相关函数转成字符,下面以随机产生一个大写字母为例的程序,大写字母ASCII码的范围是65-90
Private Sub Command1_Click()
Dim MyValue
MyValue = Chr(RndNum(65, 90))
Text1.Text = MyValue
End Sub
'下面是产生一个lowerbound ——upperbound 的随机数,这里可以自己定义范围
Private Function RndNum(ByVal lowerbound As Integer, ByVal upperbound As Integer) As Integer
RndNum = Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式