Dim str As String str = "Give me a 美女" Dim L1 As
Long Dim L2 As Long L1 = Len(str) L2 = LenB(str) Debug.Print
L1,
L2 这个代码运行得很好,完全符合我的想像,在立即窗口中显示了12,24,
Dim str As String str = "Give me a 美女" Dim L1 As Long Dim L2
As Long L1 = Len(str) L2 = LenB(str) Debug.Print L1,
L2 TextOut Me.hDC, 100, 100, str,
L1 结果我发现不对?看来是字符串长度不对,想起来了,在VB中字符串是BSTR型的,那么应该用L2作长度,对不对呢,试试就知道了。
天呀,在字符串后出现了天书,难道是上帝在暗示我什么时候给我一个美女?
不过我想上帝没有这么快就会答应我,因此一定是我的代码有问题。
当我正在沉思的时候,所有的人都在观注着我。没办法,太帅了。
所以我又迅速写下了以下的代码
Private Declare Function LenANSI Lib "kernel32" Alias "lstrlenA"
(ByVal string1 As String) As Long …… Dim str As String str =
"Give me a 美女" Dim TrueLen As Long TrueLen = LenANSI(str) TextOut
Me.hDC, 100, 100, str,
TrueLen 当我快速地按下F5后,天空中便有了回响,“Give me a
美女”这句话已得到了正确的响应。