vb中随机产生长度为1~20的大写字符串
【关于vb中随机产生长度为1~20的大写字符串】
********* 本人原创编写,绝无复制抄袭 *********
步骤如下:
1,第一步,创建和定义变量,用来存放临时数据
Dim S As String '用来存放新字符串中允许产生的字符
Dim I As Long '用来存放随机数
Dim sText As String '用来装载20个随机字符作为最终结果
2,第二步,添加一个字符串,将从这些字符中产生新的随机字符。 如:
S = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
3,第三步,创建一个循环过程,他的条件是字符串长度小于20
While Len(sText) < 20
4,第四步,产生随机数,它的范围是1至你字符串S的长度
I = Int(Rnd() * Len(S)) Mod Len(S) + 1
5,第五步,从S串中随机数的地方截取一个字符添加到结果中,直到这结果长度达到20时停止循环
sText = sText & Mid(S, I, 1)
Wend
6,第六步,打印结果到窗体上,如果你要指定大小写,请用相应函数:Ucase(转为大写),Lcase(转为小写)
Print sText
下面我把完整代码,写成一个产生随机字符串的函数,方便大家调用,如下
'函数:产生随机字符串的函数,调用方法 StrRandom("将从哪些字符中产生",返回的长度)
Public Function StrRandom(ByVal S As String, ByVal Count As Long) As String
Dim sText As String, I As Long
While Len(sText) < Count
I = Int(Rnd() * Len(S)) Mod Len(S) + 1
sText = sText & Mid(S, I, 1)
Wend
StrRandom = sText
End Function
Private Sub Command1_Click() '固定20长度
'调用示例:从下面字符中产生固定20长度的随机字符串
Const Str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Print StrRandom(Str, 20)
End Sub
Private Sub Command2_Click() '随机1~20长度
'调用示例:从下面字符中产生随机1~20长度的随机字符串
Const Str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Print StrRandom(Str, (20 * Rnd) + 1)
End Sub
2024-07-18 广告
vb中随机产生长度为1~20的大写字符串的代码如下:
Private Sub Command1_Click()
Randomize
Text1.Text = ""
n = Int(Rnd * 20) + 1
For i = 1 To n
Text1.Text = Text1.Text & Chr(Int(Rnd * 26 + 65))
Next i
End Sub
Private Sub Command2_Click()
c = InputBox("请输入一个大写字母:")
n = 0
For i = 1 To Len(Text1.Text)
If Mid(Text1.Text, i, 1) = c Then n = n + 1
Next i
MsgBox Text1.Text & " 中有 " & n & " 个 " & c
End Sub
Private Sub Form_Load()
Text1.Text = ""
End Sub
这道题需要分两步进行,首先需要随机生成字符串的长度(1~20个),然后按照个数随机生成大写字符并连接为字符串。代码如下:
Dim N As Integer,strOut As String,i As Integer
N=Int(RND * 20+1) '生成字符串个数
strOut=""
for i=1 to N
strOut=strOut & chr(65 + RND * 26)'随机生成数(0~25),与'A'的Ascii码相加,生成随机大写字母
Next
Print strOut
Private Sub Command1_Click()
Dim i As Integer, n As Integer, s As String
n = Int(Rnd * 20) + 1
s = ""
For i = 1 To n
s = s + Chr(Int(Rnd * 25 + 66))
Next
Print s
End Sub