源码资源
 
Photoshop
 
     

利用lstrlen计算中英文混合字串的长度
加入日期: 2006-12-20     关键字: lstrlen,字符长度
文章来源: 沐风经典     文章作者: 佚名     责任编辑: 第七乐章
添加收藏夹    打印此页    关闭窗口
  收藏此页到  365Key网摘  天极网摘  博采文摘  和讯网摘  人人网摘

在 32-bit 版本的 VB 底下, 将每一个字符都视为两个 Byte, 所以
Len("中英Mixed") 等于 7
LenB("中英Mixed") 等于 14
但是在很多场合底下, 我们希望中文字长度以 2 计算, 英文字母长度以 1 计算, 此时使用的方法如下:
' 欲计算字串 S 的长度
N = 0
For I = 1 To Len(S)
C = Asc(Mid(S, I, 1)) ' 取得第 I 个字符组的字符码
If C >= 0 And C <128 Then ' 英文
N = N + 1
Else ' 中文
N = N + 2
End If
Next
看起来程序有点罗唆, 如果您不喜欢这个方法, 可以使用 Windows API 的 lstrlen 函数, 假设假计算 S 的长度, 则 API 声明式如下:
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
而调用的叙述则是:
n = lstrlen("中英Mixed" + Chr(0))
Print n ' n 将等于 9
请注意调用 lstrlen 时必须加上 Chr(0), 因为此一函数是根据 Chr(0) 来判断字串的结束。
调用 lstrlen 除了程序比较简短之外, 速度也比我们写 VB 程序判断中英文字然后计算长度来的快。

Google搜索 本站


站内搜索:
 





相关文章:
快速导航
 

[VB编程]

系统控制 窗口界面 网络应用 文件操作 图形方面 字符串 多媒体 数据库 其他方面 游戏编写
[网页制作]
制作技巧 建站理念 新手上路 高级应用 ASP技术
[Flash制作教程]
Flash制作
[资源下载]
VB源码下载 建站资源 Flash源码
[沐风软件]
沐风网页三叉戟 下载 注册
  FlashRun 下载 注册
[沐风服务]
域名注册 主机空间 建站服务

关于我们 |  项目合作 | 版权声明  |  | 
闽ICP备05001148号
本站为非盈利性质网站,所开展的一些业务旨在维持网站运转。主机租用、域名注册服务由亿讯网络提供。
沐风经典网友交流群:7738284
©2005 沐风工作室™. 版权所有