 |
这挺麻烦,虽然VB提供MidB等函数,但实际在中文Win95下不能正常工作,所以尽量不要把汉字拆开处理。如果真的有必要,可以将String类型转换为Byte数组再行处理。比如:
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(pDest As Any, _
pSource As Any, _
ByVal ByteLen As Long)
Private Sub Command1_Click()
Dim s As String, bBytes() As Byte
Dim n As Long, i
s = "问专家"
n = lstrlen(s)
ReDim bBytes(n - 1) As Byte
CopyMemory bBytes(0), ByVal s, n
For i = 0 To n - 1
Print Hex(bBytes(i)); " ";
Next
End Sub
NewViewStudio的意见:
最简单办法是
Dim A() AS Byte,S as String
S="问专家"
A=StrConv(S,vbFromUnicode)
然后在对A(X)进行其它操作,上面的打印程序正确
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 其他方面, 。
|