那位高手能给我详细逐行解释一下

来源:百度知道 编辑:UC知道 时间:2024/05/12 08:00:28
Dim m As String
Dim m2 As String
Dim m1 As String
Dim j As Integer
m2 = Left(s, 1)
If m2 = " " Then

For i = 1 To Len(s)
j = InStr(i, s, Chr(0)) + 1
s = Right(s, Len(s) - j)
m = Mid(s, j, 1)
If m = " " Then
Else
m1 = m1 & m
End If
Next
s = m1
Else

s = Left(s, InStr(1, s, Chr(0)) - 1)
End If
Dim p As Long

p = 1
If Len(s) < 20 Then
s = s + String(20 - Len(s), "X")
ElseIf Len(s) > 20 Then
s = Left(s, 20)
End If
For i = 1 To 20
p = p + asc(Mid(s, i, 1)) * 199
Next
strPass = Format(p) 'CStr(Trim(Val(Mid(Date, 1, 4)) + Val(Mid(Date, 6, 2)) + Val(Mid(Date, 9, 2))))
' strPass = &qu

Dim m As String
Dim m2 As String
Dim m1 As String
Dim j As Integer '以上为变量定义
m2 = Left(s, 1)
If m2 = " " Then '如果M2的值为空就执行以下语句

For i = 1 To Len(s) '循环len(s)-1次,len(s)得到变量s的长度
j = InStr(i, s, Chr(0)) + 1 'Chr(0)代表换行字符,这句的意思是将(从位置i开始搜索, _
指定chr(0)在s中最先出现的位置)+1赋给j

s = Right(s, Len(s) - j) '返回字符串s从右边开妈的len(s)-j个字符
m = Mid(s, j, 1) '返回字符串s第j个位置开始的1个字符
If m = " " Then '如果m为空则什么也不做,
Else
m1 = m1 & m '不为空则将ml与m合并并赋值给ml
End If
Next
s = m1 'ml赋值给s
Else

s = Left(s, InStr(1, s, Chr(0)) - 1) '这个语句有错,InStr(1, s, Chr(0)) - 1)后面不应该有-1
End If
Dim p As Long

p = 1
If Len(s) < 20 Then '如果s的长度小于20
s = s + String(20