小弟初学vb,想写一个简单的7位密码生成器
要求是这样的:
1~3 字母(小写)4~5 数字(0~9)6~7 字母、数字混合前面5位我知道如何做,但后2位要在字母和数字之间随机,实在不知道如何实现,贴上我写的,希望大虾指点指点Private Sub Command1_Click()
Dim x As String
Dim y As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As IntegerFor i = 1 To 3
Do
y = Int(Rnd(i) * 26 + 97)
Loop Until y <> 123
x = x & Chr(y)
Next iFor j = 1 To 2
Do
y = Int(Rnd(j) * 10 + 48)
Loop Until y <> 59
x = x & Chr(y)
Next jFor k = 1 To 1
Do
y = Int(Rnd(k) * 26 + 97)
Loop Until y <> 123
x = x & Chr(y)
Next kFor l = 1 To 1
Do
y = Int(Rnd(l) * 10 + 48)
Loop Until y <> 59
x = x & Chr(y)
Next lText1.Text = x
End Sub
要求是这样的:
1~3 字母(小写)4~5 数字(0~9)6~7 字母、数字混合前面5位我知道如何做,但后2位要在字母和数字之间随机,实在不知道如何实现,贴上我写的,希望大虾指点指点Private Sub Command1_Click()
Dim x As String
Dim y As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As IntegerFor i = 1 To 3
Do
y = Int(Rnd(i) * 26 + 97)
Loop Until y <> 123
x = x & Chr(y)
Next iFor j = 1 To 2
Do
y = Int(Rnd(j) * 10 + 48)
Loop Until y <> 59
x = x & Chr(y)
Next jFor k = 1 To 1
Do
y = Int(Rnd(k) * 26 + 97)
Loop Until y <> 123
x = x & Chr(y)
Next kFor l = 1 To 1
Do
y = Int(Rnd(l) * 10 + 48)
Loop Until y <> 59
x = x & Chr(y)
Next lText1.Text = x
End Sub
StrRnd(1)="1"
StrRnd(2)="2"
StrRnd(3)="3"
.........
StrRnd(35)="Z"再
msgbox StrRnd(rnd*36)明白不?
Dim x As String, y As Integer, i As Integer
Randomize
For i = 1 To 7
If i < 4 Then
y = 1
ElseIf i < 6 Then
y = 0
Else
y = Int(Rnd * 2)
End If
If y = 0 Then
x = x & Chr$(Int(Rnd * 10) + 48)
Else
x = x & Chr$(Int(Rnd * 26) + 97)
End If
Next
Text1.Text = x
End Sub
Dim x As String
Dim y As Integer
Dim i As Integer
Dim j As Integer
Dim StrRnd(35) As StringFor i = 1 To 3
Do
y = Int(Rnd(i) * 26 + 97)
Loop Until y <> 123
x = x & Chr(y)
Next iFor j = 1 To 2
Do
y = Int(Rnd(j) * 10 + 48)
Loop Until y <> 59
x = x & Chr(y)
Next jStrRnd(0) = "0"
StrRnd(1) = "1"
StrRnd(2) = "2"
StrRnd(3) = "3"
StrRnd(4) = "4"
StrRnd(5) = "5"
StrRnd(6) = "6"
StrRnd(7) = "7"
StrRnd(8) = "8"
StrRnd(9) = "9"
StrRnd(10) = "a"
StrRnd(11) = "b"
StrRnd(12) = "c"
StrRnd(13) = "d"
StrRnd(14) = "e"
StrRnd(15) = "f"
StrRnd(16) = "g"
StrRnd(17) = "h"
StrRnd(18) = "i"
StrRnd(19) = "j"
StrRnd(20) = "k"
StrRnd(21) = "l"
StrRnd(22) = "m"
StrRnd(23) = "n"
StrRnd(24) = "o"
StrRnd(25) = "p"
StrRnd(26) = "q"
StrRnd(27) = "r"
StrRnd(28) = "s"
StrRnd(29) = "t"
StrRnd(30) = "u"
StrRnd(31) = "v"
StrRnd(32) = "w"
StrRnd(33) = "x"
StrRnd(34) = "y"
StrRnd(35) = "z"Text1.Text = x + StrRnd(Rnd * 36) + StrRnd(Rnd * 36)End Sub
Private Sub Command2_Click()
Randomize
Dim a As String
Dim b As Integer
For i = 1 To 2
b = Int(36 * Rnd + 1)
If b <= 10 Then
a = a + Trim(Str(Chr(b + 47)))
Else
a = a + Chr(b + 86)
End If
Next
Debug.Print a
End Sub