啊不好意思,代码是这样的:
Dim Name_Sarch As String,Found As Integer,RecNum As Long,TmpPerson As PersonInfo
Name_Search = InputBox("范围:","查找")
Name_Search = UCase(Name_Search)
Found = False
For RecNum = 1 To LastRecord
Get #FileNum,Recnum,TmpPerson
If Name_Search = UCase(Trim(TmpPerson.Name) then
Found = True
Exit For
End If
Next
If Found = True Then
...
Else
MsgBox Name_Search + "Not Found!!"
End If
End Sub如果在“InputBox”中输入中文,则激活MsgBox;如果输入英文则显示正常的查找结果。
Dim Name_Sarch As String,Found As Integer,RecNum As Long,TmpPerson As PersonInfo
Name_Search = InputBox("范围:","查找")
Name_Search = UCase(Name_Search)
Found = False
For RecNum = 1 To LastRecord
Get #FileNum,Recnum,TmpPerson
If Name_Search = UCase(Trim(TmpPerson.Name) then
Found = True
Exit For
End If
Next
If Found = True Then
...
Else
MsgBox Name_Search + "Not Found!!"
End If
End Sub如果在“InputBox”中输入中文,则激活MsgBox;如果输入英文则显示正常的查找结果。
不知道asc(UCase(E_word))是97-122或asc(Lcase(E_word))是65-90管用吗?
你这样取值会得到乱码的!
呵呵…………
不信你在代码中插入这一行:
msgbox TmpPerson.Name
不过 mid("中国",1,1)的确是显示的"中",并且mid("中a国,1,2")="中a"
if asc(mid(new_search,l,1))<0 then exit for
next
返回一个 Integer,代表字符串中首字母的字符代码。
语法
Asc(string)
必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。
说明
在非 DBCS 系统下,返回值范围为 0 – 255 。在 DBCS 系统下,则为 -32768 – 32767。
注意 AscB 函数作用于包含在字符串中的字节数据,AscB 返回第一个字节的字符代码,而非字符的字符代码。AscW 函数返回 Unicode 字符代码,若平台不支持 Unicode,则与 Asc 函数功能相同。
这个问题,如果你有王国荣的api的那本书,可以看一看,上面有专门的讲解