vb 这段代码哪有问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 07:41:07
Private Sub Command2_Click()
ReDim a(Len(Text3.Text))
For i = 1 To Len(Text3.Text)
a(i) = Asc(Mid(Text3.Text, i, i))
Next i
For i = 1 To Len(Text1.Text)
If (a(i) >= 65 And a(i) <= 71) Or (a(i) >= 97 And a(i) <= 103) Then
If a(i) Mod 2 = 0 Then
a(i) = a(i) + 20
ElseIf a(i) Mod 2 = 1 Then
a(i) = a(i) + 18
End If
End If
If (a(i) >= 72 And a(i) <= 90) Or (a(i) >= 104 And a(i) <= 122) Then
If a(i) Mod 2 = 0 Then
a(i) = a(i) - 6
ElseIf b Mod 2 = 1 Then
a(i) = a(i) - 8
End If
End If
Next i
For i = 1 To Len(Text3.Text)
Text1.Text = Text1.Text + Chr(a(i))
Next i
End Sub
我想把获得的字符串转成asc码,然后计算后,再输出字符串
要把字符串里的字符进行转化,然后输出

Private Sub Command2_Click()
ReDim a(Len(Text3.Text))
For i = 1 To Len(Text3.Text)
a(i) = Asc(Mid(Text3.Text, i, i))
Next i
For i = 1 To Len(Text1.Text)'此处Text1应该是Text3
If (a(i) >= 65 And a(i) <= 71) Or (a(i) >= 97 And a(i) <= 103) Then
If a(i) Mod 2 = 0 Then
a(i) = a(i) + 20
ElseIf a(i) Mod 2 = 1 Then
a(i) = a(i) + 18
End If
End If
If (a(i) >= 72 And a(i) <= 90) Or (a(i) >= 104 And a(i) <= 122) Then
If a(i) Mod 2 = 0 Then
a(i) = a(i) - 6
ElseIf b Mod 2 = 1 Then '此处b应该改为a(i)
a(i) = a(i) - 8
End If
End If
Next i
text1.text="" '另外,这里最好加上这一句。
For i = 1 To Len(Text3.Text)
Text1.Text = Text1.Text + Chr(a(i))
Next i
End Sub

你这不是多此一举吗?字符串转ASCII码然后又输出字符串?你想干嘛啊?