VB中的text1文字内容随机排序
如:VB中的TEXT1的内容:VB中的text1文字内容随机排序点击按钮后.TEXT2随机TEXT1中的内容!...
如:VB中的TEXT1的内容:VB中的text1文字内容随机排序 点击按钮后.TEXT2随机TEXT1中的内容!
展开
2013-12-10
展开全部
我不多说了,代码: Private Sub Command1_Click()
Dim s1 As String '存放源字符串
Dim s2 As String '存放随机后的字符串
Dim length As Integer '存放源字符串的长度
s1 = Text1.Text
s2 = ""
length = Len(s1) '求长度
Dim i As Integer '循环变量
Dim x As Integer '存放当前所取字符的位置
ReDim a(1 To length) As Integer '定义一个存放源字符串可取位置的数组
For i = 1 To length '为这个数组赋值
a(i) = i
Next i
Do While Len(s2) < length '当随机后的字符串没有达到源字符串的长度时,循环
'每次从源字符串中随即取一个字符,如果取过,就不再取
x = Int(Rnd * length) + 1
For i = 1 To length
If x = a(i) Then '若这个位置没有取过
a(i) = 0 '标识为取过
s2 = s2 + Mid(s1, x, 1) '取这个位置的一个字符
Exit For
ElseIf a(x) = 0 Then '若这个位置取过
Exit For '退出for循环,取下一个随机数
End If
Next i
Loop
Text2.Text = s2 '把随机后的字符串写入text2
End Sub
效果图:
Dim s1 As String '存放源字符串
Dim s2 As String '存放随机后的字符串
Dim length As Integer '存放源字符串的长度
s1 = Text1.Text
s2 = ""
length = Len(s1) '求长度
Dim i As Integer '循环变量
Dim x As Integer '存放当前所取字符的位置
ReDim a(1 To length) As Integer '定义一个存放源字符串可取位置的数组
For i = 1 To length '为这个数组赋值
a(i) = i
Next i
Do While Len(s2) < length '当随机后的字符串没有达到源字符串的长度时,循环
'每次从源字符串中随即取一个字符,如果取过,就不再取
x = Int(Rnd * length) + 1
For i = 1 To length
If x = a(i) Then '若这个位置没有取过
a(i) = 0 '标识为取过
s2 = s2 + Mid(s1, x, 1) '取这个位置的一个字符
Exit For
ElseIf a(x) = 0 Then '若这个位置取过
Exit For '退出for循环,取下一个随机数
End If
Next i
Loop
Text2.Text = s2 '把随机后的字符串写入text2
End Sub
效果图:
2013-12-10
展开全部
取text1中的字符,将他们逐个字符组成一个字符数组,再使用rnd产生随机下标进行字符的读取,需要注意的是,存取出一个字符后,应将取出来的字符从字符数组中剔除掉,避免重复!!希望这个思路可以给你一点帮助!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询