Mid(Temp, i, 1) = GetUserCar(Mid(UserInStr, i, 1))
这句很奇怪,不是条件表达式的话赋值语句没有这么做的
另外里面的1是截取1位,输出缺要两位,你想想
要写在不同平台下都能调用的DLL,最好还是用C或C++编写标准DLL
VB听说也能编写标准DLL,但是貌似也是偷梁换柱,不是很正规。
Private Function GetPassCar(UserInStr As String) As String
Dim Temp As String
Dim i As Long
Temp = Space(Len(UserInStr))
For i = 1 To Len(UserInStr)
Mid(Temp, i, 1) = GetUserCar(Mid(UserInStr, i, 1))
Next
GetPassCar = Temp
End Function
这个函数应该这么写:
Private Function GetPassCar(UserInStr As String) As String
Dim i As Long
For i = 1 To Len(UserInStr)
GetPassCar = GetPassCar & GetUserCar(Mid(UserInStr, i, 1))
Next
End Function