用vb生成随机字符串
如何用VB生成一个12位的随机字符串?百度知道已经有这方面答案了,但我确实不太入门,请帮我编好程序,并在最后给与说明,谢谢!有积分追加!!说明白还有几分追加!!...
如何用VB生成一个12位的随机字符串?百度知道已经有这方面答案了,但我确实不太入门,请帮我编好程序,并在最后给与说明,谢谢!
有积分追加!!
说明白还有几分追加!! 展开
有积分追加!!
说明白还有几分追加!! 展开
15个回答
展开全部
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的标题就是显示随机生成的这一个字符
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的标题就是显示随机生成的这一个字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个示例:先创建一个文本框和按钮。输入以下代码,每单击一次按钮,可产生不同的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或确定你所要的字符串产生的范围。
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或确定你所要的字符串产生的范围。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'一个最简单的代码!
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个大小写字母,数字以及特殊符号!
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个大小写字母,数字以及特殊符号!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好的程序来了!顺便给你解释一下:
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
这样说应该明白了吧,通俗易懂啊!!!
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
这样说应该明白了吧,通俗易懂啊!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询