用vb生成随机字符串

如何用VB生成一个12位的随机字符串?百度知道已经有这方面答案了,但我确实不太入门,请帮我编好程序,并在最后给与说明,谢谢!有积分追加!!说明白还有几分追加!!... 如何用VB生成一个12位的随机字符串?百度知道已经有这方面答案了,但我确实不太入门,请帮我编好程序,并在最后给与说明,谢谢!
有积分追加!!
说明白还有几分追加!!
展开
 我来答
fcwtreachery
2009-02-27 · 超过28用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:0
展开全部
Dim str1 As String, str2 As String, i As Integer
Randomize
For i = 1 To 13 + Rnd * 10 '我这里就是生成13个字符加上1-10的随机数。就是位数也是随机的。要是就要12位。可以弄成1 to 12
str1 = Chr(Rnd * 128) '先随机生成一个128之内的数。然后用chr()函数转成字符。赋给str1.
str2 = str1 & str2 'str2的值就是str1的值加上str2的值
Next i
Form1.Caption = str2 'form1的标题就是显示随机生成的这一个字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星语鑫鑫愿
2009-02-19 · TA获得超过982个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:229万
展开全部
给你个示例:先创建一个文本框和按钮。输入以下代码,每单击一次按钮,可产生不同的12位随机字符串组合。
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'单击事件结束

其中Int((Rnd() * 79)) + 48或确定你所要的字符串产生的范围。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Happy_Zeal
2009-03-08 · TA获得超过111个赞
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
'一个最简单的代码!
Private Sub Form_Load()
str1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789,.?!~@#$%^&*()_+"
For I = 1 To 12
Randomize
a = Rnd * len(str1) + 1 '获取一个界于1到STR1的长度之间的随机数
str2 = Mid(str1, a, 1)'获取str1中第a位的字符
strx = strx + str2
Next
Text1.Text = strx

End Sub
'随机字符中可包含26个大小写字母,数字以及特殊符号!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengerezu
2009-02-20 · TA获得超过1189个赞
知道小有建树答主
回答量:2123
采纳率:0%
帮助的人:964万
展开全部
好的程序来了!顺便给你解释一下:

rndchr = ""
num = Int(10 * Rnd + 1)
For j = 1 To num
i = Int(3 * Rnd + 1)
Select Case i '重点就是下面的几个
Case 1
chr1 = Int(26 * Rnd + 65) '26就是表示有26个字母,65就是大写字母A
Case 2
chr1 = Int(26 * Rnd + 97) '97就是小写字母a
Case 3
chr1 = Int(10 * Rnd + 48) '10就是表示有10个数字(0--9),48就是数字0
End Select
rndchr = rndchr & Chr(chr1)
Next

这样说应该明白了吧,通俗易懂啊!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桑景彰n8
2009-02-19 · 超过13用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
Private Sub Form_Load()
N = 12
For I = 1 To N 'N是指定长度
Randomize
T = Int(Rnd() * 3)
Select Case T
Case 0
Randomize
R = R & Chr(Int(Rnd() * 25) + 65) '生成一个大写字母
Case 1
Randomize
R = R & Chr(Int(Rnd() * 25) + 97) '生成一个小写字母
Case 2
Randomize
R = R & Chr(Int(Rnd() * 9) + 48) '生成一个数字
End Select
Next I
MsgBox R
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式