怎样判断文本框的值的长度,用Len()函数为中文汉字时是作为一个字节处理,而不是两个字节但数据库作为两个字节处理,会出错!用什么API函数判断长度?

zzj 2000-07-19 11:19:00
...全文
642 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shines77 2000-08-09
  • 打赏
  • 举报
回复
返回正确的字长:LenB(StrConv("我的Strings",vbFromUnicode))
返回值是:12
boodweb 2000-08-09
  • 打赏
  • 举报
回复
I'm sorry that i 've mistake your meaning
sorry
boodweb 2000-08-09
  • 打赏
  • 举报
回复
api:GetTextExtentPoint32
BOOL GetTextExtentPoint32(
HDC hdc, // handle to device context
LPCTSTR lpString, // pointer to text string
int cbString, // number of characters in string
LPSIZE lpSize // pointer to structure for string size
);
FROM A VC LEARNER

prefix 2000-08-09
  • 打赏
  • 举报
回复
Lenb(StrConv(YourString,vbFromUnicode))
coolyangbo 2000-07-22
  • 打赏
  • 举报
回复
LenB(StrConv(Trim(T1(0).Text), vbFromUnicode)) > 40
Tyro 2000-07-19
  • 打赏
  • 举报
回复
用lenb函数即可
TopHead 2000-07-19
  • 打赏
  • 举报
回复
你可以用Lenb这个函数啊,它可以取出字节数,举例如下:
Dim strTmp As String
strTmp = "汉"
Debug.Print Len(strTmp) & "-" & LenB(strTmp)

会生成
1-2

不知道能不能解决你的问题:)
mafangsan 2000-07-19
  • 打赏
  • 举报
回复
Len 函数
返回 Long,其中包含字符串内字符的数目.

注意 LenB 函数作用于字符串中的字节数据,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。
liyang 2000-07-19
  • 打赏
  • 举报
回复
Public Function lena(a As String) As Long
Dim I As Long
Dim j As Long
j = 0
For I = 1 To Len(a)
If Asc(Mid(a, I, 1)) < 0 Then j = j + 1
Next I
lena = I + j - 1
End Function
liyang 2000-07-19
  • 打赏
  • 举报
回复
lenb不解决问题。lenb("a")还是2
Un1 2000-07-19
  • 打赏
  • 举报
回复
l = Lenb(strconv("slakfdjsd哈哈”“",vbFormUniCode))

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧