VB问题.我想请问一下.我的加密代码哪里错了.
来源:百度知道 编辑:UC知道 时间:2024/06/08 05:18:04
Dim s, i As Integer
Dim a() As String
Private Sub Command1_Click()
s = Len(Text1.Text)
ReDim a(s - 1)
For i = 0 To s - 1
a = Mid(Text1.Text, i + 1, 1)
If Asc(a(i)) - 2 < 65 Then
a(i) = Chr(Asc(a(i) + 24))
Else
a(i) = Chr(Asc(a(i) - 2))
End If
Next
End Sub
a = Mid(Text1.Text, i + 1, 1)
这一句a的值不是一个数组,所以要报类型不匹配!
修改后代码
Dim s, i As Integer
Dim a() As String
Private Sub Command1_Click()
s = Len(Text1.Text)
ReDim a(s - 1)
dim b as string,c as string
For i = 0 To s - 1
b = Mid(Text1.Text, i + 1, 1)
If Asc(b) - 2 < 65 Then
a(i) = Chr(Asc(b) + 24)
Else
a(i) = Chr(Asc(b) - 2)
End If
'Debug.Print a(i)
c = c & a(i)
Next
Text1.Text = c
End Sub
加了一个print 观察a(i)的值
If Asc(a(i)) - 2 < 65 Then
这里a只有一位吧
改成
If Asc(a(0)) - 2 < 65 Then
Dim s As Integer
Dim i As Integer
Dim a() As String
Private Sub Command1_Click()
s = Len(Text1.Text)
ReDim a(s - 1)
For i = 0 To s - 1
a(i) = Mid(Text1.Text, i + 1, 1)
If Asc(a(i)) - 2 < 65 Then
a(i) = CStr(Chr(Asc(a(i)) + 24))
Else
a(i) = CStr(Chr(Asc(a(i)) - 2))
End If
Next
End Su