字符串等长 哪位高手能帮帮小弟我啊 多谢
字符串等长 谁能帮帮我啊 谢谢
N个字符串 每个字符串的长度不一,如下
dim A as string
dim B as string
dim C as string
dim D as string
a = "客户姓名:某某"
b = "客户类型:vip"
c = "联系地址:NO"
d = "联系电话:??????????"
因为我要把这些数据导出到txt中,如果不处理的话,左右就对不齐了 ,谢谢各位老师
补充: 我刚发现一个问题 有两个text控件,每一个控件我用TextWidth测试过 都是等长的 但print到文本文件 两行内容就不一样长了,实在不明白
我的等长代码如下:半角的我测试过textwidth为90,全角为180
Dim A As String
A = Text1.Text
Dim AA As Long
AA = 2700 - TextWidth(A) '1700为90的整倍数
AA = (AA / 90)
Dim BB As Long
For BB = 1 To AA
A = A & " "
Next
------解决方案--------------------
你的标题误导大家了,字符串等长并不能保证输出、显示的时候等长,那个取决于字体,只有在等宽字体的时候才能保证一致。
------解决方案--------------------
现在的 Win系统一般都是 XP或更高版本的了。
“宋体”不是等宽字体,“新宋体”才是等宽的。
你要在注册表中设置记事本的字体,在这个位置:
HKEY_CURRENT_USER\Software\Microsoft\Notepad
它下面有个字符串项:lfFaceName
这个就是设置字体名称的。
还有一个问题是,你不能简单的用 Len() 或 LenB()的结果来确定“长度”是否相同,看得出来你的内容是‘中西结合’的,这种情况下,Len()或LenB()相同,显示宽度未必相同。
你必须自己写个函数来处理“字符串长度”问题。
N个字符串 每个字符串的长度不一,如下
dim A as string
dim B as string
dim C as string
dim D as string
a = "客户姓名:某某"
b = "客户类型:vip"
c = "联系地址:NO"
d = "联系电话:??????????"
因为我要把这些数据导出到txt中,如果不处理的话,左右就对不齐了 ,谢谢各位老师
补充: 我刚发现一个问题 有两个text控件,每一个控件我用TextWidth测试过 都是等长的 但print到文本文件 两行内容就不一样长了,实在不明白
我的等长代码如下:半角的我测试过textwidth为90,全角为180
Dim A As String
A = Text1.Text
Dim AA As Long
AA = 2700 - TextWidth(A) '1700为90的整倍数
AA = (AA / 90)
Dim BB As Long
For BB = 1 To AA
A = A & " "
Next
------解决方案--------------------
你的标题误导大家了,字符串等长并不能保证输出、显示的时候等长,那个取决于字体,只有在等宽字体的时候才能保证一致。
------解决方案--------------------
现在的 Win系统一般都是 XP或更高版本的了。
“宋体”不是等宽字体,“新宋体”才是等宽的。
你要在注册表中设置记事本的字体,在这个位置:
HKEY_CURRENT_USER\Software\Microsoft\Notepad
它下面有个字符串项:lfFaceName
这个就是设置字体名称的。
还有一个问题是,你不能简单的用 Len() 或 LenB()的结果来确定“长度”是否相同,看得出来你的内容是‘中西结合’的,这种情况下,Len()或LenB()相同,显示宽度未必相同。
你必须自己写个函数来处理“字符串长度”问题。