2楼代码,3楼代码,针对英文字符,如果你用于中文,那需要换个方法计算宽度。
汉字的宽度是英文字母的2位,但使用 len 时,长度都是1,错误就产生在这里。
LenB(StrConv(字符串, vbFromUnicode))
用这个命令代码那个 len(字符串)
lenb 占用字节数,汉字算2个,英文算1个,但 Unicode 也算2个
所以,直接lenb(字符串)的结果是 len(字符串)的2位,错误。
StrConv(字符串, vbFromUnicode) 把VB Unicode 字符串,转化为 ANSI 格式字符串
如果保存这种字符中,使用 byte 数组
汉字的宽度是英文字母的2位,但使用 len 时,长度都是1,错误就产生在这里。
LenB(StrConv(字符串, vbFromUnicode))
用这个命令代码那个 len(字符串)
lenb 占用字节数,汉字算2个,英文算1个,但 Unicode 也算2个
所以,直接lenb(字符串)的结果是 len(字符串)的2位,错误。
StrConv(字符串, vbFromUnicode) 把VB Unicode 字符串,转化为 ANSI 格式字符串
如果保存这种字符中,使用 byte 数组
授人于鱼,不如授人于渔
早已停用QQ了